一)ARFoundation功能概述
在前文中我们知道,ARFoundation只是对ARCore和ARKit的再次封装,ARFoundation并不实现AR的底层功能,换句说,ARFoundation只是一个功能的搬运工,因此,底层API没有的功能,ARFoundation也不可能有(ARFoundation会添加一些辅助功能以方便开发者开发AR应用)。同时,ARFoundation能实现的功能也与底层SDK所处的平台相关,如ARKit有worldmap功能,而ARCore没有,这时,即使ARFoundation支持worldmap功能,其也只能在ARKit运行的iOS平台这个功能才有效,编译到Android平台就会出错。这即是说ARFoundation支持的功能与底层SDK是密切相关的,脱离底层SDK谈ARFoundation功能是没有意义的。当然,如果ARKit和ARCore都支持的功能,ARFoundation做的工作是在编译时根据平台选择无缝切换所用底层SDK,达到一次开发,跨平台部署的目的。
当前,ARFoundation主要支持以下功能:

(二)ARFoundation架构体系
虽然ARFoundtion是在底层SDK API之上的再次封装,但Unity为了实现AR跨平台应用(平台无关性)做了大量工作,搭建了一个开放性的架构体系,使这个架构能够容纳各类底层SDK,能支持当前及以后其他底层AR SDK的加入,宏观上看,ARFoundation希望构建一个开发各类AR应用的统一平台。
为实现这个开放的架构,ARFoundation建立在一系列的子系统(subsystem)之上。subsystem隶属于UnityEngine.XR.ARSubsystems命名空间,负责实现特定的功能模块,而且这

本文介绍了ARFoundation的功能及其架构体系,详细解释了世界跟踪、可跟踪、特征点等基本术语,并探讨了如何利用ARFoundation构建跨平台的AR应用。

279

被折叠的 条评论
为什么被折叠?



