第十三節 - 粒子系統
粒子系統
百度百科:
粒子系統表示三維計算機圖形學中模擬一些特定的模糊現象的技術,而這些現象用其它傳統的渲染技術難以實現的真實感的 game physics。經常使用粒子系統模擬的現象有火、爆炸、煙、水流、火花、落葉、雲、霧、雪、塵、流星尾跡或者象發光軌跡這樣的抽象視覺效果等等。
SceneKit 給我們提供了那些粒子系統呢?下面先來展示一下
1.fire(?)
2.confetti(五彩紙屑)
3.bokeh(散景)
4.Rain(下雨)
5.Reactor(反應堆)
6.Smoke(煙)
7.Star(✨)
以上就是SceneKit 框架中提供給我們的幾種粒子系統,下面我做個簡單的例子幫助大家學習如何簡單的使用粒子系統。
走進程式碼的世界
第一步.建立工程就不演示了。
第二步.建立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];
第三步.建立攝像頭
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];
第五步.建立一個粒子系統檔案
第六步.如何把粒子新增到剛才建立的四方體上呢?
// 1.建立粒子系統物件
SCNParticleSystem *particleSystem = [SCNParticleSystem particleSystemNamed:@"fire.scnp" inDirectory:nil];
// 2.建立一個節點新增粒子系統
SCNNode *node = [SCNNode node];
[node addParticleSystem:particleSystem];
node.position = SCNVector3Make(0, -1, 0);
// 3.將粒子系統節點設定為四方體的子節點
[boxNode addChildNode:node];
完成之一步,今天我們的內容就結束了,是不是很簡單!
執行結果:
總結
粒子系統是我們在遊戲中特別重要的一塊內容,相對內容也比較多,我們本節就簡單的介紹到這裡,更多高階幹活我們後續講解。
相關文章
- Three.js開發指南(7):粒子和粒子系統JS
- OpenGL Shader例項,OpenGL 粒子系統
- AE 3D粒子系統外掛3D
- DirectX11 With Windows SDK--35 粒子系統Windows
- [SceneKit專題]4-Particle-Systems粒子系統
- [MetalKit]39-Working-with-Particles-in-Metal粒子系統
- hugo.elias專題 之 粒子系統 (轉)Go
- 泛型粒子系統的設計1 (轉)泛型
- 泛型粒子系統的設計2 (轉)泛型
- 泛型粒子系統的設計3 (轉)泛型
- 泛型粒子系統的設計4 (轉)泛型
- 泛型粒子系統的設計5 (轉)泛型
- 泛型粒子系統的設計6 (轉)泛型
- 泛型粒子系統的設計7 (轉)泛型
- Three.js進階篇之5 - 粒子系統JS
- 數字人粒子系統學習筆記之一筆記
- iOS 調節系統音量iOS
- 抽獎系統細節玩法
- [MetalKit]41-Working-with-Particles-in-Metal-part3粒子系統3
- 【freertos】007-系統節拍和系統延時管理實現細節
- 【資料庫系統】資料庫系統概論====第十三章 資料庫技術發展資料庫
- Babylon.js 3.3釋出:更強大的粒子系統和WebVR支援JSWebVR
- [MetalKit]40-Working-with-Particles-in-Metal-part2粒子系統2
- AE 3D粒子系統外掛:Trapcode Particular啟用最新版3D
- 資料庫系統概述(章節摘要)資料庫
- Trapcode Particular for Mac註冊啟用版(AE 3D粒子系統外掛)Mac3D
- Java和作業系統互動細節Java作業系統
- Java 和作業系統互動細節Java作業系統
- 如何把控遊戲系統開放節奏?遊戲
- 第8章 I/O系統(第一節)
- 如何節省windows 7系統硬碟空間Windows硬碟
- 新年第一節:還是系統異常
- Oracle9.2.0.4 RAC系統加入新節點Oracle
- Android粒子篇之文字的粒子化運動Android
- WebGL three.js學習筆記 使用粒子系統模擬時空隧道(蟲洞)WebJS筆記
- [每日一題] 第十三題:連結串列中倒數第k個節點每日一題
- 第十三屆公益節北京舉辦 傳遞新時代公益生機與活力
- 如何初步掌控遊戲系統引導及節奏遊戲