今回は人の髪の毛をFiber_FXで表現するということだが、髪の毛ってどのくらい生えているのか?
wikiによれば人の髪の毛は大体7~14万本も生えているそうだ。当然それだけの髪を1本1本作るとなるとレンダリングはかなり重くなる。3Dが進んだ現在でもリアルな毛を表現する作品はそこまで多くはなく、ゲームではムービーぐらいにしか使われない。
今後CPUやGPUが高性能化してリアルレンダリングが進んでいったとしても、先に4kや8kの高画質化を優先していくのであればそれは平行性を保ち、需要はそこまで高くはならないと予想できる。
つまりゲーム用にモデリングする上では必要のない技術であると言えるが映像作品として使用するなら話は別だ。ナルニアのライオンやジャングルブックの獣達のように毛をFiber_FXで表現するのは非常に好ましくリアリティーを出すにはうってつけと言える。
ということで簡単な説明をしたので実際に手順を記しておこう。
まずはモデラーで適当に顔の大きさ位の球を作る。
軸はXでサイドと分割数を基準値の2倍の48と24にした。あとは半径100mmにして直径20cmの球を作る。
次に髪の生える場所をポリゴンで選択してショートカットqで名前を付ける。ここではhairとした。
セットアップタブからファイバーFXを選んで左下の方にある生成ボタンを上がhairであることを確認してから押すと生やしたい部分に髪が生成される。基本的にファイバータブだけで他の設定は触れなくてよい。ここではファイバー量を500、ファイバーの長さを80㎜とした。
本来ならファイバー量は髪の本数である10万程に設定するべきなのだがそれだとかなり処理が重くなるのでここでは控えめに値を取っておく。OKを押すとレイヤー2に髪が生成される。
レイアウトにオブジェクトを送りファイバーFXの設定を更に変更していく。
左にある編集のその他ウィンドウを開いてファイバーFXを選ぶ。
レイヤー2を選択して起動を押す。目のアイコンにチェックを入れファイバー量を200とする。要はモデラーで入れたファイバー量500本×200本で10万本ということである。なぜこんな面倒なことをするのかというと10万本を処理するのと500本一つ一つに199本が追従するのでは後者の処理速度が断然に早いからだ。しかしモデラーの時点で200以下にすると髪が不自然に見えたり、生えていない箇所が出来たりとするのでバランスが重要である。ガイド半径を50㎜としてファイバー種類をストローク。キャップ先を先端のキャップにする。ファイバーの幅は500umが基準値だがボリュームがかなり出るので250~400umで調節するといい。
設定が終わったらファイバーFXを一旦閉じてレイヤー2のモーションプロパティ(ショートカットm)を開いて親アイテムをレイヤー1にして追従するようにする。こうすればレイヤー1である顔を動かせば髪もキチンと動いてくれる。
次に物理演算を組み込んでいく。
FXツールタブからBulletのアイテムプロパティを選び編集ボタンのレイアウトから追加を押してレイヤー1とレイヤー2を追加する。
レイヤー1の種類をキネマティック。レイヤー2をデフォーミングにして物理演算を有効にチェックを入れて閉じる。
シークを0から120に移動させ物理演算を計算させて髪がキチンと重力によって落ちればOK。
最後にVPRでチェックしながら髪の色を変えたり艶を整えて完成。
YouTubeのD‐STOMEの公式動画で髪を作る動画があるのだが、それを参考にすると髪が不自然に揺れて使い物にならないので気を付けてほしい。そもそもLightwaveのバージョンが古いので参考にあまりならない。
0コメント