Hololens 和混合现实

这几天拿到了Hololens,把玩了几天,记录一下。

# Mixed Reality

MR的概念其实有些不直观,它更像是AR和VR的结合体。在VR中,用户可以有沉浸式的体验,但也因此无法看到周遭的现实环境;而在AR中,我们总在现实环境中叠加一些虚拟的物体,来提高现实的体验,虽然可以看到现实世界,但目前也受限于移动平台,总觉得差点意思。 而MR与Hololens则是微软拿出来的新解决方案,利用类似眼镜的产品形态,实现了类似AR的效果。但其实除了微软之外,还有Magic Leap也在做类似的方案。

# Hololens 初体验

刚戴上Hololens进行体验的时候,感觉还是挺惊艳的,如果理想化Hololens的显示效果,那真的就像是自己的身边出现了很多完全虚拟的物体,而且我们也可以和它们进行交互。 Hololens在追踪用户头部运动的同时,也会追踪人手的动作,我们可以利用自己的手与虚拟物体进行很自然的交互。

但是Hololens目前还有一些问题,比如显示效果其实有些差强人意,以及续航能力也有些更不上。 即使Hololens提高了佩戴的舒适度,戴一段世界也会有些不舒服。

# Hololens 的开发

作为一个开发者,拿到Hololens自然也不是只是为了使用,而是要利用它做一些开发。

# 到底什么是MR?

我们在进行开发前,其实可以再思考一下,到底什么是Mixed Reality。 我觉得一个比较好的类比是,将MR的体验与三维游戏进行比较。 我们在游玩三维游戏的时候,利用诸如手柄或是键盘之类的控制器,对人物进行控制,而在MR中,我们自己便是那个控制器。 我们在MR中的体验,和在三维游戏里的体验也是很相似的。

# 开发流程

如果能发现和三维游戏一样的话,那么开发用Untiy和Unreal也就不足为奇了。 除了使用这些游戏引擎之外,还可以利用原生DirectX来开发。

如果使用游戏引擎,则还需要MRTK。

P.S. 这里记录一下Unity Plugin开发的一个坑,如果要给UWP平台编译的话,后端需要用II2CPP,而不能用.NET了,几乎所有的教程里都说要用.NET,还是需要留意一下的。