はじめに
この記事は、Unreal Engine 4 (UE4) その3 Advent Calendar 2020 17日目の記事になります。
UE4.26でProduction Readyになったヘアー・ファーを少し触ってみて、いろいろと便利な機能があって感動したので、それについて書いてみようと思います。
UE4ではグルーム(Groom)と呼んでいるようです。
セットアップに関しては公式ドキュメントの通りやればできるので、詳しくはこちらをご覧ください。
https://docs.unrealengine.com/ja/WorkingWithContent/Hair/index.html
バインディングアセット
バインディングアセットを正しく設定すると、ボーンアニメーションなどでメッシュが変形してもグルームが自動で追従します!
最初、そういう機能があるとは知らなかったので、追従させるためにはAlembic Animationを作って読み込む方法とかを無駄に調べたりしてました。
Alembic GroomとSkeletal Meshは別々に読み込むのですが、ここで座標系がずれていてバインディングがうまくいかないことがあったので、読み込み時に座標系をきちんとあわせておいたほうがいいかと思います。
LOD
LODが一瞬で設定できます!
グルームアセットを開いてLODのメニューから下の+を押すだけで、LODを追加できます。
間引くと同時にグルームを太くすることができるので、薄毛になったりせずに処理負荷軽減ができます。
下の動画だと、LOD1で半分、LOD2で4分の1の量になっています。
カード型のメッシュなどにも切り替えることができます。
シミュレーション
Niagaraを使ってシミュレーションを加工できるので、アイデア次第で面白いこともできそうです。
プラグインフォルダのHairStrands ContentのなかにあるGroomSprigsSystemなどをコピーしてカスタムできます。
例えば、風の向きを変えたいときは、Setup Groom PhysicsのなかのAirVelocityの値をModule Inputから与えてあげるようにすればランタイムで動的に制御できます。
終わりに
こんなにフサフサな毛がリアルタイムで動くのが驚きです。リアルタイムファーは意外と早く主流になるかもしれませんね。
ちょうど、明日から UE4ぷちコン 映像編2nd もはじまります。
映像では特に使いやすいと思いますので、ぜひ試してみてください!