什么是粒子系統
編輯粒子系統是游戲物理、運動圖形和計算機圖形學中的一種技術,它使用許多微小的精靈、3D模型或其他圖形對象來模擬某些類型的“模糊”現象,否則這些現象很難用傳統的渲染技術重現。–通常是高度混沌的系統、自然現象或由化學反應引起的過程。
在1982年的電影《星際迷航II:可汗之怒》中引入了虛構的“創世紀效應”,其他例子包括復制火、爆炸、煙霧、流水(如瀑布)、火花、落葉等現象,落石,云,霧,雪,塵埃,流星尾巴,星星和星系,或抽象的視覺效果,如發光的軌跡,魔法咒語等——這些使用的粒子會快速淡出,然后從效果源重新發射。另一種技術可用于包含許多股線的事物-例如毛皮、頭發和草-涉及一次渲染整個粒子的生命周期,然后可以將其作為相關材料的單股線進行繪制和操作。
粒子系統被定義為空間中的一組點,由一組定義行為和外觀的規則引導。粒子系統將現象建模為粒子云,使用隨機過程來簡化動態系統和流體力學的定義,而這些定義很難用仿射變換來表示。
典型實現
編輯粒子系統通常實現以下模塊:
- 發射階段,提供位置并生成新粒子。
- 一個模擬階段,它更新參數并模擬粒子如何演化。
- 渲染階段,指定如何渲染粒子。
排放階段
發射器實現生成率(每單位時間生成多少粒子),粒子的初始速度矢量(它們在創建時發射的方向)。當使用網格對象作為發射器時,初始速度矢量通常設置為垂直于對象的各個面,使粒子看起來直接從每個面“噴射”但可選。
模擬階段
在模擬階段,必須創建的新粒子的數量根據生成率和更新間隔計算,并且每個粒子都根據發射器的位置和指定的生成區域在3D空間中的特定位置生成。每個粒子的參數(即速度、顏色等)都根據發射器的參數進行初始化。每次更新時,都會檢查所有現有粒子以查看它們是否已超過其壽命,在這種情況下,它們將從模擬中移除。否則,粒子的位置和其他特性會基于物理模擬進行改進,這可以像平移一樣簡單它們當前的位置,或者像執行物理上精確的軌跡計算一樣復雜,其中考慮了外力(重力、摩擦、風等)。通常在場景中執行粒子與指定3D對象之間的碰撞檢測以使粒子從環境中的障礙物反彈或以其他方式與障礙物相互作用。粒子之間的碰撞很少使用,因為它們的計算成本很高,并且與大多數模擬在視覺上不相關。
渲染階段
更新完成后,每個粒子都會被渲染,通常采用帶紋理的廣告牌四邊形(即始終面向觀察者的四邊形)的形式。然而,這對于游戲來說有時是不必要的;在小分辨率/有限處理能力的環境中,可以將粒子渲染為單個像素。相反,在動態圖形中,粒子往往是完整但小規模且易于渲染的3D模型,即使在高分辨率下也能確保保真度。粒子可以在離線渲染中渲染為元球;等值面從粒子元球計算得出的液體非常令人信服。最后,3D網格對象可以“代替”粒子——一場暴風雪可能由一個3D雪花網格組成,該網格被復制和旋轉以匹配數千或數百萬個粒子的位置。
粒子系統分類
編輯1983年,Reeves只定義了動畫點,創建了移動的粒子模擬——火花、雨、火等。在這些實現中,動畫的每一幀都包含在其生命周期中特定位置的每個粒子,并且每個粒子占據一個點在空間中的位置。對于消散的火焰或煙霧等效果,每個粒子都有一個淡出時間或固定壽命;諸如暴風雪或降雨之類的影響通常會在粒子離開特定視野時終止粒子的壽命。
1985年,Reeves將該概念擴展為包括同時渲染每個粒子的整個生命周期,結果將粒子轉換為顯示整體軌跡而不是點的靜態材料鏈。這些股線可用于模擬頭發、毛皮、草和類似材料。可以使用動畫粒子遵循的相同速度矢量、力場、產卵率和偏轉參數來控制股線。此外,可以控制股線的呈現厚度,并且在一些實施方式中可以沿著股線的長度變化。參數的不同組合可以賦予剛度、柔軟度、沉重度、剛毛度或任何數量的其他特性。股線也可以使用紋理映射以改變發射器表面上的股線的顏色、長度或其他屬性。
1987年,雷諾茲引入了植絨、放牧或學校行為的概念。Boids模型將粒子模擬擴展到包括外部狀態交互,包括目標尋找、碰撞避免、群居中和有限感知。
2003年,Müller通過模擬粘度、壓力和表面張力將粒子系統擴展到流體學,然后通過使用SmoothedParticleHydrodynamics對離散位置進行插值來渲染表面。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/132343/