SceneKit_入門01_旋轉(zhuǎn)人物
SceneKit_入門02_如何創(chuàng)建工程
SceneKit_入門03_節(jié)點(diǎn)
SceneKit_入門04_燈光
SceneKit_入門05_照相機(jī)
SceneKit_入門06_行為動畫
SceneKit_入門07_幾何體
SceneKit_入門08_材質(zhì)
SceneKit_入門09_物理身體
SceneKit_入門10_物理世界
SceneKit_入門11_粒子系統(tǒng)
SceneKit_入門12_物理行為
SceneKit_入門13_骨骼動畫
SceneKit_中級01_模型之間的過渡動畫
SceneKit_中級02_SCNView 詳細(xì)講解
SceneKit_中級03_切換照相機(jī)視角
SceneKit_中級04_約束的使用
SceneKit_中級05_力的使用
SceneKit_中級06_場景的切換
SceneKit_中級07_動態(tài)修改屬性
SceneKit_中級08_陰影詳解
SceneKit_中級09_碰撞檢測
SceneKit_中級10_濾鏡效果制作
SceneKit_中級11_動畫事件
SceneKit_高級01_GLSL
SceneKit_高級02_粒子系統(tǒng)深入研究
SceneKit_高級03_自定義力
SceneKit_高級04_自定義場景過渡效果
SceneKit_高級05 檢測手勢點(diǎn)擊到節(jié)點(diǎn)
SceneKit_高級06_加載頂點(diǎn)、紋理、法線坐標(biāo)
SceneKit_高級07_SCNProgram用法探究
SceneKit_高級08_天空盒子制作
SceneKit_高級09_霧效果
SceneKit_大神01_掉落的文字
SceneKit_大神02_彈幕來襲
SceneKit_大神03_navigationbar上的3D文字
粒子系統(tǒng)是什么?
百度百科:
粒子系統(tǒng)表示三維計算機(jī)圖形學(xué)中模擬一些特定的模糊現(xiàn)象的技術(shù),而這些現(xiàn)象用其它傳統(tǒng)的渲染技術(shù)難以實(shí)現(xiàn)的真實(shí)感的 game physics。經(jīng)常使用粒子系統(tǒng)模擬的現(xiàn)象有火、爆炸、煙、水流、火花、落葉、云、霧、雪、塵、流星尾跡或者象發(fā)光軌跡這樣的抽象視覺效果等等。
SceneKit 給我們提供了那些粒子系統(tǒng)呢?下面先來展示一下
1.fire(??)

2.confetti(五彩紙屑)

3.bokeh(散景)

4.Rain(下雨)

5.Reactor(反應(yīng)堆)

6.Smoke(煙)

7.Star(?)

以上就是SceneKit 框架中提供給我們的幾種粒子系統(tǒng),下面我做個簡單的例子幫助大家學(xué)習(xí)如何簡單的使用粒子系統(tǒng)。
走進(jìn)代碼的世界
- 創(chuàng)建工程就不演示了。
- 創(chuàng)建SCNView視圖添加到View中去
SCNView *scnView = [[SCNView alloc]initWithFrame:self.view.bounds];
scnView.backgroundColor = [UIColor blackColor];
scnView.scene = [SCNScene scene];
scnView.allowsCameraControl = TRUE;
[self.view addSubview:scnView];
- 創(chuàng)建攝像頭
SCNCamera *camera = [SCNCamera camera];
SCNNode *cameraNode = [SCNNode node];
cameraNode.camera = camera;
camera.automaticallyAdjustsZRange = TRUE;
cameraNode.position = SCNVector3Make(0, 0, 50);
[scnView.scene.rootNode addChildNode:cameraNode];
- 添加一個四方體
SCNBox *box = [SCNBox boxWithWidth:10 height:10 length:10 chamferRadius:0];
box.firstMaterial.diffuse.contents = @"1.PNG";
SCNNode *boxNode = [SCNNode nodeWithGeometry:box];
boxNode.position = SCNVector3Make(0, 10, -100);
[scnView.scene.rootNode addChildNode:boxNode];
- 創(chuàng)建一個粒子系統(tǒng)文件


如何把粒子添加到剛才創(chuàng)建的四方體上呢?
// 1.創(chuàng)建粒子系統(tǒng)對象
SCNParticleSystem *particleSystem = [SCNParticleSystem particleSystemNamed:@"fire.scnp" inDirectory:nil];
// 2.創(chuàng)建一個節(jié)點(diǎn)添加粒子系統(tǒng)
SCNNode *node = [SCNNode node];
[node addParticleSystem:particleSystem];
node.position = SCNVector3Make(0, -1, 0);
// 3.將粒子系統(tǒng)節(jié)點(diǎn)設(shè)置為四方體的子節(jié)點(diǎn)
[boxNode addChildNode:node];
完成之一步,今天我們的內(nèi)容就結(jié)束了,是不是很簡單!
運(yùn)行結(jié)果:

總結(jié)
粒子系統(tǒng)是我們在游戲中特別重要的一塊內(nèi)容,相對內(nèi)容也比較多,我們今天就簡單的介紹到這里,在高級篇,我們在詳細(xì)講解它的更多高級用法。
代碼庫,聽說經(jīng)常給人點(diǎn)贊都當(dāng)老板了!