marzo 01, 2023

Física de vehículos

Con este último lanzamiento de Evergine, los desarrolladores pueden ahora crear fácilmente simulaciones de física de vehículos. El modelo de física del vehículo se simplifica, eliminando la necesidad de simular cada rueda y chasis como cuerpos rígidos separados conectados por juntas. En su lugar, todo el vehículo se representa como un único cuerpo rígido, lo que no sólo simplifica el modelo de física, sino que también mejora el rendimiento.

Para simular la detección de colisiones de las ruedas, Evergine utiliza ray-casting, que se aproxima al comportamiento de los vehículos del mundo real. Esta solución también simula con precisión la fricción entre el neumático y la superficie.

Los desarrolladores tienen una gran flexibilidad para crear diferentes tipos de vehículos con un número arbitrario de ruedas, propiedades de suspensión, eje de rotación, y mucho más. Esto permite crear simulaciones de vehículos realistas y complejas.

Para empezar con la física de vehículos en Evergine, los desarrolladores necesitan utilizar dos componentes: PhysicVehicle3D y PhysicWheel3D.

 

Componente PhysicsVehicle3D

El componente PhysicVehicle3D ha de añadirse al cuerpo rígido del chasis que el desarrollador quiera convertir en un vehículo. Este componente aplicará fuerzas al cuerpo físico para simular la suspensión, el par motor y las fuerzas de frenado.

Propiedades útiles

Las siguientes propiedades se pueden utilizar para personalizar tu vehículo:

  • SuspensionStiffness: La rigidez de la suspensión es una medida de la fuerza necesaria para comprimir la suspensión de un vehículo.
  • SuspensionCompression:Esta propiedad determina cuánto se comprimirá la suspensión cuando la rueda choque contra un bache u obstáculo.
  • SuspensionCompression: Esta propiedad determina la velocidad a la que el muelle de la suspensión se comprimirá y rebotará. Controla la cantidad de fuerza de amortiguación que se aplica a la suspensión cuando el vehículo encuentra baches o terreno irregular.
  • MaxSuspensionTravel: Representa la distancia máxima que la suspensión puede comprimirse o extenderse. Se mide en unidades de longitud.
  • FrictionSlip: Se refiere a la cantidad de deslizamiento que se produce entre el neumático y el suelo durante el movimiento. El deslizamiento por fricción se modela normalmente utilizando un coeficiente de fricción que representa la relación entre la fuerza tangencial y la fuerza normal entre el neumático y el suelo. Este coeficiente puede ajustarse para simular diferentes niveles de deslizamiento y tracción para diferentes tipos de vehículos y superficies.
  • MaxSuspensionForce: Especifica la fuerza máxima que la suspensión puede aplicar al chasis del vehículo. Se utiliza para limitar el efecto de la suspensión cuando se comprime o estira, evitando que el vehículo rebote demasiado o pierda estabilidad.

¡Controla el vehículo!

Si quieres empezar a utilizar el vehículo, los siguientes métodos pueden resultarle útiles:

  • ApplyEngineForce(force):Este método se utiliza para aplicar la fuerza del motor que se aplicará al vehículo. Esto se puede ajustar para aumentar o disminuir la velocidad del vehículo, y se puede establecer en un valor negativo para ir hacia atrás. La fuerza del motor se aplicará sólo a las ruedas motrices.
  • SetSteeringValue(steering): Este método se utiliza para ajustar el ángulo de dirección del vehículo. Utilice este método para cambiar la dirección del vehículo. El valor de dirección sólo se aplica a las ruedas dirigibles.
  • SetBrake(brake): Indica la fuerza de frenado aplicada por el vehículo. El valor de dirección sólo se aplica a las ruedas rompibles.

Componente PhysicWheel3D

El componente PhysicWheel3D tiene que añadirse a cada entidad que el desarrollador quiera que actúe como rueda del vehículo.

Las siguientes propiedades ayudan a definir, entre otras cosas, los sentidos de suspensión y rotación de las ruedas:

  • WheelRadius: Determina el radio de la rueda.
  • RotationAxis:Se utiliza para definir el eje alrededor del cual gira la rueda. También indica la dirección de avance al aplicar la fuerza del motor. Se especifica en el espacio local de la entidad rueda.
  • SuspensionDirection:Indica la dirección en la que actúa la suspensión de la rueda. También define la dirección del volante. Se especifica en el espacio local de la entidad rueda.
  • SuspensionRestLength:Define la longitud de la suspensión de la rueda cuando el vehículo está en posición de reposo.

Conclusiones

Los componentes PhysicVehicle3D y PhysicWheel3D están totalmente integrados con el motor de física de Evergine, lo que facilita a los desarrolladores aprovechar todas las características y capacidades del motor. Con esta nueva versión, Evergine facilita más que nunca a los desarrolladores la creación de simulaciones de vehículos de alta calidad.

En conclusión, el modelo de física de vehículos de Evergine simplifica el proceso de creación de simulaciones de vehículos permitiendo a los desarrolladores representar todo el vehículo como un único Cuerpo Rígido. Este enfoque no sólo simplifica el modelo de física, sino que también mejora el rendimiento. Los desarrolladores disponen de una gran flexibilidad para crear distintos tipos de vehículos con propiedades personalizables, lo que permite crear simulaciones de vehículos realistas y complejas.

David avila
Author
David Ávila
Plain Concepts Research

¿Ya te vas?

Suscríbete a nuestra newsletter para estar al día de las últimas noticias, casos de éxito y mucho más. 

No mandamos spam y puedes darte de baja en cualquier momento.