使对象出现在相机OCULUS的正前方

本文关键字:OCULUS 正前方 相机 对象 | 更新日期: 2024-10-31 02:50:12

我正在使用C#为Oculus VR制作Unity游戏。

我想测试一个简单的跳跃恐慌,其中物体突然出现在你的"脸"上。

我在设置此对象的位置时遇到问题。现在我将球员的位置和轮换传递给这个函数。

public void ScareMe(Vector3 pos, Quaternion rot){
    girlSmiling.transform.position = new Vector3(pos.x, 0.9f, pos.z-    1.3f);
    //girlSmiling.transform.LookAt (pos);
    girlSmiling.transform.rotation = rot;
   //other irrelevant stuff
}

我需要为我的吓唬(女孩)保持 y 位置,因为在 Oculus 中,您的身高是可调节的,并且与您的环境不符,所以我需要将其保留在 0.9f。我尝试了 LookAt 功能,但它没有我希望它工作得那么好。

问题仍然是,只有当我直视时,女孩才会出现在我面前。当我移动我的头时,这更有可能是Oculus游戏中的真实情况,她出现在右边或左边,甚至在后面。

我不明白为什么会发生这种情况。我怎样才能设置她的位置,让她总是在我面前面对我?

使对象出现在相机OCULUS的正前方

你总是可以尝试让你的吓唬女孩成为你的相机头对象的孩子。这样做,物体将跟随相机头并随之旋转。

girlSmiling.transform.parent = ...Here you can put the transform of the Camera head.
您可以在父级

之前或父级之后定位对象(使用本地位置应该更容易)。

我希望这有帮助,祝你好运!