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

本文基于Win10系统、Unity 2019.4和MRTK 2.4.0版本,介绍了Unity中模拟输入交互的方法,如用按键模拟输入。还阐述了抓取和移动对象、精确移动或旋转对象、使对象响应输入事件等操作,以及添加视觉、音频反馈,添加HoloLens 2样式按钮预制件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

注意:需要的脚本可以通过在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脚本分配到某个对象。不管你处于哪个位置,该对象都会朝向你。可以指定枢轴选项。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值