trensim.comSimulación Ferroviaria
   

Control animaciones con script

Foro destinado a la discusión de aspectos relacionados con la creación de scripts en RailWorks.

Moderador: Moderadores

Control animaciones con script

Notapor blas_dani » Jue Nov 08, 2012 7:39 pm

Hola:

Estoy haciendo experimentos con animaciones controladas via script y pese a que creo tener la teoria clara, en la práctica las cosas no van como espero.

Veamos, tengo una animación en max de 16 frames que funciona OK, con dos keys, una en el frame 0 y otra en el 16. Es una rotación de -45 a +45 . Inicialmente necesito que el objeto animado esté en 0 ( frame 8 ). Para ello uso:

Call("*:AddTime", "animacion", 0.5 )

La duda existencial es el 0.5 que representa? para mi, coloca la animación a la mitad del tiempo, es decir el frame 8. Pues no.
La animación sale como si estuviera en el último frame.

Si pongo:

Call("*:AddTime", "animacion", 0.25 ) me sale cerca del punto medio, es decir entre frame 7 y 8, cosa que tampoco entiendo.

El que sea una animación de rotación implica algo?

Saludos.
Avatar de Usuario
blas_dani
 
Mensajes: 2863
Registrado: Jue Sep 11, 2003 1:00 pm
Ubicación: Barri de Gràcia. Barcelona

Re: Control animaciones con script

Notapor asdru » Jue Nov 08, 2012 7:47 pm

Donde metes esa sentencia?

En Function Update ( inteval ) o Function Update (time) ?
Imagen
Avatar de Usuario
asdru
 
Mensajes: 1049
Registrado: Mar Mar 09, 2004 8:50 pm
Ubicación: Un dia en Madrid y otro en Pamplona

Re: Control animaciones con script

Notapor blas_dani » Jue Nov 08, 2012 7:55 pm

Hola:

En update(time)

Bo sabia que hubiera una update(interval) que diferencia hay?

Saludos.
Avatar de Usuario
blas_dani
 
Mensajes: 2863
Registrado: Jue Sep 11, 2003 1:00 pm
Ubicación: Barri de Gràcia. Barcelona

Re: Control animaciones con script

Notapor asdru » Jue Nov 08, 2012 8:07 pm

Yo tambien estoy haciendo pruebas parecidas con resultados hasta ahora poco efectivos, pero creo que uno actualiza sentencias frame a frame y con update ( time ) puedes controlar el timming...

Pero tampoco he conseguido entenderlo todavía... a ver si Repo nos puede iluminar un poco. :roll:
Imagen
Avatar de Usuario
asdru
 
Mensajes: 1049
Registrado: Mar Mar 09, 2004 8:50 pm
Ubicación: Un dia en Madrid y otro en Pamplona

Re: Control animaciones con script

Notapor HANNIBAL SMITH 2 » Jue Nov 08, 2012 8:11 pm

blas_dani escribió:Hola:

En update(time)

Bo sabia que hubiera una update(interval) que diferencia hay?

Saludos.


Creo que es el intervalo de tiempo que en el que se ejecuta el script, x veces cada segundo y no se yo si va controlado por los fotogramas por segundo, esto no lo tengo muy claro. La diferencia esque la de tiempo es una constante y solo depende del tiempo para volver a ejecutar la función.
ME ENCANTA QUE LOS PLANES SALGAN BIEN
Avatar de Usuario
HANNIBAL SMITH 2
 
Mensajes: 282
Registrado: Sab Sep 08, 2012 8:06 pm

Re: Control animaciones con script

Notapor blas_dani » Jue Nov 08, 2012 9:18 pm

Hola:

Creo que he dado con la respuesta a mi problema. El quid del asunto está en la animación, no en el script.

Mi animación es de 16 frames y esta exportada a 30fps (NTSC). Por tanto, .5 del framerate son 15, no 8. De ahí que se fuera la animación al final.

Si bajo el framerate a 16, entonces el Call con .5 me muestra la animación justo en el octavo frame, en la mitad de la animación.

Si quiero aumentar la 'resolución de la animación' debo aumentar el framerate y las frames en el max.

Ya puedo cenar tranquilo ;-)

Saludos.
Avatar de Usuario
blas_dani
 
Mensajes: 2863
Registrado: Jue Sep 11, 2003 1:00 pm
Ubicación: Barri de Gràcia. Barcelona

Re: Control animaciones con script

Notapor asdru » Jue Nov 08, 2012 10:20 pm

Yo ya he cenado, pero me acabas de solucionar el asunto de otra animacion a mí tambien :app:
Imagen
Avatar de Usuario
asdru
 
Mensajes: 1049
Registrado: Mar Mar 09, 2004 8:50 pm
Ubicación: Un dia en Madrid y otro en Pamplona

Re: Control animaciones con script

Notapor javierfl » Jue Nov 08, 2012 10:59 pm

Muy buena la solución. Para anotar.

Saludos:

Javier.-
Avatar de Usuario
javierfl
grupo TrenSim
 
Mensajes: 9620
Registrado: Sab Ago 30, 2003 11:23 pm
Ubicación: Ciudad Astur

Re: Control animaciones con script

Notapor Repo » Vie Nov 09, 2012 7:24 pm

Hola, bien resuelto blas, como consejo, siempre que vayan a usar una animación vía script creen la animación con 30 frames, eso asegura que la animación durará exactamente un segundo y será mucho más facil de manejar con la función AddTime.

Además, para fijar el estado inicial de una animación en el script pueden usar un sencillo juego de variables para que la sentencia se ejecute solo una vez, aun cuando esté dentro de la función Update.

por ejemplo:

Código: Seleccionar todo
function Initialise()

gAnimState = true

end

function Update (time)

   if gAnimState == true then
          Call("*:AddTime", "animacion", 0.5 )
          gAnimState = false
   end

end


Saludos.
Imagen
Avatar de Usuario
Repo
 
Mensajes: 1198
Registrado: Mar Oct 11, 2005 4:27 pm
Ubicación: Santiago de Chile


Volver a LUA Scripting RW

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado