天天看點

gpu instancing animation代替骨骼動畫的做法

    最早是在Unity推出gpuinstancing後,馬上有人做了一個頂點動畫代替骨骼動畫的方案,當時自己也測試了一下,紅米2一千人可以跑60幀,确實非常不錯。後來發現UWA群裡也有人在讨論這個東西的做法,當時M神說可以用烘焙骨骼的方式代替烘焙頂點,這樣子烘焙出來的貼圖大小隻和骨骼數相關。而小米超神也說是通過烘焙頂點,不過為了減少烘焙檔案的大小,使用了類似RGBM的方式存儲資料。

    我整合了主流的幾種做法,做了一個插件。

    首先展示結果:

gpu instancing animation代替骨骼動畫的做法

   場景中可見大概750個角色,batches隻有7,去掉地面和天空盒,其實這麼多人隻有5個Batches.

   貼圖大小:

gpu instancing animation代替骨骼動畫的做法

  115幀的動畫,4秒不到一點,128k,而且看到圖中還有剩餘,即使動畫檔案更大一些,依然可以用這張貼圖放下。可能現在還看不出來它足夠小,等後面和烘焙頂點的做法比較一下ÿ