[SceneKit]场景编辑器(三)
记得15年毕业时, 当时iOS开发的可视化编程刚刚开始, 很多公司不愿接收Xcode可视化开发, 以前面试的时候, 总会被人家问起开发主要使用纯代码还是可视化编程, 对于那些不愿使用可视化编程的公司果断拒绝. 实时证明, 可视化编程并没有像那些不愿接收可视化编程的人说的那样带来那么多问题, 反而他会大大提升我们的工作量, 工作的目的最终目的是为了用最高的效率完成工作, 此处仅仅是想吐槽一番.
Xcode也同样为我们的开发3D游戏准备可一个超cool的场景编辑器(Scene Editor), 使用它, 我们可以仅仅通过可视化的方式类配置我们游戏里面的场景, 而且可以在不用运行工程的情况下, 通过运行场景编辑器来查看动画效果, 是不是很cool.
我们使用场景编辑器来显示一个立方体
首先如在[SceneKit]搭建Scene3D场景(一)文中介绍, 新建一个工程.
但是这次不要art.scnassets
删除.

把
首先, 先把资源文件的ship.scn和texture.png删除
然后新建一个.scn文件.
选中非art.scnassets
文件, cmd+n 新建一个SceneKit Scene File文件.

然后起名为ship, 文件Group选择art.scnassets

上面说到, 新建scn文件时要先选中非art.scnassets
文件, 因为当你选中art.scnassets
文件时, 执行cmd+n, 只会生成一个File文件, 并不能创建一个scn文件
然后工程的目录应该是这样的
左边的目录多了一个ship.scn

右边的场景默认有一个camera, 这里先不要管camera是什么, 先留着

先来托一个盒子box看看效果, 要比OpenGL ES 方便很多呀

按照图示, 三步来创建一个box
关与右侧的这些不同的值是什么意思, 请自行Google
OK, 此时回到GameViewController.swift
文件, 删除所有的代码
把一下代吗放进去
import UIKit
import SceneKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 1. 从资源中加载一个scene
let scene = SCNScene(named: "art.scnassets/ship.scn")!
// 2. 获取当前ViewController的scnView
let scnView = self.view as! SCNView
// 3. 把从资源中加载的scene加载到当前的scnView
scnView.scene = scene
}
}
然后run工程你将会看到

此时就加载了一个box到场景, 并渲染出来.