Contexto
En todo videojuego, los objetos de la escena deben tener algún comportamiento; en Unity se utiliza la física. Unity cuenta con un motor de física que provee componentes que manejan la física de los objetos. Existen dos motores de física en Unity, uno para 3D y el otro para 2D. Los conceptos básicos son los mismos para ambos, excepto por las tres dimensiones que se manejan en el 3D.
Al utilizar la física para el 2d, los componentes funcionan en dos dimensiones. Es importante comprender que ambos son comparables, pero no compatibles. Se pueden colocar ambos en una escena, pero no podrán interactuar el uno con el otro.
Explicación
10.1 Componentes
La física 2D de Unity cuenta con auxiliares para distintos tipos de movimientos y comportamientos de los GameObjects.
La física en 2D cuenta con sus propios ajustes, que puedes modificar; da clic en el menú principal, Edit/Proyect Settings/Physics 2D. Estos ajustes contienen propiedades tales, como fuerza, dirección, gravedad, el material por defecto y la capa collision matrix, por mencionar algunas.
A continuación, aprenderás sobre los componentes para la física 2D y sus propiedades.
Haz clic en cada elemento.
Rigidbody es un componente que permite a un GameObject ser afectado por la física 2D. El GameObject también debe tener el componente Collider 2D para interactuar con otros GameObjects.
El Rigidbody se requiere para trabajar con componentes especiales, como las articulaciones 2D. También se utiliza para definir propiedades físicas de un GameObject, tales como masa, gravedad, escala.
Rigidbody 2D tiene una escala de gravedad que permite ajustar la gravedad. El componente Rigidbody 2D permite que un GameObject se vea afectado por la física 2D.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
Para tener presente la física dentro de la escena, los Gameobjects deben utilizar uno de los componentes Collider, para definir su forma física e interactuar con lo más relevante del motor de física.
Existen cuatro tipos de Colliders en la física 2D, optimizados para una figura en particular.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
Propiedades que comparten:
Las demás propiedades sirven para definir la forma de cada uno de los diversos colliders.
Este componente permite añadir física a un objeto 2D; para que un Area Effector funcione, debe estar unido a un GameObject, el cual debe tener un collider 2D.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
El Point Effector 2D aplica fuerzas para atraer o rechazar un punto, que puede ser definido como la posición del Rigidbody o el centro de un collider. Cuando otro collider tiene contacto con el effector, entonces una fuerza es aplicada al objetivo.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
10.2 2D Joints
Los joints, articulaciones en español, funcionan para unir GameObjects. Se pueden unir a GameObjects que tengan el componente Rigidbody 2D.
Existen nueve tipos de 2D joints, a continuación, te explicaremos cada uno de los componentes y sus propiedades.
Haz clic en cada elemento.
El Distance Joint une dos GameObjects controlados por un Rigidbody, manteniendo cierta distancia entre ellos.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
El Fixed Joint 2D se aplica para mantener la posición relativa entre dos objetos, de tal manera que los objetos mantienen una posición y ángulo. Es una articulación de tipo resorte.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
El Friction Joint 2D conecta los GameObjects controlados por la física de Rigidbodys.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
Es un componente 2D que permite al sprite rotar alrededor de un punto, mientras es controlado por la física de un rigidbody 2D, esto quiere decir que el movimiento es restringido para que se mueve como si fuera una bisagra. Se puede utilizar para mover puertas, péndulos, entre otros.
También se puede utilizar Mutiples Hinge Joints para crear una cadena.
Un solo Hinge Joint debería ser aplicado a un GameObject. La bisagra girará en el punto especificado por la propiedad Anchor, moviéndose alrededor de la propiedad Axis específica.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
Esta articulación permite a dos GameObjects, controlados por un Rigidbody, mantener la posición basada en la colocación de cada uno.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
El componente Slider Joint 2D le permite a un GameObject sprite que es controlado por la física de un Rigidbody, deslizarse a lo largo de una línea en el espacio.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
El componente Spring Joint 2D permite que dos objetos, controlados por la física de un Rigidbody, estén juntos, como si fueran un resorte.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
El Target Joint 2D conecta un objetivo específico. Es una articulación de tipo resorte que puedes utilizar para levantar y mover un objeto, utilizando la gravedad.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
Un Wheel Joint 2D es utilizado para simular una rueda rodando, esta rueda utiliza un resorte para mantener la distancia del cuerpo del vehículo.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Propiedades:
10.3 Aplicando Physics a GameObjects
Recuerda que para crear GameObjets puedes hacer uso de imágenes previamente guardadas en tu carpeta de Assets.
En el siguiente ejemplo, vas a crear GameObjects para, posteriormente, agregarles componentes Physics 2D, a los cuales les agregarás material para aplicar el efecto de Deslizar y Rebotar.
En el siguiente video puedes visualizar el funcionamiento correcto de los componentes de Physics 2D, aplicados en la actividad 10:
Cierre
En el tema has aprendido sobre la física en Unity, para qué sirve y cómo se controla. También conociste los componentes de Physics 2D, con los que modificarás el comportamiento de los GameObjects. Puedes usar estos conocimientos para darle valor visual a tu juego.
Pudiste comprobar que los componentes de Physics 2D provocan un gran cambio en el juego y brindan realismo a tus GameObjects.Checkpoint
Asegurate de:
Referencias