分享HoloLens开发需要注意的一些问题

1.技术分享

对于HoloLens 2的开发,最重要的环节就是MRTK 2.0 的使用。微软这次提供了一个强大而方便的混合现实工具箱(MixedReality Toolkits V2.0)

一个强大的全自动化工具

MRTK2.0 中最重要的就是这个节点,MixedRealityToolkit,里面提供了程序中的所有配置。

你可以在这个界面轻而易举的管理整个程序,但是方便的同时也带来了机制的不透明,大部分时间你不需要了解后台这些系统是如何工作的——直到你遇到了难缠的Bug。

一大堆好用的UX工具箱

MRTK2.0 提供了针对全息图形的大量好用的UX工具集合,让程序猿在没有美术的情况下也可以构筑大部分的HoloLens 2场景,当然要记住MRTK 2.0是跨平台产品,这些UX资源也可以无缝的应用到AR和VR程序上,这是一个很不错的资源库。

语音输入

HoloLens 2有一个很大的进步,就是对中文语音的支持。不仅方便,而且识别率非常高。但是很多时候你会发现你说的汉字在提示框里面会变成一个方块,这是因为默认的组件没有使用中文字体导致。只要你换成相应的中文字体,你会发现效果很好。

特效材质(Shader)里面的一个小问题

MRTK2.0中提供了大量的有趣的漂亮的着色器特效,但是请注意,Stencil特效是需要设置DepthFormat 为 24-bit depth 才能正常显示的。

一个需要小心的bug

MRTK2.0 实现了自己的EventSystem,也就是说你应该删除你之前的EventSystem。这没什么大不了,但可能是新的EventSystem负责处理之后所有的UI,所以有一个比较隐藏不容易触发,但触发之后又极其难找到的Bug,就是如果你在MRTK2的EventSystem出现之前,创造了任何一个UI组件,将会导致之后所有的UI键盘输入失效。其实这个问题不容易触发,但如果使用了多个场景来处理跨平台相关,就非常危险。

分享一下HoloLens开发需要注意的其它一些问题

外部库的使用

在之前,我们的团队用了两个外部的库,一个是模型解析(用来下载网络的模型文件并在本地解析)。另外一个是脚本解析(Lua脚本的解释执行)。在之前X86架构的时候,都可以很容易拿到相应的运行库。但是这次HoloLens 2 选择了极其罕见的平台UWP+ARM64,大部分三方库都没有提供相应的支持,所以这里需要自己来交叉编译相关的库。这个是我们前期准备了很长时间的工作,我们使用了一个比价有趣的办法,就是找一台很罕见的UWP+ARM64笔记本来做交叉编译的环境,在比较前期就解决了开发和测试的问题。

第三方视角和多机互联

第三方视角是HoloLens 项目的一个重要标配了,最早的基于单反的那种笨重的三方视角实现方式基本已经淘汰。现代的做法是通过支持AR的手机或者Pad作为三方视角的实现工具来展示项目空间,当然我们也可以用手机或者Pad作为一个中转服务器,链接多台HoloLens设备一同工作,实现空间的同步。

跨平台

MRTK2.0 已经是一个成熟的库了,可以自己实现跨平台了。这样就给我们提供了这样的一个跨平台方案,不同种类不同平台的设备通过MRTK2的互联方案实现同步。这也大大开拓了使用的形式和环境,比如老师用HoloLens 2教学,学生用iPad来观看老师的操作这种方式。

商务拓展心得

因为HoloLens 2和其他混合现实设备的价格问题,我们很难在C端消费者角度展开项目,而对于商业项目,下面分享一些行业上干货,新进入这个领域的朋友可以一起讨论。

会展&展馆:这个是HoloLens 1 代最重要的行业,能有80%的项目来源于此,主要是沙盘项目,以及部分的机械展示拆解。在HoloLens 2的时代,这个行业会更加有吸引力。但是如你所知,在会展行业并不存在持久性的项目,大部分都是一次性的展示。并不容易形成平台化和产品化。

教育业:这个也是在HoloLens 1代时候就很成熟的行业。教育,特别是职业教育对混合现实带来的虚实结合特别有需求,特别是某些实验课件,比如航空发动机和被解刨的心脏,极其需要数字化替代品来减少课件的消耗。这个行业有一个特点,需要大量低单价的产品(数字课件),特别适合平台化产品的出现。

医疗业:医疗业一直红红火火,特别是疫情期间更是加了一把油。这个行业对科技经费的投入不懈余力,也充满了机会。但是需要注意两点,一是这个行业需要大量的资质和证书。另外是可能很多项目对精度的要求近乎苛刻,混合现实还不能完全达到要求。退一步看,医疗业和教育的结合领域反而是很有潜力的方向。

工业:王冠上的明珠,真正能带来巨大价值的行业。一个汽车行业的老总指着流水线和我说,你只要把这个工序流水线节省一分钟,节省下来的前足够你买无数个HoloLens设备了。如果你只是用HoloLens 2 做一些简单的巡检或者指引项目,那并没有发挥出真正的价值。真正有价值的是HoloLens 2 能成为流水线的一个环节,和底层的机器直接通信,直接操作和反馈流水线和机器的信息。

但是因为行业的特殊性,很难有老板会把工业的接口开放给一个全新的设备,这需要很大的勇气和权力。这样的机遇可遇不可求。

(文章转载自公众号:微软HoloLens;作者:邸锐)