获取当前 Cardboard 头部位置的替代方法

Alternative to get current Cardboard head position

我从 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 已弃用。 有没有人找到替代方法来找到 Head 位置?

每当有新的插件更新时,请在更新前阅读发行说明。 release note提到很多东西都改名了。

你实际上应该得到 namespace 错误而不是警告。这意味着您没有按照推荐的方式安装更新。请按照说明删除旧的 cardbaord 目录,然后下载并导入 GoogleVRForUnity.unitypackage.

中的所有内容

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