我从Cardboard更新到了GoogleVR,因此不赞成使用某些代码。

我得到播放器的当前头部位置,以计算以下用户轮换。所以我只需要将播放器放在图像前面
自动。这是一个例子:

将玩家移近图片

Vector3 spawnPos = hitObjectPos + hitObjectDirection * spawnDistance;
spawnPos = new Vector3 (spawnPos.x, transform.position.y, spawnPos.z);
player.transform.position = spawnPos;


计算旋转

var headRotation = Cardboard.SDK.HeadPose.Orientation;
Quaternion lookAt = Quaternion.LookRotation (hitObject.transform.position - transform.position);


根据需要执行旋转

Vector3 rot = new Vector3 (0, lookAt.eulerAngles.y - headRotation.eulerAngles.y, 0);
player.transform.rotation = Quaternion.Euler (rot);


但是现在不建议使用Cardboard.SDK.HeadPose.Orientation
有人找到头位置吗?

最佳答案

每当有新的插件更新时,请在更新之前阅读发行说明。 release note提到许多东西已经重命名。

您实际上是想得到namespace错误而不是警告。这意味着您未按照建议的方式安装更新。请按照说明删除旧的cardbaord目录,然后下载并导入GoogleVRForUnity.unitypackage中的所有内容。

它提到Cardboard.SDK现在是GvrViewer.Instance。所以Cardboard.SDK.HeadPose.Orientation现在应该是GvrViewer.Instance.HeadPose.Orientation;

关于c# - 另一种获取当前纸板头位置的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38235031/

10-11 08:08