在ARKit 3的开发过程中,Unity和Apple进行了紧密的合作,我们很高兴为开发者提供ARKit 3的多项新功能。
本文,我们将介绍ARKit 3的最新功能,以及如何通过使用AR Foundation 2.2和Unity 2019.1来使用这些功能。
小提示:Unity 2018.4的用户可以通过AR Foundation 1.5来使用ARKit 3的新功能。
在ARKit 3和AR Foundation 2.2中,我们加入了多项新功能,包括:
动作捕捉
人物遮蔽
面部跟踪功能加强,包含对多个面部的支持
协作会话功能
其它改进功能
动作捕捉
首先,我们介绍动作捕捉功能,这项功能会使渲染内容和真实人物之间的交互效果更为逼真。
ARKit 3的关键功能注重于通过识别现实世界中的人物来增强AR体验。动作捕捉是ARKit 3的全新功能,它给AR Foundation应用提供了摄像机画面中识别人物的2D(屏幕空间)形式或3D(世界空间)形式。
对于2D检测功能,人物会表示为具有17个关节和屏幕空间坐标的层次结构。对于3D检测功能,人物会表示为具有93个坐标和世界空间变换的层次结构。
为了利用这个全新功能,AR Foundation添加了新的Human Body Subsystem人体子系统。该功能仅适用于带有A12 Bionic芯片和Apple Neural Engine神经网络引擎(ANE)的部分新iOS设备。
AR Foundation应用可以在运行时查询Human Body Subsystem人体子系统描述符,以确定iOS设备是否支持人体姿势估算。
人物遮蔽
除了动作捕捉外,新的AR Foundation Human Body Subsystem人体子系统还给应用提供了人物模板和深度分割图像。
模板分割图像会识别每个像素是否包含人物,深度分割图像包含从设备到已识别人物相关像素的大致距离。通过使用这二个分割图像,我们可以使渲染的3D内容逼真地受到现实人物的遮蔽。
模板图像可以用于创建视觉效果,例如:实现轮廓效果,或画面中人物的着色效果。
请注意:人物遮蔽功能仅适用于带有A12 Bionic芯片和神经网络引擎ANE的iOS设备。
面部跟踪功能加强
ARKit 3以多种方式扩展了iPhone XS、iPhone XR、iPhone XS Max和最新iPad Pro上的面部跟踪支持。
首先,前置TrueDepth摄像头现在可以在一次面部跟踪会话中最多识别出三个不同的面部。你可以通过AR Foundation Face Subsystem面部子系统,指定同时跟踪的最大面部数量。
与面部跟踪相关的最大改变是:在配置为世界跟踪的会话中,提供启用TrueDepth摄像头用于面部跟踪的功能。该功能可以实现多种体验,例如:从前置摄像头捕捉用户的面部姿势,使用它来驱动在后置摄像头所见环境中渲染角色的面部表情。
请注意:这项新的面部跟踪模式仅适用于带有A12 Bionic芯片和神经网络引擎ANE的iOS设备。
协作会话功能
ARKit 2加入了ARWorldMap,把它作为和其他用户共享空间环境的方法。ARKit 3通过协作会话改进了该功能,允许多个连接的ARKit应用不断交换对环境的理解。
在AR Foundation中,设备可以实时分享AR Reference Points参考点,Session Subsystem会话子系统的ARKit实现公开了发布和使用更新内容的API。
AR Foundation应用必须实现合适的网络技术,以便将更新内容传递到每个连接的客户端。
小结
我们很高兴通过AR Foundation为开发者提供ARKit的最新功能,我们为Arfoundation-samples示例库添加了更多示例,来展示这些新功能。
获取Arfoundation-samples示例库:https://github.com/Unity-Technologies/arfoundation-samples
如果你希望参与探讨AR Foundation,请访问Unity Handheld AR论坛:https://forum.unity.com/forums/handheld-ar.159/