2018未来商业生态链接大会暨第三届金陀螺奖颁奖盛典

AR

Magic Leap开发SDK、引擎揭秘:支持8种手势、协同工作

发布时间:2018-03-26  |  标签:         

编译/VR陀螺 云吞、ZJ

Magic Leap在本周终于在Magic Leap's Creator端口上发布了自己的Lumin SDK文件,我们也有机会了解到设备更多的功能,以及如何哪些软件是可以使用的。

Magic Leap开发SDK、引擎揭秘:支持8种手势、协同工作

以下就是对Lumin OS、SDK和开发者端口的一些解读。


Lumin OS

我们知道Magic Leap的操作系统被称作Lumin。这个系统是基于Linux和安卓开源项目所打造的。应用将会基于Magic Leap自己的Lumin Runtime引擎打造,同时在Lumin上运行。除了Lumin Runtime之外,寻常的3D引擎如Unity和UE4引擎也都可以用来开发Magic Leap内容。

Magic Leap开发SDK、引擎揭秘:支持8种手势、协同工作
Magic Leap软件栈

Magic Leap One软件栈的下一层级是OS服务层。在这一层,利用OS Core我们会进入更高层次。例如,输入管理、通信管理(蓝牙和Wi-Fi)以及电源管理等功能都在此进行处理。

在这一层,Magic Leap也包含了该公司名为Perception的服务。这些子系统处理一些更复杂的输入,例如用户和环境感应,以及图形渲染管道,其中包括Magic Leap实现异步时间扭曲(ATW)。

使用可移植操作系统接口(POSIX)API标准,平台API层作为开发人员与空间计算功能之间的看门人,具有用户设置权限系统。这一层还包括常用于Android OS中作为进程间的通信系统的Binder框架,允许应用程序相交互(HoloLens在这一点上尤其缺失这一功能)。


Lumin Runtime引擎

目前,很多基于其他引擎打造的沉浸式应用都必须独立运行,但Lumin Runtime可以让应用在运行的同时,也能够进行交互,展示出一种“单一的、连续性的体验”。开发者可以获取13种平台上的API来打造不同的交互,包括场景图(用于确定空间中的坐标和等级)、碰撞物理效果、手势、实时立体计算技术(用于渲染物体)、控制、光影以及在现实世界中的遮蔽效果。这种单场景中多应用的形式,听上去和2016年的“Waking Up with Mixed Reality”的demo很相似。

在某一时刻,我们现在知道的Windows计算机是由MS-DOS操作系统组成的,Windows是一个在操作系统之上运行的图形用户界面(GUI),因此GUI+可能是查看关于Lumin Runtime是什么的简单方法。但Lumin Runtime除了提供简单的GUI外,还提供了一些更重要的功能。

跳出来看,Magic Leap One使用客户端/服务器模式,允许多个设备共享应用程序。根据文档中的内容,这看起来像是自动处理的。如果是这样,它将带来能控制基础元素共享或不共享的问题,这对于那些已经在HoloLens中开发出共享体验的人来说就像是一片新鲜空气一般。

Lumin Runtime的其他基础元素:

  • 带有材质的3D模型和骨骼3D模型动画
  • 2D图片精灵动画
  • 用于空间计算的高保真空间化文本渲染
  • 2D和声场音频
  • 2D和立体视频
  • 刚体碰撞物理
  • 实时粒子特效
  • 输入事件和触觉控制
  • 手势
  • 语音识别
  • 时空间计算技术,用于渲染对象、照明、阴影和真实世界的遮挡

看起来,Lumin Runtime旨在提供类似Unreal或Unity 那样的3D引擎所能提供的设施,包括诸如Lumin Editor和UI Toolkit等。也就是说,Lumin Runtime层也支持这两种引擎。

Lumin Runtime应用可以平行运作,也可以协同工作,而Unreal和Unity应用只能够以独立的应用运行,因为它们会对设备有独立的控制。当然,它们在其他平台也是以这种形式运作的,因此不是什么新鲜事了。但开发者们肯定还是非常期待能够做出一些改变的。

从这方面来看,Magic Leap的确有对Lumin OS和一系列软件做出深思熟虑的设计。但是要到我们真正拿到设备的的时候才能知晓能做和不能做的事。

平台API

SDK发布笔记中,包含了多款惊人的API。眼球追踪API能够用于确定用户注视点的方向、眼部的中央,还可以监测眨眼的动作。这一SDK同时支持硬件遮蔽,拥有一个交互界面来给平台提供深度信息。

头部姿势

Magic Leap One(ML1)能够整合其一系列传感器所收集的数据,同时还有用户视觉上的观察。如果用户的视野被昏暗的环境或者被遮挡的相机所影响的话,ML1会自动启用陀螺仪追踪,直到系统重新收集足够的视觉数据。

图像追踪

ML1可以持续的捕捉视觉数据来建造一个周围环境的地图,而且在回到之前已经建模的环境时,会自动识别并且给出之前的内容。所以在房间中玩追逐小机器人的游戏时,它们会停留在你之前看到过它们的地方。

Magic Leap开发SDK、引擎揭秘:支持8种手势、协同工作

这项技术听上去和Magic Leap工程师此前发布的研究非常相似,使用了一对神经网络系统来给图像上确定“SLAM-ready”的点,可以用于追踪。具体形式如下图所示。


手势

Lumin SDK支持8种不同的手势。微软HoloLens支持3种手势(可以通过Mixed Reality Toolkit实现第4种),而Meta 2可以实现7种不同的抓取手势。

Magic Leap开发SDK、引擎揭秘:支持8种手势、协同工作

鉴于Magic Leap最近申请了一个翻译手语的专利,我们能够期待接下来还会在开发者平台上看到更多的手势识别功能。


声场音频

就在上周,Magic Leap申请了一份立体声专利,听上去正是ML1上具备的声场音频功能。

现在我们已经确定,公司这项独家的技术将会向开发者开放。基于声场音频技术的立体声方案或许会在不久之后就登陆Unity和UE4引擎,同时声场API也很快能够被原生C++应用和公司自己的Lumin Runtime引擎所调用。除此之外,Magic Leap也有计划支持更多的中间件,包括Wwise和FMOD Studio,大概在GDC结束之后就会实现。同时,开发者还可以将谷歌Resonance Audio项目的SDK进行调用。


光照

Lumin OS能够实现环绕式光线追踪。应用可以对一个场景增加光线,但是不能在没有光的情况下渲染。尽管如此,开发者可以用明亮的色彩来对冲昏暗的色彩,来制造出昏暗的感觉。同时,由于物体不会投射阴影,开发者需要从上方照亮物体。Lumin同时支持虚拟物体的自我阴影。


接近裁切平面

Magic Leap官方表示,距离用户一臂远的内容能够实现最佳的体验,同时也提醒开发者不要长时间将虚拟物体置于用户30厘米的范围之内。公司还鼓励开发者在用户过于接近虚拟物体的时候,让这些物体“逐渐消失”,而不是突然的让景象消失。

总的来说,为Magic Leap进行开发对于习惯于开发Unity的的人来说并没有太大不同,只不过增加了一些额外的功能,比如眼球追踪。我们很期待开发者们能够用Lumin Runtime引擎做出来什么样的作品。

关注微信公众号:VR陀螺(vrtuoluo),定时推送,VR/AR行业干货分享、爆料揭秘、互动精彩多。

分享到: