SCNScene
本節(jié)學(xué)習(xí)目標(biāo)
- 掌握SCNScene的基本概念
- 主要能干什么事情
- 怎么使用
概念
通俗的說(shuō)就是游戲場(chǎng)景,游戲場(chǎng)景主要由幾何模型,燈光,照相機(jī),和其它的屬性組成,另外請(qǐng)注意,SCNScene這個(gè)對(duì)象包含3D場(chǎng)景和場(chǎng)景中的內(nèi)容。
主要能干什么事情
- 添加各種游戲元素到場(chǎng)景中
- 讀取場(chǎng)景文件
- 將場(chǎng)景寫(xiě)入文件
還有很多功能,這里暫時(shí)不講,以為要用到后面的知識(shí)!我們慢慢來(lái),最終吃完整個(gè)蛋糕。
怎么使用
我們創(chuàng)建一個(gè)工程演示一下
第一步
創(chuàng)建一個(gè)簡(jiǎn)單的工程,就和普通應(yīng)用一樣。這里就不演示了,在第一節(jié)中有講到!
第二步
導(dǎo)入游戲框架
import SceneKit
第三步
創(chuàng)建游戲?qū)S靡晥D
let scnView = SCNView(frame: self.view.bounds);
第四步
加載游戲文件,請(qǐng)上網(wǎng)隨便找一個(gè)后綴名為.dae的文件
scnView.scene = SCNScene(named: "my.dae")
第五步
將游戲?qū)S靡晥D添加到我們的視圖中去
self.view.addSubview(scnView);
這個(gè)時(shí)候運(yùn)行一下工程試試看,我的如下

將場(chǎng)景寫(xiě)入文件中去
let urlString = NSHomeDirectory() + "/Documents/my.dae"
scnView.scene?.write(to: URL(fileURLWithPath: urlString), options: nil, delegate: nil, progressHandler: { (progress, error, flag) in
print( progress);
})
然后到模擬器的目錄下面去查看是否有保存的文件,怎么去查看保存文件的路徑呢?網(wǎng)上的方法有很多都過(guò)時(shí),并且不靠譜,最簡(jiǎn)單的方式如下
print(urlString)
/Users/xujie/Library/Developer/
CoreSimulator/Devices/
7DBC6358-32AF-42EE-BAA4-6350562AFD73/
data/Containers/Data/Application/067F20AD-7CB8-4F70-A202-EBB9DA1306A3/Documents/my.dae
在Finder->前往->前往文件夾->輸入地址 即可找到
真機(jī)怎么查看保存的文件?
xcode->window->Devices->選中真機(jī)->單擊應(yīng)用->選擇設(shè)置圖標(biāo)->download Container... 下載下來(lái)即可
本節(jié)內(nèi)容到這里已經(jīng)講解完畢,你學(xué)會(huì)了嗎?