自己上手开发了两三个AR APP之后,用Unity进行AR/VR app开发算是入了门。反思一下自己使用过的资料,包括技术书籍、视频资料、和官方教程文档。
如果我再从头学一遍,我会按照以下顺序学习:
但是我自己学的时候,没有人推荐合适的资料 T_T,走了些弯路,记录一下。
我一开始是找比较新的技术书籍看,因为直接看文档有些难度。
对于有Unity基础,想上手开发AR APP的开发者,我强烈推荐这本书:《Augmented Reality with Unity AR Foundation》,作者Jonathan Linowes。作者说得特别有条理和详细,分享了自己设计和开发AR APP的经验,提供了他开发AR APP时使用的项目架构。而且,这本书于2021年8月出版,很新;我的经验是,对于AR、VR类型的技术书籍,最近出版的是一个很重要的挑选条件,因为技术迭代得太快了。这本书还配有源码: GitHub - PacktPublishing/Augmented-Reality-with-Unity-AR-Foundation: Augmented Reality with Unity AR Foundation, published by Packt
不过就是有点小贵。如果是学生的话,可以看看学校图书馆有没有买Oreilly数据库的服务,在Oreilly上可以找到这本书。如果没有的话,想看就只能自己买了。
另外一本是《AR开发权威指南-ARFoundation》,作者汪祥春老师。本书也提供源码,还有QQ群,作者会在群里答疑。
对于VR开发的技术书籍,我暂时没有找到很好的。尽管Jonathan Linowes也有撰写VR开发的书籍,但是个人感觉写得没有AR那本书好。也可能是年代比较久的原因,很多需要用的包或者函数都找不到了。
实验室的开发大佬建议直接去看教学视频,清晰直观 (不过我个人还是喜欢看书 :-D)。教学视频的话,推荐如下三个资料。
入门之后,要实现更高级的功能,就需要开始看文档了。而且,书籍很快就会过时,如果要应用最新的技术,也需要看文档。
我一开始是将Unity Manual快速地过了一遍,有了个大概的印象,然后会进行实操。但是,实操的时候,脑子迷迷糊糊的。例如,Unity和ARCore等是什么关系? 为什么我要进行这样那样的配置?按照文档上的设置,我的Oculus开发环境还是没有设置好呀?我还找到了关于ARCore、Oculus VR的文档,我该怎么去使用它们呢?
于是我去过了一遍Oculus提供的如何在Unity中使用Oculus的文档。
我现在的理解是,有不同的方法可以开发AR/VR APP,包括:
所以在看Unity提供的文档的时候,其实看的是ARFoundation、XR Interaction Toolkit等较high-level的实现。有些东西不明白,可以再从各大厂家提供的文档看看。
Unity XR文档
Oculus with Unity (Oculus还提供了Native、Unreal、WebXR的文档)
ARCore with Unity (ARCore也提供了Android、Unreal的文档)
ARkit (ARKit官方好像没有提供如何在Unity中使用,所以只能看Unity提供的文档)
[1] https://docs.unity3d.com/Manual/XRPluginArchitecture.html