Volver a la página principal
martes 11 marzo 2025
4

Cómo usar Rigidbody en Unity

Rigidbody en Unity es un componente que permite simular física realista en objetos 3D, como colisiones, gravedad y movimiento. Se usa para aplicar fuerzas, detectar impactos y controlar dinámicamente la posición y rotación de un objeto dentro de un entorno 3D.

¿Qué es Rigidbody en Unity?

El Rigidbody es un componente de Unity que agrega simulación de físicas a un objeto. Permite que el objeto interactúe con fuerzas externas, colisiones y gravedad, ofreciendo un comportamiento más realista en el juego. Se usa en combinación con otros componentes como Colliders para manejar colisiones de forma adecuada.

Algunas propiedades clave del Rigidbody incluyen:

  • Mass (Masa): Define el peso del objeto en el mundo del juego.
  • Drag (Arrastre): Controla la resistencia al movimiento.
  • Angular Drag (Arrastre Angular): Afecta la resistencia a la rotación.
  • Use Gravity (Usar Gravedad): Determina si el objeto es afectado por la gravedad.
  • Is Kinematic (Es Cinemático): Si está activado, el objeto no será afectado por la física.
  • Constraints (Restricciones): Permite bloquear ciertos movimientos o rotaciones.

Métodos principales de Rigidbody

Método Descripción
AddForce(Vector3) Aplica una fuerza al objeto.
AddTorque(Vector3) Aplica una fuerza rotacional.
MovePosition(Vector3) Mueve el objeto a una posición específica.
MoveRotation(Quaternion) Cambia la rotación del objeto.
Sleep() Detiene la simulación del Rigidbody temporalmente.
WakeUp() Reactiva el Rigidbody si estaba en reposo.

Ejemplos de uso de Rigidbody en Unity

1. Aplicar una fuerza al objeto

using UnityEngine;

public class Mover : MonoBehaviour
{
    public Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        rb.AddForce(Vector3.forward * 500);
    }
}

2. Mover el objeto manualmente

void FixedUpdate()
{
    rb.MovePosition(transform.position + Vector3.forward * Time.deltaTime * 5);
}

3. Aplicar gravedad personalizada

void FixedUpdate()
{
    rb.AddForce(new Vector3(0, -9.81f, 0) * rb.mass);
}

Referencias

Para más detalles, visita la documentación oficial de Unity sobre Rigidbody.

Etiquetas:
csharp unity
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer