我有一个在半球上移动的轨道相机。我有一架飞机,上面有一些其他物体。在场景中间有一个空物体,我将其用作相机的支点,一切都按预期工作。我说 sempisphere 是因为我不想进入飞机“下方”,事实上我有一个控制装置可以避免它。
现在我想看一个物体并朝那个方向平稳旋转。为此,我使用了这段代码:
void Update () {
// Smoothly rotates towards target
Vector3 targetPoint = myobj.transform.position;
Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position, Vector3.right);
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 2f);
}
最佳答案
除非你真的想把向上的方向指定为“Vector3.right”,去掉第二个参数即可:
void Update()
{
// Smoothly rotates towards target
Vector3 targetPoint = myobj.transform.position;
Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 2f);
}
关于c# - Unity - 半球中的 Quaternion.Slerp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51479611/