Unity+MRTK(1):实现常见空间交互

内容来自官方文档
操作系统:Win10
Unity版本:2019.4
MRTK版本:2.4.0

主要内容

  • Unity中模拟输入交互
  • 抓取和移动对象
  • 精确移动或旋转对象(边界控制)
  • 使对象响应输入事件
  • 添加视觉反馈
  • 添加音频反馈
  • 添加HoloLens 2 样式按钮预制件
  • 实现对象跟随
  • 使对象始终朝向自己

注意:需要的脚本可以通过在Assets文件夹搜索找到
在这里插入图片描述

Unity中模拟输入交互

MRTK 支持编辑器中的输入模拟。 单击 Unity 的播放按钮以运行场景,然后使用以下按键来模拟输入:

  • 按 W、A、S、D 键可移动相机。
  • 在按住鼠标右键的同时移动鼠标可以四处浏览。
  • 按空格键(右手)或左 Shift 键(左手)以显示模拟双手
  • 按 T 或 Y 键以将模拟双手保持在视野中
  • 按 Q 或 E(水平)/R 或 F(垂直)来旋转模拟双手

抓取和移动对象

附加 ObjectManipulator.cs(支持双手缩放旋转) 和 NearInteractionGrabbable.cs脚本,使对象可抓取 ,对象需要有Box Collider组件(组件中的Material属性选择Manipulator Material)。

在 MRTK 文档中详细了解对象处理程序

精确移动或旋转对象(边界控制)

BoundsControl.cs分配到某个对象以使用边界框(用于缩放和旋转对象的界面)。

在 MRTK 文档中详细了解边界控制

使对象响应输入事件

PointerHandler.cs分配到某个对象。 在检查器中,可使用事件 OnPointerDown()OnPointerUp()OnPointerClicked()OnPointerDragged()。若要在脚本中使用这些事件,请实现 IMixedRealityPointerHandler

在 MRTK 文档中详细了解输入系统

添加视觉反馈

  1. Interactable.cs分配到某个对象。可以实现触发(选中、抓取等)时变色。

在 MRTK 文档中详细了解 Interactable

  1. MRTK 标准着色器

创建一个Material,Shader属性选择Mixed Reality Toolkit>Standard。添加到对象上可以实现光标经过对象表面时有高亮。

在 MRTK 文档中详细了解 MRTK 标准着色器

添加音频反馈

将 AudioSource 添加到某个对象。 然后,在公开输入事件的脚本(例如 Interactable.csPointerHandler.cs)中,将带有 AudioSource 的对象分配到该事件,并选择 AudioSource.PlayOneShot()。 可以使用自己的音频剪辑,或从 MRTK 的音频资产中进行选择。

添加HoloLens 2 样式按钮预制件

搜索pressableButton即可找到,拖入场景即可使用,自带选中效果,有Interactable.cs,可以自定义触发事件。

在 MRTK 文档中详细了解按钮预制件

实现对象跟随

RadialView.csFollow.cs脚本分配到某个对象 。此脚本是Solver脚本系列的一部分。会自动添加 SolverHandler.cs。可以指定最小/最大距离和最小/最大视图角度。 以下示例演示如何在 0.4 到 0.8 米范围内以 15° 的视图角度定位对象。

在 MRTK 文档中详细了解Solvers

使对象始终朝向自己

Billboard.cs脚本分配到某个对象。不管你处于哪个位置,该对象都会朝向你。可以指定枢轴选项。

你可能感兴趣的:(#,Hololens2,unity,hololens)