Scene Kit 是Apple 向 OS X 开发者们提供的 Cocoa 下的 3D 渲染框架。
Scene Kit 建立在 OpenGL 的基础上,包含了如光照、模型、材质、摄像机等高级引擎特性,这些组件都是面向对象的,你可以用熟悉的 Objective-C 或 Swift 语言来编写代码。假如你用过 OpenGL 最早的版本,那时还没有 shader,只能苦逼的使用各种底层受限制的 API 开发。而 Scene Kit 就好了很多,对于大多数需求 (甚至像动态阴影等高级特性),使用它提供的上层 API 来配置,就已经足够了。
创建一个项目:
在demo中比一般的文件多了一个scnasssets文件夹,这个是存放3d模型的文件夹,打开可以看到.scn后缀的文件,这个就是xcode识别的模型文件后缀的一种
// create a new scene //创建一个场景scene SCNScene *scene = [SCNScene sceneNamed:@"art.scnassets/ship.scn"]; //实例化SCNcene,场景本身并不可见,需要添加在SceneView的场景上 //创建并添加一个相册到scene //这段代码是用来创建并配置摄像机。摄像机处于的位置即视角所看的位置。 注意这里创建摄像机是创建了一个SCNNode,赋值了node的属性。这里需要了解一下node的作用。在SceneKit中,node即节点是非常关键的部分。node本身同样是不可见的,它的作用是节点化各个部件。比如一辆车,车身和方向盘都是模型,可以把方向盘的node添加在车身模型的node上,这样在车移动的时候,车模型的子node也会一起移动。车身各部件之间的相对位置是不变的。这样可以大大节省工作量。在渲染场景的时候,sceneKit会遍历所有的子node&#x