[情報] 泥巴兔/MudBun - 動態特效體積生成工具

作者: cjcat2266 (CJ Cat)   2020-09-24 02:50:35
過去幾個月的閒暇時間都花在開發泥巴兔(MudBun)上了
這是個用有向距離場(signed distance field, SDF)生成動態體積特效的Unity工具
也可作為不使用傳統多邊形定義形狀的建模工具
MudBun並非使用較消耗資源的射線邁進(ray marching)
而是使用比較有效率的網線生成演算法
含方塊邁進(marching cubes)、表面網(surface nets)、與對偶輪廓(dual contouring)
使用compute shader,所以大部分重要的運算都交給GPU處理來提升運算效率
支援網線(mesh)繪製模式與色塊(splat)模式
色塊套用材質的話,可以製作類似Dreams (PS4遊戲)的風格化效果
含動畫的詳情介紹網頁
http://longbunnylabs.com/mudbun/
Unity Asset Store頁面
https://assetstore.unity.com/packages/tools/particles-effects/mudbun-177891
在v1.0推出之前為較低的早鳥價
SDF的特性之一,是可以用圓滑的方式對形狀進行布林運算混和
所以可以生成有機的視覺效果
適合搭配有機程序動作特效工具,如我前一陣子開發的彈跳特效工具Boing Kit
但因為需要綁定骨骼權重,我另外用既有SDF運算開發了自動骨骼權重綁定的功能
可以一鍵就完成骨骼權重綁定,並套用骨骼彈跳特效
網路上有很多方塊邁進的CPU和GPU實作範例
對偶輪廓相對地就少很多,其特色是能夠有效保留SDF定義的硬角
目前我找到的Unity對偶輪廓工具也只有Libfive而已
但它是是用CPU運算而非GPU,且屬實驗性質而非遊戲開發工具
找到的其他對偶輪廓GPU實作也都屬較陽春的個人實驗,而非泛用型工具
所以我不是要誇大,但我認為MudBun的對偶輪廓,是目前Unity上效能最好且功能最齊的
自動骨骼權重綁定
https://twitter.com/TheAllenChou/status/1298384778807263233
吉祥物:以為自己是狗的兔子,兔兔狗(bunny pup)
https://twitter.com/TheAllenChou/status/1298202480317100033
即時SDF生成vs.自動骨骼權重綁定
https://twitter.com/TheAllenChou/status/1298218937209913344
炎炎夏日,記得補充水分
https://twitter.com/TheAllenChou/status/1298390482146402306
在VR中伸縮自如的兔兔狗
https://twitter.com/TheAllenChou/status/1298862808801583110
驅逐霧霾的體積光
https://twitter.com/TheAllenChou/status/1308310369023086593
最後補上一些MudBun使用者們分享的成果
https://twitter.com/BillSansky/status/1305974786657595399
https://twitter.com/BillSansky/status/1306567758302375937
https://twitter.com/BillSansky/status/1308396019546234880
https://twitter.com/PaulHerve_/status/1308379266191515650
作者: oopFoo (3d)   2020-09-24 06:33:00
https://www.rykap.com/2020/09/23/distance-fields/有人用SDF+Raymarching來作2d soft shadow。這東東用處還真多
作者: cjcat2266 (CJ Cat)   2020-09-24 07:31:00
好像UE5的GI也是用SDF而不是raytracing,用處不少另外印象比較深刻的是粒子碰撞和AO proxy
作者: oopFoo (3d)   2020-09-24 15:51:00
看半天SDF還真像dijkstra map。查了一下Amit Patel大神有介紹,還有vector field。https://bit.ly/3iZI9GH
作者: cjcat2266 (CJ Cat)   2020-09-25 04:08:00
我覺得倒還好,就微分之後可得往目標的最佳移動向量場SFD的目標是形狀表面,然後Dijkstra map是目的地點這樣
作者: dklassic (DK)   2020-09-25 11:45:00
等之後有空想用這個來玩玩看類似 Townscaper 的東西 XD
作者: cjcat2266 (CJ Cat)   2020-09-25 16:14:00
Townscaper也是用marching cubes,不過是作者自行改造成在hex grid上計算的版本
作者: jackyT (Ubuntu5566)   2020-09-25 20:46:00
買了 滿有趣的 推
作者: cjcat2266 (CJ Cat)   2020-09-26 00:17:00
感謝支持 :D
作者: dklassic (DK)   2020-09-26 02:47:00
MarchingCube 真的很適合用在 Wave Function Collapse的延伸應用上 XD
作者: metallican (鋼鐵人)   2020-09-26 08:45:00
推CJ大

Links booklink

Contact Us: admin [ a t ] ucptt.com