找回密码
 立即注册
查看: 235|回复: 0

文档看得太迷糊?使用Unity开发增强现实/虚拟现实应用(AR ...

[复制链接]
发表于 2022-9-26 08:34 | 显示全部楼层 |阅读模式
自己上手开发了两三个AR APP之后,用Unity进行AR/VR APP开发算是入了门。反思一下自己使用过的资料,包括技术书籍、视频资料、和官方教程文档。
太长不看版

如果我再从头学一遍,我会按照以下顺序学习:

  • 先跟着Game Design and Development with Unity 2020 Specialization 中的 Game Design and Development 1: 2D Shooter 学Unity。如果想进一步了解Unity等游戏引擎高层次的设计理念,推荐 GAMES104:现代游戏引擎:从入门到实践的前三课。
  • 然后跟着一些资料先上手开发AR/VR APP。

    • AR:《Augmented Reality with Unity AR Foundation》
    • VR:Justin P Barnett的课程

  • 最后,看官方教程和文档。
但是我自己学的时候,没有人推荐合适的资料 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的话,推荐Coursera上的 Game Design and Development with Unity 2020 Specialization (时间不够的话,看第一课Game Design and Development 1: 2D Shooter就行。)
  • 如果想了解Unity为什么是这样设计的话,推荐 GAMES104:现代游戏引擎:从入门到实践 (时间不够的话,看前三课就行。)
  • 如果是想学用Unity开发VR APP,可以看一下Justin P Barnett的教程
官方教程和文档

入门之后,要实现更高级的功能,就需要开始看文档了。而且,书籍很快就会过时,如果要应用最新的技术,也需要看文档。
我一开始是将Unity Manual快速地过了一遍,有了个大概的印象,然后会进行实操。但是,实操的时候,脑子迷迷糊糊的。例如,Unity和ARCore等是什么关系? 为什么我要进行这样那样的配置?按照文档上的设置,我的Oculus开发环境还是没有设置好呀?我还找到了关于ARCore、Oculus VR的文档,我该怎么去使用它们呢?
于是我去过了一遍Oculus提供的如何在Unity中使用Oculus的文档。
我现在的理解是,有不同的方法可以开发AR/VR APP,包括:

  • 使用各种厂家提供的原生SDK(例如ARCore、ARKit、Oculus XR、Windows XR)等进行开发。好处是能够使用到厂家提供的最新的功能;坏处是不能跨平台部署,以及可能需要掌握更为底层的知识。
  • 使用Unreal提供的XR能力。
  • 使用Unity提供的XR能力。从下面的图可以看出,Unity其实并不提供底层的实现,而是基于各种厂商提供的XR plugin,在不同的XR plugin中进行封装集成,提供了Unity XR SDK、XR Subsystem、ARFoundation、XR Interaction Toolkit等。因此,可以做到一次开发,多平台部署。
所以在看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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-7-4 11:03 , Processed in 0.117502 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表