trensim.comSimulación Ferroviaria
   

Conseguido: Movimiento de Cabina

Foro para la discusión de aspectos relacionados con la creación de material rodante para RailWorks.

Moderador: Moderadores

Re: Conseguido: Movimiento de Cabina

Notapor Repo » Mar Abr 20, 2010 4:16 pm

javierfl escribió:
Repo escribió:Precisamente estoy trabajando para ver la posibilidad de implementar una reacción en el movimiento de la cabina al pasar sobre los desvíos.
Existe un control llamado "JointCount" que creo podría ser útil. 8)

Por otro lado les contaré que anoche estuve experimentando con el control "Curvature" y según veo solo es cosa de tiempo (un par de semanas) para que pueda darle inclinación al tren durante su paso por las curvas, algo así como un movimiento pendular o quizá para "simular" la presencia de peraltes. La diferencia entre ambas cosas está en si la velocidad influye o no en el efecto de inclinación. Mientras en los peraltes la inclinación debiera darse de modo permanente (aun en el tren detenido en una curva) en la pendulación el efecto solo debiera aparecer al tomar curvas por sobre una cierta velocidad.


Trabajando sobre sonidos de bogies editando blueprints y no scripts, pero creo que los control son los mismos, usé tres variables:

Joincount: cuenta las juntas que se hayan marcado en la vía o desvíos que sean a la hora de crearlos. La reacción del vehículo depende de la vía.
Curvature: tiene en cuenta el radio de curva. Es interesante recalcar que RW usa un valor que es el del 1 dividido por el radio. Por ejemplo, un radio de 300 metros es 1/300= 0.0033, uno de 250 metros 0.004 y así.
AbsoluteSpeed: La velocidad del vehículo en millas por hora.

Sobre los nombres reservados para control, aunque posiblemente ya la conozcas, viene muy bien esta página: http://www.gtraxsims.com/tut/reservedwords.htm Creo que no están todos los que son (por ejemplo no se cita Curvature), pero si que son todos los que están...

Saludos:

Javier.-



Bien Javier, gracias. Lo del control JoinCount no lo acabo de entender, no logro sacarle el valor durante la simulacion, quizá sea porque es un contador, como bien dices, y no una variable que acusa la presencia de cada junta en la vía, no se, creo que tendré que investigar mejor.

Respecto al control curvature este no se llama con la funcion X = Call(*:GetControlvalue, "Curvature") sino que del siguiente modo:

X = Call(*:GetCurvature) y realmente no se que porque se hace esta diferencia cuando en todo el resto de los controles el valor se consigue con "GetControlValue". Algo parecido sucede con AbsoluteSpeed, no hay manera de conseguir por script su valor... Menos mal que tenemos 2 opciones que consiguen exactamente lo mismo:

1.- X = Call(*:GetControlvalue, "SpeedometerKPH") (siempre que este control este declarado en el engine blueprint para usarlo en el velocímetro, si no esta declarado no sirve)

2.- X = Call(*:GetSpeed) algo parecido que con curvature, entrega la velocidad en millas.


Un alcance más respecto al control curvature, como bien dices Javier, el valor del control corresponde a 1 dividido por el radio de la curva, pero yo además he descubierto que si el valor es negativo significa que la curva dobla hacia la izquiera y si el valor es positivo lo hace hacia la derecha, siempre en el sentido de la marcha del tren. Esto último esta probado y requete probado.

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

Re: Conseguido: Movimiento de Cabina

Notapor javierfl » Mar Abr 20, 2010 7:03 pm

Muy interesante lo de los valores negativos de "Curvature". Para lso blueprints de sonidos como con los valores se trazan curvas cartesianas como variables en mi experiencia las detecta en ambos sentidos sólo con valores positivos, pero para los scripts, como has descubierto, posiblemente sea un dato fundamental a tener en cuenta.

El valor Jointcount, al menos en los sonidos, parece una variable que detecta la presencia o no de junta, o al menos así se comporta. Hay que tener en cuenta que en lo que he probado para los sonidos, curiosamente en realidad se comporta siempre como una "junta doble", es decir siempre otorga un sonido de dos ejes aunque haya un sólo solo sound definido. Es decir que suena "tac tac" aunque sólo se haya definido el sonido "tac". O mejor dicho probablemente suena tac-tac / tac-tac (es decir como lo haría un vehiculo de dos bogies de dos ejes al pasar por una junta) cada vez que un vehículo pasa por encima, con independencia de los ejes que tenga o de los sonidos que se hayan definido. He de comprobar esto, pero quizás esto sea una causa del problema que tienes.

