gamebox

unityとかゲームとか

【unity】群衆処理の負荷軽減。GPU Animation Baker Pro【アセット】

大量のキャラクターのアニメーション処理を最適化するアセットを購入したので紹介。

群衆の処理に使えそうです。

 

「 GPU Animation Baker Pro」

assetstore.unity.com

 

スキニングメッシュの処理をGPUで行ってCPUの負荷を減らすというアプローチ。

なのでGPUの負荷は若干高くなるけど、CPUの負荷を下げて全体的なフレームレートを改善させます。

 

簡単なプロジェクトを作って比較してみました。

ロボットキャラを1000体生成しています。

※それぞれ単体の別オブジェクトとして動作させています

 

<アセット未使用版>

 

 Batches(ドローコール)が4000前後あります。

フレームレートは60FPS前後。 

 

f:id:rgamebox:20191025120018p:plain

 

<アセット使用版>

 

 

なんとBatches(ドローコール)が12に!

フレームレートも90FPS前後と、だいぶパフォーマンスあがっています。

f:id:rgamebox:20191025120243p:plain

 

 同一、もしくは少ない種類のキャラクターを大量に出したい時には使える手法となりそうです。

 

このアセットではないけど、近い手法がunity公式で紹介ページがあった。

技術ついての記述と、開発中のgithubコードがあるので参考になります。

blogs.unity3d.com

 

#unity #群衆 #アニメーション #負荷軽減