做为一个开发者,从2016年九月开始做了接近四年的HoloLens定制软件的开发,去年11月中旬拿到了HoloLens 2,成为了国内第一批开发人员之一。本来计划2020年大展拳脚,借助HoloLens 2 的机会把企业好好做强做大,并通过自己的努力给客户带来更多的价值。但如你所知春节后赶上疫情,前面担心健康,后面担心经济。年后三个月(2,3,4),不仅没有任何新的生意,而且很多年前一直进行的项目都按了暂停按键,压力倍增。
我们深知,如果外面环境不好,就退回来修炼内功。把已有的项目做好做精,对技术提前准备积累。期待春天,迎接春天,然后才能享受春天。在这篇文章之后的内容里面,我们整理了之前四年HoloLens 1开发的营业经验和半年HoloLens 2的编码经验与君分享。希望能对进入这个行业的和关注相应技术的朋友有所帮助。
技术分享
对于 HoloLens 2的开发,最重要的环节就是MRTK 2.0 的使用。微软这次提供了一个强大而方便的混合现实工具箱(Mixed Reality Toolkits V2.0)。
一个强大的全自动化工具:
MRTK 2.0 中最重要的就是这个节点,MixedRealityToolkit,里面提供了程序中的所有配置。
你可以在这个界面轻而易举的管理整个程序,但是方便的同时也带来了机制的不透明,大部分时间你不需要了解后台这些系统是如何工作的——直到你遇到了难缠的Bug。
一大堆好用的UX工具箱:
MRTK 2.0 提供了针对全息图形的大量好用的UX工具集合,让程序猿在没有美术的情况下也可以构筑大部分的HoloLens2场景,当然要记住MRTK 2.0是跨平台产品,这些UX资源也可以无缝的应用到AR和VR程序上,这是一个很不错的资源库。
语音输入:
HoloLens 2 有一个很大的进步,就是对中文语音的支持。不仅方便,而且识别率非常高。但是你会发现你说的汉字在提示框里面会变成一个方块,这是因为默认的组件没有使用中文字体导致。只要你换成相应的中文字体,你会发现效果很好。
特效材质(Shader)里面的一个小问题:
MRTK2.0中提供了大量的有趣的漂亮的着色器特效,但是请注意,Stencil特效是需要设置DepthFormat 为 24-bit depth 才能正常显示的。
一个需要小心的bug:
MRTK 2.0 实现了自己的EventSystem,也就是说你应该删除你之前的EventSystem。这没什么大不了,但可能是新的EventSystem负责处理之后所有的UI,所以有一个比较隐藏不容易触发,但触发之后又极其难找到的Bug,就是如果你在MRTK 2的EventSystem出现之前,创造了任何一个UI组件,将会导致之后所有的UI键盘输入失效。其实这个问题不容易触发,但如果向我们团队一样使用了多个场景来处理跨平台相关,就非常危险。
在半年期间内基本上摸清楚了大部分MRTK 2.0的使用,也跳进了爬出来很多坑。
分享一下HoloLens开发需要注意的其它一些问题
外部库的使用:
在之前,我们的团队用了两个外部的库,一个是模型解析(用来下载网络的模型文件并在本地解析)。另外一个是脚本解析(Lua脚本的解释执行)。在之前X86架构的时候,都可以很容易拿到相应的运行库。但是这次HoloLens 2 选择了机器罕见的平台 UWP+ARM64,大部分三方库都没有提供相应的支持,所以这里需要自己来交叉编译相关的库。这个是我们前期准备了很长时间的工作,我们使用了一个比价有趣的办法,就是找一台很罕见的UWP+ARM64笔记本来做交叉编译的环境,在比较前期就解决了开发和测试的问题。
三方视角和多机互联:
三方视角是HoloLens 项目的一个重要标配了,最早的基于单反的那种笨重的三方视角实现方式基本已经淘汰。现代的做法是通过支持AR的手机或者Pad作为三方视角的实现工具来展示项目空间,当然我们也可以用手机或者Pad作为一个中转服务器,链接多台HoloLens设备一同工作,实现空间的同步。
跨平台:
MRTK 2.0 已经是一个成熟的库了,可以自己实现跨平台了。让人开心的是MRTK 2.0是完全可以支持不同设备和不同平台的工具箱,不论是微软的UWP,还是谷歌的安卓或者苹果的iOS都可以很好的支持,这样就给我们提供了这样的一个跨平台方案,不同种类不同平台的设备通过MRTK 2的互联方案实现同步。这也大大开拓了使用的形式和环境,比如老师用HoloLens 2教学,学生用iPad来观看老师的操作这种方式。
商业的一点心得
现在是四月末五月初,武汉疫情已经清零,酒店里面的自助餐也开放了,经济有了好转的迹象,听代理商说HoloLens 2国内销售了接近千台(可能这几个月的销量比HoloLens 一代的所有销量都多)。这是一个好兆头,越来越多的人开始了解这个领域,也有越来越多的行业开始认可全息混合现实带来的帮助。
因为HoloLens 2 和其他混合现实设备的价格问题,我们很难在民用展开项目,而对于商业项目,下面分享一些行业上干货,新进入这个领域的朋友可以一起讨论。
会展&展馆:这个是HoloLens 1 代最重要的行业,能有80%的项目来源于此,主要是沙盘项目,以及部分的机械展示拆解。在HoloLens 2的时代,这个行业会更加有吸引力。但是如你所知,在会展行业并不存在持久性的项目,大部分都是一次性的展示。并不容易形成平台化和产品化。
教育业:这个也是在HoloLens 1 代时候就很成熟的行业。教育,特别是职业教育对混合现实带来的虚实结合特别有需求,特别是某些实验课件,比如航空发动机和被解刨的心脏,极其需要数字化替代品来减少课件的消耗。这个行业有一个特点,需要大量低单价的产品(数字课件),特别适合平台化产品的出现。
医疗业:医疗业一直红红火火,特别是疫情期间更是加了一把油。这个行业对科技经费的投入不懈余力,也充满了机会。但是需要注意两点,一是这个行业需要大量的资质和证书。另外是可能很多项目对精度的要求近乎苛刻,混合现实还不能完全达到要求。退一步看,医疗业和教育的结合领域反而是很有潜力的方向。
工业:王冠上的明珠,真正能带来巨大价值的行业。一个汽车行业的老总指着流水线和我说,你只要把这个工序流水线节省一分钟,节省下来的前足够你买无数个HoloLens设备了。如果你只是用HoloLens 2 做一些简单的巡检或者指引项目,那并没有发挥出真正的价值。真正有价值的是HoloLens 2 能成为流水线的一个环节,和底层的机器直接通信,直接操作和反馈流水线和机器的信息。
但是因为行业的特殊性,很难有老板会把工业的接口开放给一个全新的设备,这需要很大的勇气和权力。这样的机遇可遇不可求。吹一下牛,在行业混了四五年之后,我们团队已经开始了这种底层级别的合作。
最后是一点建议
现在可以考虑杀入某个行业,大部分领域都是处女地,充满了机遇。如果你对效率比较看重,也可以找一些比较成熟的团队合作,现在市场上外包一个HoloLens 2 的项目大约需要十万左右的价格,通过你的行业知识和技术团队的配合,可以很快速的开展业务。
总结一下,我们遇到了人类千年一遇的危机,也处在人类千年一遇的机遇之中。对于风雨之中的企业而言,全息混合现实领域是一个充满机遇的处女地,我们加入进来,坚持下去,剩者为王。 让我们期待一起迎来行业的春天。
原创文章,作者:游戏开发极客,如若转载,请注明出处:https://hololens2.cn/hololens-2-%e5%b8%a6%e6%9d%a5%e7%9a%84%e6%9c%ba%e4%bc%9a%e5%92%8c%e6%8c%91%e6%88%98/