我有一个根据鼠标位置旋转的对象,但我想夹住它,这样它就不会进一步或低于某个值。这是我的代码:
void LookAt () {
float distance = transform.position.z - Camera.main.transform.position.z;
Vector3 position = new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance);
position = Camera.main.ScreenToWorldPoint(position);
position.x = Mathf.Clamp(position.x, -70, 70);
position.z = Mathf.Clamp(position.z, -70, 70);
Vector3 target = new Vector3 (position.x, transform.position.y, position.z); // Use current object positin.y
transform.LookAt(target);
}
但不幸的是它不起作用,它一直在旋转 360。
编辑:这是一个 3D 自上而下的游戏,我有一个坦克,我想旋转它的上半部分。我上面写的代码非常适合这项工作,但现在我不知道如何限制它,所以枪管(我正在旋转的部分)总是面向敌人来自的地方。70 或任何我正在测试的随机值,首先我想弄清楚正确的代码到底是什么,然后确定这些值是容易的部分。