Saludos:

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

Re: Conseguido: Movimiento de Cabina

Notapor Repo » Mié Abr 21, 2010 5:09 pm

Bien, intentado resolver problemas se descubren cosas interesantísimas. :D

Había descubierto que el efecto de vaivén, tan bien conseguido por código, lamentablemente solo de daba en el vehículo que lleva al maquinista, es decir, si yo armaba un consist con varias unidades de mi prototipo, solamente el primero se movía y los otros que le seguían permanecían tan estáticos como siempre.

Y esto pasaba aun cuando todas las unidades están compartiendo el mismo script.

Pensando y pensando recordé un post en Uktrainsim donde se hablaba de la última actualización de RW y de algunas de las nuevas innovaciones.

Dos cosas llamaron mi atención; la inclusión de un script para vagones y la incorporación de un nuevo procedimiento llamado "SendConsistMessage". Este último elemento, tradicionalmente usado en los scripts de señales, hoy puede funcionar enviando mensajes entre las distintas piezas de una composición. Por ejemplo, podemos sincronizar los humos de 2 vaporosas que trabajan juntas en múltiple, sincronizar sus movimientos, animaciones, sonidos, etc.

Ahora podemos conseguir que en un tren donde hay 2 locomotoras diesel en la punta se vea el humo del escape saliendo de ambas máquinas y de modo sincronizado.
Podemos además controlar desde el pupitre de nuestra locomotora, cualquier animación de cualquiera de los vagones o coches que llevamos atrás, selectivamente incluso. Todo pasa por el envío de mensajes y los códigos de identificación que podamos crear para tener a mano el mesaje que queramos enviar.

La sintaxis es más o menos así:

En el vehículo que envía:
Código: Seleccionar todo

msg = N                   ------este el indentificador del mensaje, deber ser un número entero a modo de índice.
argument = DATA     ------esta es la variable que guarda el dato que vamos a enviar.
direction = 0/1         ------hacia donde enviamos el mensaje, 0 es para adelante, 1 es para atrás.

--------------------Luego viene el envió propiamente tal

Call( "SendConsistMessage", msg, argument, direction )



En el vehículo que recibe se neceita crear una nueva función (function):
Código: Seleccionar todo

function OnConsistMessage ( msg, argument, direction )

if msg == N then
      Call........bla, bla, bla.       ---acá hagan lo que se necesita con el valor de "argument"
end
end



Ahora, para que el mensaje actue en locomotoras en multiple se deben colocar en el mismo script ambos códigos, el de emisor y el de receptor.

Quizá en un rato publique el código entero, que ahora no lo tengo a mano.

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

Re: Conseguido: Movimiento de Cabina

Notapor frannford » Sab Abr 24, 2010 5:30 am

Muy bien Repo, mis felicitaciones! :app: :app:
Con esto hay posibilidades de que se pueda lograr el movimiento del tren desde la vista exterior?
un cordial saludo y adelante con este proyecto :)
frannford
 
Mensajes: 25
Registrado: Mié Dic 31, 2008 3:15 am

Re: Conseguido: Movimiento de Cabina

Notapor Bermúdez » Sab Abr 24, 2010 9:52 am

frannford escribió:Con esto hay posibilidades de que se pueda lograr el movimiento del tren desde la vista exterior?

En vista exterior ya lo logró: → viewtopic.php?f=34&t=24085
Un saludo. :wink:

https://ferrosim.es - Foro y descargas para TS2020
Avatar de Usuario
Bermúdez
 
Mensajes: 4064
Registrado: Sab Nov 03, 2007 1:22 pm
Ubicación: Teruel, Aragón, España

Re: Conseguido: Movimiento de Cabina

Notapor frannford » Sab Abr 24, 2010 4:30 pm

Gracias Bermudez parece que me habia salteado un capitulo! saludos
frannford
 
Mensajes: 25
Registrado: Mié Dic 31, 2008 3:15 am

Anterior

Volver a Material rodante RW

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 69 invitados