混合现实开发:您是否在虚拟客厅中放置了扬声器?

我们继续有关Windows Mixed Reality的系列文章,并从头开始开发实验室工作格式的Unity混合现实应用程序。 您自己可以与文章的发布同时创建这样的应用程序。 在这一部分中,我们考虑运动控制器的支持,并将扬声器预制件添加到虚拟客厅。



整个指南将包括5个部分。 它将每周补充一次。 您可以在下面转到所需的部分。

第1部分: 从Unity导出Windows Mixed Reality的UWP应用程序
第2部分: 设置环境(VR)
第3部分: 控制器
第4部分: 空间声音
第5部分: HoloLens和图形

控制器


在实践课程的此阶段,我们将创建扬声器预制件并将其添加到虚拟客厅。 然后,我们向场景添加运动控制器支持,以便用户可以移动和旋转扬声器。

向房间添加扬声器


  1. 转到“项目”面板中的“模型”文件夹,并将Speaker3模型拖到“层次结构”面板中,以使该模型成为根对象,而不是场景对象之一的子对象。
  2. 通过右键单击扬声器并选择重命名来重命名扬声器。 叫他议长。
  3. 选择场景中的Speaker对象,然后在“检查器”面板中更改以下变换属性:

  • 将比例参数设置为(0.02; 0.02; 0.02);
  • 将位置参数设置为(2.68; 0.14; 2)。



添加控制器支持


之前,当我们将“混合现实”参数应用于场景时,我们增加了对运动控制器的支持。

让我们记住这些参数如何影响场景中运动控制器的操作。

  • 我们添加的MixedRealityCameraParent元素具有一个称为MotionControllers的子对象,并且其中包含MotionControllerVisualizer脚本。 该脚本监视并可视化控制器模型(更改其位置,旋转它并处理输入事件)。
  • 我们添加的InputManager对象期望来自各种来源的输入事件。 它的子对象包括鼠标(Mouse),触摸输入(Touch),手势(GesturesInput)和Xbox的对象。 GestureInput对象具有一个InteractionInputSource元素,该元素等待来自InteractionManager的运动控制器事件。 这些是运动控制器事件,将用于控制我们的扬声器。



扬声器控制


为了使用户可以移动和旋转扬声器,应为其添加物理属性-然后我们可以确定视图是针对扬声器的。

  1. 在“层次结构”面板中选择“扬声器”对象,以在“检查器”面板中更改其属性和行为。
  2. 在“检查器”面板中,单击“添加组件”,然后找到并选择Box Collider组件。
  3. 在添加的Box Collider组件中,将Size属性设置为(21,20,53),以使其完全环绕扬声器。

接下来,从“混合现实”工具箱中添加“边界框”行为:

1.在“项目”面板中,导航到Holotoolkit→UX→脚本→BoundingBoxes文件夹(Holotoolkit→UX→脚本→Bounding Boxes),选择BoundingBoxRig.cs脚本并将其拖到Inspector面板中以将其添加到组件中讲者

2.由于我们不需要更改扬声器的比例,因此可以将“比例速率”参数设置为0。

BoundingBoxRig组件将gizmo元素添加到游戏对象(在本例中为扬声器)。 使用Gizmo,用户可以使用运动控制器或HoloLens手势(触摸和操纵)旋转,移动和缩放对象。

3.选择“扬声器”对象后,单击“添加组件”,然后在搜索框中输入“双手可操纵”,然后单击搜索结果中突出显示的脚本。

4.将此组件的“操纵模式”设置为“旋转”,以防止扬声器缩放。

此方案使您可以用两只手来控制对象-使用运动控制器或使用HoloLens中的按住手势。

5.在Project面板中,在Assets→HoloToolkit→UX→Prefabs→BoundingBoxes文件夹中找到BoundingBoxBasic预制件(资源→HoloToolkit→UX→Prefabs→Bounding Boxs)并将其拖到脚本B的Bounding Box Prefab属性中在“扬声器”对象中绑定。

6.还将BoundingBoxBasic预制件拖到“双手可操纵”组件的“边界盒预制”属性上。

预制的BoundingBoxBasic包含在操作过程中呈现的可视元素,因此我们将其添加到每个组件中。



7.在Project面板中,在Assets-> Prefabs文件夹中找到AppBarCustom预制件,并将其拖到扬声器中Bounding Box Rig组件的App Bar Prefab属性中。

我们做了很多改变。 确保“扬声器”游戏对象的“检查器”面板如下所示:



启动应用程序并移动扬声器


保存场景并运行以检查更改。

请尝试以下操作:

  • 选择一个扬声器并移动它(应该监视控制器的信号);
  • 单击扬声器应用程序面板以访问使您可以旋转扬声器的捕捉。
  • 更改扬声器的大小/比例(如果您之前未禁用此功能)。

原创

作者:埃里克·阿尔斯特罗姆(Eric Ahlstrom),巴克莱姆斯(Cbarkerms),麦迪逊·海特

Source: https://habr.com/ru/post/zh-CN418661/


All Articles