Hololens开发——如何实现凝视、手势和语音交互操作

1、打开Unity,新建项目名为HoloProject,如图所示。

2、在开发前需要导入HoloTookit工具包,我使用的是HoloToolkit-Unity-v1.5.8.0版本,先选择ALL选项,然后选择Import选项。具体步骤如图所示。

3、导入成功后,我们先保存当前场景,取名为Interaction。然后删除Main Camera,我们找到HoloTookit 中Input资源里的Prefabs,将HololensCamera、InputManger、Cursor和CursorWithFeedback组件拖拽到面板中。具体如图所示。

4、准备工作完成后,下面我将分别实现凝视,手势和语音交互的案例实现。我们在面板中新建一个3D Object的Cube,设置Position参数中的z为5。

5、我先实现凝视交互——当视线在Cube上时,Cube颜色变成红色。首先,新建一个C#文件,取名为ColorShowAction.cs。如图所示。

双击ColorShowAction.cs,写入相应代码。如图所示。

写完后,关闭vs,在Cube的管理面板上点击Add Component,输入ColorShowAction。如图所示。

这样我们就完成了凝视交互了,接下来进行效果测试。我们直接在Unity中运行程序。当我们视线不在Cube上时它是原来的白色,当在它上面时就变成了红色。

6、接下来我主要实现两种手势交互即导航手势和操作手势,分别来实现旋转和移动功能。跟刚才一样,新建两个C#文件分别是MoveAction和RotateAction。双击,填写相应代码。如图所示。最后将它们加入到Cube上就可以了。

7、最后通过语音来实现Cube放大和缩小交互。新建一个ZoomAction.cs,打开并填写代码,如图所示。然后加入到Cube上。

语音还需要KeyWordManager.cs才能工作,在Cube上添加KeyWordManager,然后在Keyword中分别输入bigger和smaller,Response()中拖入Cube,输入ChangeScale函数并输入相应Keyword值。如图所示。

8、最后需要生成APP,部署到Hololen上或者Hololens模拟器上来操作Cube。首先更改生成设置,将平台切换成WindowStore,目标设备为Hololens,在PlayerSetting上勾选Virtual Reality Supported和Microphone。如图所示。

然后点击Build会生成vs项目,打开该项目,因为我在Hololens上进行测试,所以设置项目为Realeas,x86,远程计算机,输入hololens的ip地址。