Unity how to lock rotation

Unity – Verrouiller la rotation

Sur Unity, nous allons voir comment verrouiller (lock) la rotation d’un objet physique en 2D et en 3D.
Étant donné qu’il s’agit d’un objet physique, il sera attaché par le composant Rigidbody2D pour la 2D et par le composant Rigidbody pour la 3D.

Verrouiller la rotation d’un objet 2D

Pour verrouiller la rotation d’un objet 2D, vous devez cocher « Freeze Rotation » dans l’inspecteur.

Pour une utilisation dans le code on peut mettre la propriété « freezeRotation » à true :

Unity lock rotation 2D
using UnityEngine;

public class FreezeRotation2D : MonoBehaviour
{
    public Rigidbody2D rigidbody2dRef;

    private void Start()
    {
        rigidbody2dRef.freezeRotation = true;
    }
}

Verrouiller la rotation d’un objet 3D

Pour verrouiller la rotation d’un objet 3D, vous devez cocher le « X« , « Y » et « Z » du champ « Freeze Rotation » dans l’inspecteur.

Pour une utilisation dans le code on peut mettre la propriété « freezeRotation » à true :

Unity lock rotation 3D
using UnityEngine;

public class FreezeRotation3D : MonoBehaviour
{
    public Rigidbody rigidbodyRef;

    private void Start()
    {
        // Verrouiller toute la rotation
        rigidbodyRef.freezeRotation = true;
        // ou
        rigidbodyRef.constraints = RigidbodyConstraints.FreezeRotation;

        // Verrouiller selon l'axe X
        rigidbodyRef.constraints = RigidbodyConstraints.FreezePositionX;

        // Verrouiller selon les axes X et Y
        rigidbodyRef.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY;
    }
}

On remarque la différence en 3D, on peut verrouiller un ou plusieurs angles.

Vous pouvez définir l’angle à verrouiller directement en utilisant l’énumération RigidbodyConstraints.

De plus si vous avez besoin de plusieurs contraintes, vous pouvez les ajouter les unes après les autres, séparées par « |« .

Notez que la propriété « constraints » peut également verrouiller la position.

J’espère que cela vous a été utile, désormais vous savez comment verrouiller la rotation dans Unity.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *