查看原文
其他

Unity中使用模拟器开发Hololens

2016-08-24 Unity官方 Unity官方平台

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


René在VR/AR领域拥有多年的开发经验,并且去年开始就在使用Unity开发Hololens应用,以下内容是René带来的分享:


我们的团队开发了很多不同情景下的 HoloLens应用和游戏。这里无法全部说明,大家可以观看下面的视频和截图简单地感受一下我们所做的内容。


https://v.qq.com/txp/iframe/player.html?vid=p03225tt0x1&width=500&height=375&auto=0



HOLOLENS模拟器由于HoloLens设备有限,并非团队的全部成员都能接触到它们,因此我们的实时飞行数据可视化应用HoloFlight的大部分内容都是通过 HoloLens模拟器和专为HoloLens构建的 Unity版本开发出来的,请点击[阅读原文]查看免费下载地址。

HoloLens是搭载 Windows 10的设备, HoloLens模拟器是一个 Hyper-V虚拟机。更多相关的系统配置要求请点击[阅读原文]查看。人体输入如手势和其它传感器都是使用 PC的键盘鼠标或者 Xbox控制器来模拟的。

发布

发布Unity游戏或应用到模拟器的方法很简单。只需像其他平台一样为HoloLens构建Unity应用。然后在Visual Studio的解决方案下拉菜单中, 选择正确的目标平台和设备输出即可。



模拟器输入

模拟器可以模拟位置的变化(使用者的移动),和角度的变化(使用者头部的转动),手势,手甚至语音指令。


位置和旋转

旋转的模拟是通过按下鼠标左键并移动鼠标实现的。位置的模拟是通过键盘的 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另一个独特的功能是可以持续的扫描周围环境,并为应用不断的提供周边环境的空间映射。这个功能令人印象深刻,可以看到下面的视频中,当球滚下过程中会碰到真实的院子中的物体:


https://v.qq.com/txp/iframe/player.html?vid=r03225rhfuk&width=500&height=375&auto=0


当然模拟器也支持空间映射,甚至效果更好,它可以加载不同的环境或房间进行测试。这些房间可以通过读取设备的.xef文件获得,因此可以使用HoloLens设备扫描环境,保存扫描到的环境数据, 之后可以加载到模拟器中使用。例如,下方的截图展示了一个真实的楼梯空间映射加载到模拟器中的情况。




与下方使用 HoloLens设备看到的场景类似:



更多的关于模拟器和房间的功能的详细信息请点击[阅读原文]查看。


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

作者简介



René Schulte是 IdentityMine / Valorem Consulting公司Immersive Experiences(沉浸体验)部门的主管。他有超过10年的 VR、AR、MR开发经验,并且从2015年开始从事 HoloLens开发。


他经常在 //build, Unite, NDC这类大会上做演讲,并且撰写了多篇开发主题文章。René Schulte创建了并维护了很多著名的Windows开源库例如WriteableBitmapEx和增强现实库SLARToolKit,因为René Schulte在社区的杰出贡献,他荣获了微软MVP。


延展阅读

使用Unity开发Hololens入门教程

玩转Unity资源、对象及序列化(上)

玩转Unity资源、对象及序列化(下)

IL2CPP优化:虚方法调用

IL2CPP优化:避免装箱


更多Unity开发Hololens相关的技术内容,尽在Unity官方中文社区(forum.china.unity3d.com),请保持关注!


点击“阅读原文”进入Unity官方中文社区!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存