Visión General de la Física
Colliders

Visión general del Rigidbody

Un Rigidbody es el componente principal que permite el comportamiento físico para un objeto. Con un Rigidbody adjunto, el objeto inmediatamente responderá a la gravedad. Si uno o más componentes Collider son también agregados entonces el objeto será movido por colisiones entrantes.

Debido a que un componente Rigidbody asume el movimiento del objeto el cual está adjunto, usted no debería intentar moverlo desde un script cambiando las propiedades del Transform como lo son la posición y rotación. En vez, usted debería aplicar forces para empujar el objeto y permitirle al motor de física calcular los resultados.

Hay algunos casos dónde usted podría querer que un objeto tenga un Rigidbody sin que sus movimientos sean controlados por el motor de física. Por ejemplo, usted podría querer controlar su personaje directamente desde código script pero también permitirle ser detectado por triggers (ve Triggers a continuación). Este tipo de movimiento no-físico producido desde un script es conocido como movimiento kinematic. El componente Rigidbody tiene una propiedad llamada Is Kinematic que lo quitará del control del motor de física y le permite moverlo cinemáticamente desde un script. Es posible cambiar el valor de Is Kinematic desde un script para permitirle a la física activarse y desactivarse para un objeto, pero esto viene con una carga de rendimiento y debería ser utilizada escasamente.

Consulte las páginas de referencia de Rigidbody y Rigidbody 2D para obtener más detalles sobre la configuración y las opciones de secuencias de comandos para estos componentes.

Sleeping (Durmiendo)

Cuando un Rigidbody se mueve más lento que una velocidad lineal o de rotación mínima definida, el motor de física asume que se ha detenido. Cuando esto sucede, el GameObject no se mueve de nuevo hasta que recibe una colisión o fuerza y, por lo tanto, se configura en modo “sleeping”. Esta optimización significa que no se dedica tiempo de procesador a actualizar el Rigidbody hasta la próxima vez que se “despierte” (es decir, se pone en movimiento de nuevo).

Una vez un rigidbody se esté moviendo menos que una cierta cantidad minima lineal, o velocidad de rotación, el motor de física asumirá que ha parado. Cuando esto suceda, el objeto no se moverá más hasta que reciba una colisión o fuerza y por lo tanto se configurará al modo “sleeping”. Esta optimización significa que ningún tiempo de procesamiento será gastado actualizando el rigidbody hasta la próxima vez que se “despierte” (ie, configurado en movimiento nuevamente). Para la mayoría de propósitos, el adormecimiento y la despertada de los rigidbodies suceden transparentemente. Sin embargo, un objeto podría fallar despertarse si un collider estático (ie, uno sin un rigidbody) sea movido hacia el interior o hacia afuera modificando la posición del transform. Esto puede resulta, digamons, en que el objeto del rigidbody se mantenga en el aire cuando el piso se ha movido debajo de él. En casos como éste, el objeto puede ser despertado de manera explícita utilizando la función WakeUp. Vea las páginas de componente Rigidbody y Rigidbody 2D para más información acerca de dormir.

Visión General de la Física
Colliders