プロシージャルニット作成③ ゲーム用ベイクとマテリアル検討①
ニットの表現をゲームで動作させる想定でParallaxやUEのストランドによるファーをテスト。 残念ながらこの記事内で良い結果まではたどり着くことができていません

ニットモデルをゲームで表現するための判断材料としていくつかのUE上での出力工程を確認しました。
環境
HoudiniFX 20.5.613
UnrealEngine 5.5.4
前回の内容
UV座標へのメッシュ投影を利用したプロシージャルニット作成②
https://www.procedural.jp/articles/nb7_fvxru/
少し間が空きました。
テクスチャのベイク
モデルへのベイクとUEでテストを行った際のディテールマップを作製するための工程
モデルテクスチャ
プロシージャルにニット形状を作成したモデルの元メッシュからPolyReduceなどでローポリメッシュを作成し、

LabsMapBakerを使ってBaseColorとNormalを作成
(MapBakerが簡易なケージモデルを法線方向からのサイズ指定で作成してくれるのでオススメです)


ディテール用ハイトマップ
ニットモデルの周りに生やしていたファーもハイトマップとしてベイクする。
(ただ結論から言うとこの工程で作成したテクスチャを割り当てた結果は微妙でした。)
Gridを新しく作成し、hairgenとGuideProcessを作成して似たようなファーになるようなガイドを作成する。

GuideProcessはDetailAttributeの「gl_shadeopencurves」で表示を変えているカーブなのでPolyWireなどを使ってポリゴン化する。polyWireはScaleの設定をAttributeにするとWidthとして持っている毛の太さを参照したポリゴンが作成できる。

ベイクされるテクスチャをループテクスチャにするためにY軸に180度回転したメッシュをマージ

モデル同様にMapsBakerを使ってHeightをベイク。Rangeをエクスプレッションで第2入力の上下幅になるようにする。

マテリアルでのアプローチ
いくつかのマテリアルをテスト
ファーを含めたベイク
テクスチャベイク時にポリゴン化したファーを含めてベイクした場合。
解像度にもよると思うが現実的な解像度ではまともに表示できない。

ベーシックなマテリアル + ディテールマップとベーシックなマテリアル + Parallax Occlusionディテール
ディテールマップを追加して表示できるようなマテリアル(上)
とファーなどに使われる場合もあるParallaxマップ(下)。

あまりディテールディテール用のテクスチャで本当に細かな質感を出そうと思うのはちょっと難しそう。
もちろん、見た目を詰めていけばよくなるとは思うものの、散った毛の本質は周りに飛んでいる毛だと思うので良い結果は遠そうな印象。
ストランドでのアプローチ
ストランドも一応試す。
やりたいことは一致すると思うが今回はスタティックメッシュに対して飛んだ毛を作成したいので負荷的にはあまり適切ではないと思う(負荷の検証まではしていません)
HoudiniLabsはHoudiniで作成したヘアスプラインをUnrealEngine上に出力可能なノードを用意してくれている。
LabsUnrealGroomExpoortを作成し、第1入力にヘアカーブ、第3入力にスキンメッシュを接続する。
SaveToDiskを実行するとAlembic形式でカーブが出力される

UnrealEngineでGroom用のプラグインを有効にし、

AlembicをUnrealEngineにImportする。
座標系を合わせるために回転は-90, 0, 180。(今回のテスト環境はUE5.5.3でした。UE5.6だと不要かも)

スタティックメッシュと同じ位置に移動すれば出力時と同一に配置できる。

ストランドはスケルタルメッシュであればバインドすることでカラーの転送なども可能なようですが今回はスタティックメッシュで試していたので色もすべてのストランドで共通になってしまっています。
見た目は行けそう…ですが処理負荷は試していないものの、定説で考えればシーン内の大量のスタティックメッシュに生やすのはちょっと難しいと思います。
残念ながらこれなら行けるだろうという感覚が得られるところまでたどり着きませんでした。
今回の目標だった「ニットモデルの飛び散った毛」はゲームモデルではあまり描画されるものではないのでデータの出力からのアプローチは全体的に少なくとも簡単に良い結果が出るものでは無いですね…。
恐らくベイクや既存機能は不適切なので、追い追い時間を見つけて専用のポリゴンを作成する方法を構築したり専用のマテリアルを作成した表現など模索してみます。
また、テクスチャべいくについては今回COPは使いませんでした。Houdini21でアップデートが来るのでHoudini21になったタイミングで試すと思います。
Houdini21SneakPeakではCOPでのベイクが映っていたのでHoudini21になったら形式化されたモデルのテクスチャベイクもやってみようかなと感じます。

fish_ball
プロシージャル魚類