Cuerpo rígido PhysX - Guía del usuario de Lumberyard

Cuerpo rígido PhysX

El componente Cuerpo rígido de PhysX define la entidad como un objeto rígido. Esto significa que la entidad es sólida y puede moverse y chocar con otras entidades PhysX. Por ejemplo, puede agregar Cuerpo rígido de PhysX a la entidad para crear una entidad móvil y sólida, como, por ejemplo, un proyectil.

Puede especificar dos modos principales para un componente Cuerpo rígido de PhysX.

Dinámico

Lumberyard simulará por completo cuerpos rígidos dinámicos y responderá a eventos de colisión con otros cuerpos rígidos. Lumberyard aplicará fuerzas a dos objetos dinámicos que chocan, lo que se traduce en una simulación física realista. La simulación también aplicará una fuerza de gravedad a cuerpos rígidos en modo dinámico. Puede deshabilitar esta característica para cada cuerpo rígido en el componente. Los cuerpos rígidos dinámicos deben usarse para objetos semi realistas como un barril que rueda o un proyectil que cae por la gravedad.

El modo dinámico es la opción predeterminada.

Cinemático

Los cuerpos rígidos cinemáticos no son totalmente simulados como los cuerpos rígidos dinámicos. Puede especificar el movimiento con un script con el método SetKinematicTarget que especifique en el script con C++ o Script Canvas.

Las fuerzas y la gravedad no tienen efecto en un cuerpo cinemático. Utilice esta característica para objetos como, por ejemplo, plataformas móviles, puertas o cualquier cosa que no tenga que simularse por completo mediante la física.

nota

Siempre debe agregar el componente Cuerpo rígido de PhysX al nivel superior de una jerarquía de entidades. Si añade el componente a una entidad secundaria, esto puede provocar conflictos con la transformación del mundo de la entidad y producir un comportamiento indefinido.

El componente Cuerpo rígido de PhysX requiere la gema PhysX.

Para obtener más información, consulte Simulación de comportamiento físico con el sistema PhysX.

Propiedades del cuerpo rígido de PhysX


                Propiedades del componente Cuerpo rígido de PhysX.

El componente Cuerpo rígido de PhysX incluye las siguientes propiedades.

Propiedad Descripción
Initial linear velocity (Velocidad lineal inicial)

Especifica la velocidad lineal inicial para el cuerpo rígido cuando se crea.

Initial angular velocity (Velocidad angular inicial)

Especifica la velocidad angular inicial para el cuerpo rígido cuando se crea.

Linear damping (Resistencia lineal)

Especifica la tasa a la que se pierde la velocidad lineal a lo largo del tiempo, incluso si no actúa ninguna fuerza sobre el cuerpo.

Los objetos con un valor positivo dejarán de moverse cuando no se apliquen fuerzas.

Debe especificar un valor positivo.

Angular damping (Resistencia angular)

Especifica la tasa a la que se pierde la velocidad angular a lo largo del tiempo, incluso si no se aplica torsión sobre el cuerpo.

Un valor positivo dejará de rotar cuando no se aplica torsión.

Debe especificar un valor positivo.

Mass (Masa)

Masa del cuerpo rígido, en kilogramos. Un valor de 0 se trata como una masa infinita.

Valor predeterminado: 1

Sleep threshold (Umbrales de reposo)

La energía cinética por unidad de masa por debajo de la cual el cuerpo rígido entra en un estado de reposo.

Debe especificar un valor positivo.

Start Asleep (Empezar inactivo)

Si se establece, el objeto comenzará en estado inactivo cuando se crea.

Interpolate Motion (Interpolar movimiento)

Si se establece, hace que el movimiento y el estilo de los objetos tengan un aspecto suave.

Establezca esta propiedad para las entidades de su proyecto de juego en el que desea movimientos suaves, como, por ejemplo, vehículos.

Gravity Enabled (Gravedad habilitada)

Si se establece, el cuerpo rígido caerá por la gravedad. Solo se aplica a cuerpos rígidos en modo dinámico.

Cinemático (Cinemático)

Si se establece, el cuerpo rígido utiliza el modo cinemático.

Si no se selecciona esta propiedad, la entidad es dinámica de forma predeterminada.

CCD Enabled (CCD habilitado)

Habilita la detección continua de colisiones (CCD). Esta propiedad es útil para objetos que se desplazan a alta velocidad.

nota

Para establecer esta propiedad, también debe establecer Continuous Collision Detection (Detección continua de colisión) en la ventana PhysX Configuration (Configuración de PhysX). Consulte Configuración del mundo.

Compute COM (Calcular COM)

Si se establece, Lumberyard calcula automáticamente el centro de masa (COM) en el momento de su creación y se actualiza cuando el cuerpo rígido cambia.

Si no configura esta propiedad, puede especificar el desplazamiento en la propiedad Center of Mass Offset (Desplazamiento de centro de masa).

Centro de Mass Offset (Desplazamiento de centro de masa)

Permite especificar el centro de masa manualmente con respecto a la posición del cuerpo rígido.

Esta propiedad solo aparece si Compute COM (Calcular COM) está deshabilitado.

Compute inertia (Calcular inercia)

Si se establece, la inercia se calculará automáticamente en el momento de su creación.

Debug Draw COM (COM de dibujo de depuración)

Si se establece, define el radio de la esfera, en metros.

Creación de una entidad de PhysX dinámica

Una entidad PhysX que es dinámica puede moverse y chocar con otras entidades.

Para crear una entidad de PhysX dinámica

  1. Cree una entidad. Para obtener más información, consulte Creación de una entidad.

  2. En el Entity Inspector, elija Add Component (Añadir componente) y seleccione un componente Mesh.

  3. Para Mesh asset (Recurso de malla), seleccione el recurso de malla, de modo que su entidad sea visible, como, por ejemplo, un box.cgf.

  4. Añada el componente PhysX Collider a la entidad.

  5. Agregue el componente Cuerpo rígido de PhysX a la entidad.

  6. Cree otra entidad para su terreno PhysX. Para obtener más información, consulte el componente PhysX Terrain.

  7. Pulse Ctrl+G para entrar en el modo de juego.

    ejemplo

    La entidad tiene un componente Colisionador de PhysX y un componente Cuerpo rígido de PhysX asociado. Dado que el objeto es dinámico, cae y luego choca con el componente PhysX Terrain.

    
                            Ejemplo animado de una entidad dinámica que cae al terreno y rebota de un lado a otro.
    nota
    • Para el componente Transform, desactive la propiedad Static (Estática). De este modo, se garantiza que la malla se mueve con la física.