在X轴处限制Transform.LookAt()的角度,但不限制轴的旋转

时间:2019-05-06 14:53:00

标签: c# unity3d

如何通过Transform.LookAt()函数限制X轴的角度,以使该角度始终在(-30,30)之间,并且不会超过30度和低于-30度。

transform.LookAt(new Vector3(otherObject.position.x, transform.position.y, transform.position.z));

1 个答案:

答案 0 :(得分:2)

Afaik,您可以改用Quaternion.LookRotation并使用

var direction = new Vector3(otherObject.position.x, transform.position.y, transform.position.z) - transform.position;
var rotation = Quaternion.LookRotation(direction);

rotation.eulerAngles = new Vector3(Mathf.Clamp(rotation.eulerAngles.x, -30, 30), rotation.eulerAngles.y, rotation.eulerAngles.z);

transform.rotation = rotation;

在智能手机上键入内容,因此没有保修,但我希望这个想法会清楚