我从 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提到很多东西都被重命名了。
您实际上应该收到命名空间
错误而不是警告。这意味着您没有按照建议的方式安装更新。请按照说明删除旧的 cardbaord 目录,然后下载并导入 GoogleVRForUnity.unitypackage
中的所有内容。
它提到 Cardboard.SDK
现在是 GvrViewer.Instance
。所以 Cardboard.SDK.HeadPose.Orientation
现在应该是 GvrViewer.Instance.HeadPose.Orientation;
关于c# - 获取当前 Cardboard 头部位置的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38235031/