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

标签 c# unity-game-engine google-cardboard google-vr

我从 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/

相关文章:

c# - Entity Framework : Get executed query including parameter types

c# - .Net 中的数据结构在内存中保持异构结构连续

c# - 编译前迭代所有场景

android - 在Android的Cardboard Viewer模式下直接打开Youtube应用的 Intent 是什么

android - 如何反转 Unity Android VR 应用程序的相机/控件?

c# - 如何使用 ImageLocation 将图像放入我的图片框中?

c# - 防止数字在 linq-to-sql 中转换为科学记数法

firebase - Unity 的本地通知(Firebase?)

unity-game-engine - Julia 可以用于游戏引擎 Unity 的编程吗?

android - 如何使用Google CardBoard SDK 实现Google StreetView?