无法使用混合现实工具包对可交互游戏对象进行动画处理

时间:2018-11-28 01:22:30

标签: unity3d hololens windows-mixed-reality

我是Unity Engine和Mixed Reality App开发的新手,所以请多多包涵。

我一直在使用Microsoft Unity的Microsoft Mixed Reality Toolkit尝试对游戏对象进行动画处理并将其移动到侧面。一个简单的操作,非常类似于Microsoft通过名为“ InteractableObject”的工具包提供的示例场景(下面提供了信息链接)

Interactable Object - Mixed Reality (Microsoft Docs)

Mixed Reality Toolkit-Unity Interactable Objects and Receivers (Github)

Unity中的此示例场景具有多个可用作“按钮”的对象。使用Mixed Reality Toolkit,即使您希望与用户进行交互以在被选择时执行某种操作的对象也被视为按钮。至少根据我实际上能够找到的文档。这是一系列屏幕快照,描述了我的GameObject的检查器面板和我的对象的容器:

GameObject检查器面板

GameObject Inspector Panel

GameObject容器检查器面板(第1部分

GameObject Container Inspector Panel (Part 1)

GameObject容器检查器面板(第2部分

GameObject Container Inspector Panel (Part 2)

当我将标准光标放在其上时,我试图使单个游戏对象移至侧面。在我提到的示例场景中,对气球对象执行了相同的操作。我创建了动画制作器和状态机,就像在示例中所做的一样,并且以几乎相同的格式设置了我的游戏对象。唯一的不同是,它们自己创建了一个气球对象,而我使用的是我公司的另一组自定义模型。

当我尝试在Unity Editor中播放应用程序时,将光标放在对象上时状态不会改变。我可以使用编辑器强制更改状态,并激活所需的动画,但它不会自行更改状态。我将状态机配置为与Microsoft示例相同,并且将状态变量设置为相同。当光标移到对象上时,它应该从“观察”状态变为“目标”或“观察目标”状态。下面提供了GameObject状态机的屏幕快照以及相关特定转换的检查器面板:

GameObject Animator状态机设置

GameObject Animator State Machine Setup

以观察为目标的过渡检查员小组的观察

Observation to ObservationTargeted Transition Inspector Panel

我仔细检查并验证了混合现实工具包添加的所有组件都是相同的。这包括DefaultCursor,InputManager,MixedRealityCameraParent和Directional Light。我还检查了所有脚本的编码是否相同。我没地方去看了。我将Visual Studio调试器附加到Unity中的项目,并已验证它只是不会自行更改状态。但我不知道为什么。我认为问题与过渡的设置有关,但是我找不到问题。所有其他提到的组件都是由Microsoft提供的,不会由我自己更改,也不会在示例场景中更改。

如果其他任何人遇到类似的问题,或者可能知道我在哪里可以找到问题,请告诉我。我什至还没有将该项目构建到UWP应用程序中。

1 个答案:

答案 0 :(得分:0)

我知道已经几个月了,但是您还在寻找解决方案吗?

使用最新版本的混合现实工具包,您可以将任何GameObject用作按钮。只需阅读this documentation。我在Unity项目中有一些多维数据集作为按钮,添加到该多维数据集以使其正常工作的唯一额外组件是Interactable,它来自混合现实工具包

如果要在将光标放在对象上时触发一些动画(或者如果要与Hololens一起使用,请查看它),则可以通过添加新的动画将它们添加到Interactable对象中事件(例如:OnFocus()事件)

希望这对您有帮助