这是一篇脱离 ARKit ,从 SceneKit 角度来讲3D渲染的文章。本文是面向初学者的,后续会另开一个专题讲 SceneKit 高级应用。
写在前面
如果你已经读过我前面写的三篇博客:
- iOS AR开发基础篇01 -- 开篇,什么是AR?
- iOS AR开发基础篇02 -- ARKit开发基本套路和核心API
- iOS AR开发基础篇03 -- Hello World (基于AR的平面检测、人脸检测和物体识别功能)
不难发现,ARKit 并不是独立存在的,它和 3D 引擎 SceneKit 有千丝万缕的联系。正是由于二者联系密切,Apple 为我们在 ARKit 中提供了很多 SceneKit 的便利方法,凡事都是有利有弊,这样的好处是给开发者调用 API 提供了便利,弊端是如果您没有 3D 开发经验的话,也可能会让您陷入迷茫,傻傻分不清楚 ARKit 和 SceneKit 各自的功能,这极有可能成为阻碍你 AR 开发中大展拳脚的因素。
我在最初的学习过程中就曾遇到过这种迷惑。 鉴于此,脱离 ARKit 纯粹的了解 SceneKit 是很有必要的,这也是我写这篇博客的初衷,希望聪明的你不要走坑坑洼洼的老路。
本文内容结构
本文从以下五个部分来讲解SceneKit的基础知识。
在讲解的过程中会逐步完成一个 Demo 的编写,最终效果如下。