在Unity检视器(v5+)中,您有一个“冻结Z”旋转选项,您知道在代码中相应的等效选项是什么吗?该想法是通过C#代码根据某些条件启用/禁用2D对象的Z轴旋转。
RigidbodyConstraint
:transform.rigidbody.constraints = RigidbodyConstraints.FreezePositionZ;
RigidbodyConstraint
常量可以使用 |
运算符进行组合:rigidbody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY;
如果要将此作为2D答案,请使用以下内容:
Rigidbody2D body2d;
void Awake() {
body2d = GetComponent<Rigidbody2D> ();
}
void Update () {
// on this line, calculate condition for freezing rotation
if (condition) {
body2d.constraints = RigidbodyConstraints2D.FreezeRotation;
} else {
body2d.constraints = RigidbodyConstraints2D.None;
}
}