Unity-使对象在一个轴上朝向相同方向?不行吗

时间:2019-03-17 18:40:56

标签: c# unity3d game-physics

好的,我有主摄像头能够使用Google的Magic Window脚本和iPhone陀螺仪打开所有4个轴。我还有一个存在于地面上的角色,需要面对与玩家相同的方向,即他们要注视的方向。

从我可以看到的是y轴:

enter image description here 这两个对象都不是任何事物的孩子。问题是当我执行此操作以使角色与相机(播放器)的y轴对齐时:

 transform.rotation = new Quaternion(transform.rotation.x, player.transform.rotation.y, transform.rotation.z, transform.rotation.w);

我什么也没得到。香港专业教育学院尝试过其他轴,但y应该是左/右,我不明白这里出了什么问题。

我需要对transform.forward做些什么吗?正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

这可能不是最佳解决方案,但是您可以使用transform.forward,如前所述,删除Y分量并将其转换为四元数。

Vector3 rotation = camera.transform.forward;
rotation.y = 0f;

player.transform.rotation = Quaternion.LookRotation(rotation);