我正在使用一个垫来控制另一个物体的旋转。 我必须解决的第一个问题是,当使用RotateAround时,当我从前到后改变时,x轴会反转。
我用它修理了它:
if (lookAtItem.position.z - camera.transform.position.z > 0)
{
camera.RotateAround(lookAtItem.position, Vector3.right, _ComandValues[5] * _RightStickScale);
}
else
{
camera.RotateAround(lookAtItem.position, Vector3.left, _ComandValues[5] * _RightStickScale);
}
我只是使用这个位置来理解我是否在给定对象的后面或前面。
现在出现第二个问题:
当lookAtItem.position.z - camera.transform.position.z
大约为0且我尝试围绕x轴旋转时,程序从lookAtItem.position.z - camera.transform.position.z > 0
变为lookAtItem.position.z - camera.transform.position.z < 0
的速度太快,让相机变得疯狂(我是旋转相机。)
所以有人知道发生了什么事吗?
答案 0 :(得分:0)
好的,所以我在提出问题后2分钟修好了。 -_-
请注意,我之所以能够使用此解决方案只是因为相机有一个外观脚本,其中项目可以作为目标旋转(如果你没有那么你必须用正交基础来大声哭泣)。
解决方案:
用以下代码替换代码:
camera.position += camera.transform.up * _LeftStickScale * _ComandValues[5]