1

我需要一些有关如何按照以下要求为 Daydream 控制器实施 Arm 模型的指导:https ://developers.google.com/vr/distribute/daydream/design-requirements#UX-C1 。

背景/问题:我正在尝试使用 Android NDK 开发一个白日梦应用程序,并使用来自 [1] 等参考文献的 ControllerApi 与像素的控制器交互。但是,Android Daydream SDK / NDK 中似乎没有我们可以使用的任何 GVR Arm 模型帮助程序类,Daydream 的 SDK 文档站点上也没有任何文档指南。

因此,我的问题是:

1) 是否有 GVR Arm 模型辅助类,或者这是开发人员自己实现的东西?如果是后者,是否有关于如何做到这一点的文档?

2)如果我们自己实现它,我们是否可以通过假设来简化问题:

  • 绝对空间中肘关节的固定点(假定的 Vector3f 位置)
  • 前臂和手长然后根据手腕+肘部的旋转计算控制器位置/旋转?还是有单独的推荐方法?

[1] - https://developers.google.com/vr/android/ndk/reference/group/controller#gvr_controller_state_create

4

1 回答 1

0

1) 是否有 GVR Arm 模型辅助类,或者这是开发人员自己实现的东西?如果是后者,是否有关于如何做到这一点的文档?

Android NDK 中不包含 GVR Arm 模型帮助程序类。但是,Unreal 和 Unity Daydream 集成都内置了您可以使用的 Arm 模型代码。我建议使用作为 Unreal 一部分包含的 arm 模型的 C++ 版本。arm 模型不依赖于虚幻代码,因此您应该能够将其集成到您的应用程序中,而无需进行太多重构。

Unreal 中的 C++ Arm 模型的行为类似于 Daydream Home 中的 arm 模型。它公开了相对于用户头部的 Wrist Position 和 Wrist Rotation,以及推荐的 alpha 以渲染控制器,这样它就不会不舒服地夹在用户的头部中。它还提供了一个角度,当指向物体时,激光应从手腕向下倾斜,以获得符合人体工程学的舒适感。可以在此处找到有关 Arm 模型的更多信息:https ://developers.google.com/vr/unity/controller-support

2)如果我们自己实现它,我们是否可以通过假设来简化问题:

我强烈建议您使用 Unreal C++ Arm 模型作为起点,但是您绝对应该随意修改和调整它,以使其适合您的应用程序的需求。

于 2017-04-08T19:41:49.403 回答