Как заблокировать rigidbody.position по осям x и z?

Как сделать так, чтобы через код заблокировать position у Rigidbody только по осям x и z?

Вот такой код:

if (freezePositionXZ)
{
    rgbd.constraints = RigidbodyConstraints.FreezePositionX;
    rgbd.constraints = RigidbodyConstraints.FreezePositionZ;
}

Не работает, и в итоге блокируется только z.

Я так понимаю, такая команда позволяет заблокировать только одну ось. Что тогда делать?


Ответы (1 шт):

Автор решения: Anton Nikolaev

Например так

using UnityEngine;

public class Example : MonoBehaviour
{
    Rigidbody m_Rigidbody;

    void Start()
    {
        m_Rigidbody = GetComponent<Rigidbody>();
        m_Rigidbody.constraints = RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionZ;
    }
}

Вы можете использовать побитовый оператор OR для объединения нескольких ограничений.

→ Ссылка