精選文章

SmallBurger Asset Home

  SmallBurger

2023年8月4日 星期五

The follow camera GPU instance particles

使用nine grid實作follow camera particles effect是一個好想法,它可以避免particles跟隨camera飄浮及需預熱(否則會來不及產生)的問題,而且particles也沒做perInstance culling,這對性能影響蠻大的…
這裡使用了GPU instance及GPU culling來實作這個系統,並在ComputeShader中模擬粒子的位移,整個處理流程如下:


  1. 產生亂數Transform Buffer
  2. 實作follow camera nine grid
  3. 配置相關ComputeShader所需要的Buffer及RenderTexture
  4. 實作相關的ComputeShader(含GPU剔除及粒子位移模擬)
  5. 實作相關instance shader(渲染用),為了跨平台的考量,不使用SSBO


在camera鄰近的nine grid產生相關的particles,以確保camera視角在任何方向都會鋪滿粒子,
但只有在視野內才會丟進GPU進行渲染。

視頻結果如下:



沒有留言:

張貼留言