HoloLens 2的机遇和挑战
HoloLens 2 开发者一期一会栏目,今天的话题将跳出微观,由HoloLens国内第一批开发者之一的邸锐来分享他在过去四年的开发经验,MR在不同行业的着力点以及畅想未来。
我所在的团队从2016年九月开始做了将近四年的HoloLens定制软件的开发,去年12月中旬拿到了HoloLens 2,应该是国内的第一批上手开发人员之一。本来计划2020年大展拳脚,借助HoloLens 2的机会把企业好好做强做大,并通过自己的努力给客户带来更多的价值。但如你所知春节后赶上疫情,前面担心健康,后面担心经济。年后几个月新的生意很少,而且一些年前进行的项目都按了暂停按键,压力倍增呀。
我们深知,如果外面环境不好,就退回来修炼内功。把已有的项目做好做精,对技术提前准备积累。期待春天,迎接春天,然后才能享受春天。在这篇文章之后的内容里面,我们整理了之前四年HoloLens 1开发的营业经验和半年HoloLens 2的编码经验与君分享。希望能对进入这个行业的和官网这个技术的朋友有所帮助。
技术分享
对于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的发售,越来越多的人开始了解MR这个领域,也有越来越多的行业开始认可全息混合现实带来的帮助。
因为HoloLens 2和其他混合现实设备的价格问题,我们很难在C端消费者角度展开项目,而对于商业项目,下面分享一些行业上干货,新进入这个领域的朋友可以一起讨论。
会展&展馆:这个是HoloLens 1 代最重要的行业,能有80%的项目来源于此,主要是沙盘项目,以及部分的机械展示拆解。在HoloLens 2的时代,这个行业会更加有吸引力。但是如你所知,在会展行业并不存在持久性的项目,大部分都是一次性的展示。并不容易形成平台化和产品化。
教育业:这个也是在HoloLens 1代时候就很成熟的行业。教育,特别是职业教育对混合现实带来的虚实结合特别有需求,特别是某些实验课件,比如航空发动机和被解刨的心脏,极其需要数字化替代品来减少课件的消耗。这个行业有一个特点,需要大量低单价的产品(数字课件),特别适合平台化产品的出现。
医疗业:医疗业一直红红火火,特别是疫情期间更是加了一把油。这个行业对科技经费的投入不懈余力,也充满了机会。但是需要注意两点,一是这个行业需要大量的资质和证书。另外是可能很多项目对精度的要求近乎苛刻,混合现实还不能完全达到要求。退一步看,医疗业和教育的结合领域反而是很有潜力的方向。
工业:王冠上的明珠,真正能带来巨大价值的行业。一个汽车行业的老总指着流水线和我说,你只要把这个工序流水线节省一分钟,节省下来的前足够你买无数个HoloLens设备了。如果你只是用HoloLens 2 做一些简单的巡检或者指引项目,那并没有发挥出真正的价值。真正有价值的是HoloLens 2 能成为流水线的一个环节,和底层的机器直接通信,直接操作和反馈流水线和机器的信息。
但是因为行业的特殊性,很难有老板会把工业的接口开放给一个全新的设备,这需要很大的勇气和权力。这样的机遇可遇不可求。
一点想法
现在可以考虑杀入某个行业,大部分领域都是处女地,充满了机遇。如果你对效率比较看重,也可以找一些比较成熟的团队合作,现在可以市场上外包一个HoloLens 2,通过你的行业知识和技术团队的配合,可以很快速的开展业务。
总结一下,我们也许正在遭遇人类千年一遇的危机,同时也正是人类千年一遇的大变革。对于风雨之中的企业而言,全息混合现实领域是一个充满机遇的处女地,我们大家加入进来,克服眼下的困难,努力坚持下去,最终一定会迎来行业的春天!
大家一起加油!