- 註冊時間
- 2006-6-22
- 最後登錄
- 2024-3-11
- 主題
- 查看
- 積分
- 13372
- 閱讀權限
- 140
- 文章
- 1150
- 相冊
- 2
- 日誌
- 0
狀態︰
離線
|
何謂粒子系統
粒子系統(en:particle system)表示3D電腦圖形學中模擬一些特定的模糊現象的技術,而這些現象用其它傳統的渲染技術難以實現的真實感的 game physics。經常使用粒子系統模擬的現象有火、爆炸、煙、水流、火花、落葉、雲、霧、雪、塵、流星尾跡或者象發光軌跡這樣的抽象視覺效果等等。
通常粒子系統在3D空間中的位置與運動是由發射器控制的。發射器主要由一組粒子行為參數以及在3D空間中的位置所表示。粒子行為參數可以包括粒子生成速度(即單位時間粒子生成的數目)、粒子初始速度向量(例如什麼時候向什麼方向運動)、粒子壽命(經過多長時間粒子湮滅)、粒子顏色、在粒子生命周期中的變化以及其它參數等等。使用大概值而不是絕對值的模糊參數佔據全部或者絕大部分是很正常的,一些參數定義了中心值以及允許的變化。
典型的粒子系統更新循環可以劃分為兩個不同的階段:參數更新/模擬階段以及渲染階段。每個循環執行每一幀動畫。
模擬階段
在模擬階段,根據生成速度以及更新間隔計算新粒子的數目,每個粒子根據發射器的位置及給定的生成區域在特定的3D空間位置生成,並且根據發射器的參數初始化每個粒子的速度、顏色、生命周期等等參數。然後檢查每個粒子是否已經超出了生命周期,一旦超出就將這些粒子剔出模擬過程,否則就根據物理模擬更改粒子的位置與特性,這些物理模擬可能象將速度加到當前位置或者調整速度抵消摩擦這樣簡單,也可能象將外力考慮進取計算正確的物理拋射軌跡那樣複雜。另外,經常需要檢查與特殊3D物體的碰撞以使粒子從障礙物彈回。由於粒子之間的碰撞計算量很大並且對於大多數模擬來說沒有必要,所以很少使用粒子之間的碰撞。
每個粒子系統都有用於其中每個粒子的特定規則,通常這些規則涉及到粒子生命周期的插值過程。例如,許多系統在粒子生命周期中對離子的阿爾法值即透明性進行插值直到例子湮滅。
渲染階段
在更新完成之後,通常每個例子用經過紋理映射的四邊形sprite進行渲染,也就是說四邊形總是面向觀察者。但是,這個過程不是必須的,在一些低解析度或者處理能力有限的場合粒子可能僅僅渲染成一個像素,在離線渲染中甚至渲染成一個元球,從粒子元球計算出的等值面可以得到相當好的液體表面。另外,也可以用3D網格渲染粒子。 |
|