SOGO論壇
  登入   註冊   找回密碼
查看: 1090|回覆: 0
列印 上一主題 下一主題

[教學] 何謂粒子系統 轉貼! [複製連結]

SOGO榮譽會員

一日志工終生志工

Rank: 13Rank: 13Rank: 13Rank: 13

榮譽會員勳章 熱心參予論壇活動及用心回覆主題勳章 品味生活區勳章 軍武十字勳章

狀態︰ 離線
跳轉到指定樓層
1
發表於 2007-3-4 23:49:48 |只看該作者 |倒序瀏覽
何謂粒子系統

粒子系統(en:particle system)表示3D電腦圖形學中模擬一些特定的模糊現象的技術,而這些現象用其它傳統的渲染技術難以實現的真實感的 game physics。經常使用粒子系統模擬的現象有火、爆炸、煙、水流、火花、落葉、雲、霧、雪、塵、流星尾跡或者象發光軌跡這樣的抽象視覺效果等等。

通常粒子系統在3D空間中的位置與運動是由發射器控制的。發射器主要由一組粒子行為參數以及在3D空間中的位置所表示。粒子行為參數可以包括粒子生成速度(即單位時間粒子生成的數目)、粒子初始速度向量(例如什麼時候向什麼方向運動)、粒子壽命(經過多長時間粒子湮滅)、粒子顏色、在粒子生命周期中的變化以及其它參數等等。使用大概值而不是絕對值的模糊參數佔據全部或者絕大部分是很正常的,一些參數定義了中心值以及允許的變化。

典型的粒子系統更新循環可以劃分為兩個不同的階段:參數更新/模擬階段以及渲染階段。每個循環執行每一幀動畫。


模擬階段

在模擬階段,根據生成速度以及更新間隔計算新粒子的數目,每個粒子根據發射器的位置及給定的生成區域在特定的3D空間位置生成,並且根據發射器的參數初始化每個粒子的速度、顏色、生命周期等等參數。然後檢查每個粒子是否已經超出了生命周期,一旦超出就將這些粒子剔出模擬過程,否則就根據物理模擬更改粒子的位置與特性,這些物理模擬可能象將速度加到當前位置或者調整速度抵消摩擦這樣簡單,也可能象將外力考慮進取計算正確的物理拋射軌跡那樣複雜。另外,經常需要檢查與特殊3D物體的碰撞以使粒子從障礙物彈回。由於粒子之間的碰撞計算量很大並且對於大多數模擬來說沒有必要,所以很少使用粒子之間的碰撞。

每個粒子系統都有用於其中每個粒子的特定規則,通常這些規則涉及到粒子生命周期的插值過程。例如,許多系統在粒子生命周期中對離子的阿爾法值即透明性進行插值直到例子湮滅。


渲染階段

在更新完成之後,通常每個例子用經過紋理映射的四邊形sprite進行渲染,也就是說四邊形總是面向觀察者。但是,這個過程不是必須的,在一些低解析度或者處理能力有限的場合粒子可能僅僅渲染成一個像素,在離線渲染中甚至渲染成一個元球,從粒子元球計算出的等值面可以得到相當好的液體表面。另外,也可以用3D網格渲染粒子。
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-11-25 09:43

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部