本文将由来自IdentityMine/Valorem的René为大家分享使用Unity开发HoloLens的一些成果和学习经验。

我们的团队开发了很多不同情景下的 HoloLens应用和游戏。这里无法全部说明,大家可以观看下面的视频和截图简单地感受一下我们所做的内容。
154935kl1lblt8biztbbj1.jpg
HOLOLENS模拟器
由于 HoloLens设备有限,并非团队的全部成员都能接触到它们,因此我们的实时飞行数据可视化应用HoloFlight的大部分内容都是通过 HoloLens模拟器和专为HoloLens构建的 Unity版本开发出来的,所有人都可在这里免费下载。

HoloLens是搭载 Windows 10的设备, HoloLens模拟器是一个 Hyper-V虚拟机。更多相关的系统配置要求请在此查看。输入如手势和传感器都是使用 PC的键盘鼠标或者 Xbox来模拟的。

发布
发布 Unity游戏/应用到模拟器的方法很简单。只需像其他平台一样为HoloLens构建Unity应用。然后在Visual Studio的解决方案下拉菜单中, 选择正确的目标平台和设备输出即可。
154949tk66qa6uhgaftkht.jpg
模拟器输入
模拟器可以模拟位置的变化(使用者的移动),和角度的变化(使用者头部的转动),手势,手甚至语音指令。


位置和旋转
旋转的模拟是通过按下鼠标左键并移动鼠标实现的。位置的模拟是通过键盘的 W, S, A, D和 Page Up/Down按键实现的。

手势和手
Air-tap手势(相当于鼠标左键单击)可以通过单击鼠标右键模拟;tap(air-tap手势)+保持(其实就是air-tap手势点完后保持不动)用来手动拖动滑动条的手势, 可以通过同时按下Alt按键和鼠标右键来模拟。内置可以打开Windows 开始菜单的bloom手势由键盘上的 Windows按键模拟。

声音和语音识别
HoloLens是搭载 Windows 10的设备,因此它支持微软的声控助手 Cortana来进行语音识别,并可以很好地用于 HoloLens的模拟器。

更多内容
手和头部的旋转以及更多的模拟功能都可以实现。详细的全部模拟器模拟输入内容可以在这里找到。

空间映射
HoloLens是一个完全不受限的设备,它可以渲染全息图像,撇开这点来说,Hololens另一个独特的功能是可以持续的扫描周围环境,并为应用不断的提供周边环境的空间映射。这个功能令人印象深刻,可以看到下面的视频中,当球滚下过程中会碰到真实的院子中的物体。
当然模拟器也支持空间映射,甚至效果更好,它可以加载不同的环境/房间进行测试。
这些房间可以通过读取设备的 .xef文件获得,因此可以使用 HoloLens设备扫描环境,保存扫描到的环境数据, 之后可以加载到模拟器中使用。例如,下方的截图展示了一个真实的楼梯空间映射加载到模拟器中的情况。
155019maowcw2w0sr0ufs2.jpg
与下方使用 HoloLens设备看到的场景类似。
155058ulx7ftmttt6nz760.jpg
更多的关于模拟器和房间的功能的详细信息可以点此查看。

小结

HoloLens工具集提供了开发HoloLens应用所需的全部资源,包括非常逼真的神奇模拟器。而且这些工具都是免费的!当然与真实设备的效果还是有些差距,最终还是需要真实的机器来优化性能和用户体验,但刚开始做的时候模拟器可以发挥很大作用。我们在分布式团队中就利用模拟器来加速开发,这样可以克服真实设备不够的限制,对于我们团队来说是不错的选择。

155134trc379nnn9hnatzd.jpg
作者简介:

René Schulte是 IdentityMine / Valorem Consulting公司Immersive Experiences(沉浸体验)部门的主管。他有超过10年的 VR、AR、MR开发经验,并且从2015年开始从事 HoloLens开发。
他经常在 //build, Unite,NDC这类大会上做演讲,并且撰写了多篇开发主题文章。
René Schulte创建了并维护了很多著名的 Windows开源库例如 WriteableBitmapEx和增强现实库 SLARToolKit,因为 René Schulte在社区的杰出贡献,他荣获了 Microsoft MVP Award。

原文链接:https://blogs.unity3d.com/2016/08/18/developing-for-hololens-with-the-emulator/
感谢Unity官方翻译组成员“fubb”对本文翻译所做的贡献。
转载请注明来源:Unity官方中文社区 (forum.china.unity3d.com)。请勿私自更改任何版权说明信息。锐亚教育

锐亚教育 锐亚科技 unity unity教程