Maya XGenは導入されてから約10年が経過しています。ディズニーで提案されたファイルベースのインスタンサーですが、パイプライン的にもMayaのノードベースにも合わないので、XGenを使用しない新しい髪の毛と羽のツールを作りました。
脱XGENMAYA上で髪の毛と羽のプロシージャ化市川 翔大Martin Dulhoste© OLM Digital, Inc. 1
View Slide
概要• 以前のプラグイン• 新しいワークフロー• 新しいガイドツール• 羽モデリング• カスタムノードエディター• ベースカーブツール• 今後• まとめ© OLM Digital, Inc. 2
以前のプラグイン© OLM Digital, Inc. 3
XGen• 大きなジオメトリにプリミティブを配置– 地面に草をはやす• 2つのバージョン– Legacy: メッシュのインスタンス化に優れる– Interactive Grooming: 毛の生成に優れる• グリッドパターンの問題あり• Legacy でInteractive Grooming の機能使いたい→ OLMHair 実装© OLM Digital, Inc. 4Interactive Grooming のグリッドパターン問題Part CombShape Comb, Add…Interactive Grooming 機能例
OLM Hair• ガイド作成、グルーミングビューポートプレビュー• ガイドをブラシで成形• XGenへのエクスポート© OLM Digital, Inc. 5
以前のワークフローの問題点• XGenより高速化したい• バグ修正、要望対応を柔軟にしたい• XGenファイル → パイプラインが大変• XGenとOLMHairの行き来が多い• OLMHairは羽に非対応© OLM Digital, Inc. 6ガイドノードOLM Hair のワークフローXGenベースカーブノードArnold のレンダリングXGenガイドXgen モディファイヤメッシュ変換
解決案• Yeti– ノードグラフによるプロシージャルな非破壊的グルーミングが可能– 羽対応– [欠点]• 追加コストがかかる• カスタマイズがスクリプトのみ• OLM Hairの改定版– Maya上でYetiのようなノードグラフを実現– プロシージャルのモディファイヤ– 羽のモデリングノード– 現場の声を反映© OLM Digital, Inc. 7Yeti のUI (ノードグラフとプレビュー)Part CombShape Comb, Add…編集の入れ替えや、一部の編集の削除
新しいワークフロー© OLM Digital, Inc. 8
新しいワークフロー© OLM Digital, Inc. 9プロシージャー非プロシージャー変換入力ガイドノードOLM HairXGenベースカーブノードArnold のレンダリングXGenガイドXgen モディファイヤメッシュOLM Hair And FeatherArnold のレンダリングガイドノード羽モデルベースカーブノードメッシュモディファイヤノードCustom Node Editor
新しいワークフロー© OLM Digital, Inc. 10プロシージャー非プロシージャー入力Arnold のレンダリングガイドノード羽モデルベースカーブノードメッシュモディファイヤノード
ガイドの作成© OLM Digital, Inc. 11
グリッド• UV空間上でグリッド状に配置© OLM Digital, Inc. 12Density: 10 Rotation: 45 Relaxation: 1
ドラッグ• Singleモード: 一本づつ追加• Densityモード: 指定された密度で複数追加© OLM Digital, Inc. 13
パス• 頂点の間に配置• ランプパラメーターでパスのカスタマイズが可能© OLM Digital, Inc. 14
パス• カスタムのカーブ沿いに配置© OLM Digital, Inc. 15
ガイドの修正© OLM Digital, Inc. 16
概要• Viewport上のブラシで編集© OLM Digital, Inc. 17
ピンチ• ピンチ、拡張、ランダム© OLM Digital, Inc. 18
スライド© OLM Digital, Inc. 19
アトリビュートの変更• 形、長さ、回転、傾き• 補間、コピー&ぺースト、ランダム化• アトリビュートの選択• 必要ならアトリビュートの追加可能© OLM Digital, Inc. 20
アトリビュートの変化© OLM Digital, Inc. 21• 形と回転のコピー&ぺーストの例
表示• 根本の表示• ガイドの位置の修正しやすい© OLM Digital, Inc. 22
羽のモデリング© OLM Digital, Inc. 23
プロシージャーモデリング• Mayaノード• グリッドでのモデリング• グリッドの頂点で形の修正© OLM Digital, Inc. 24
トポロジーのパラメーター• 羽の横のモデリング• グリッドの幅とベンド© OLM Digital, Inc. 25
羽枝 と 羽の裂け目• 羽枝パラメーター– 密度– 上下の幅– 形のブレンド– 方位角のバリエーション– 長さのバリエーション– 非対称• 裂け目– サイズ– 量© OLM Digital, Inc. 26
ノードエディター© OLM Digital, Inc. 27
Mayaのノードエディターのカスタマイズ• 新しい機能• Yetiのようにシンプルな接続© OLM Digital, Inc. 28[参考] Yeti のノードグラフ
ノード作成• カテゴリーごとのノード群• ノードの作成– 選択されているノードに自動的に接続© OLM Digital, Inc. 29
ユーティリティ• 自動接続のON/OFF切替• ビューの自動スコープのON/OFF切替• 全体を見せる• 選択されているノードを安全に削除© OLM Digital, Inc. 30
ノードのリスト• 作成されたノードの一覧• 自動更新(追加、削除、リネーム)© OLM Digital, Inc. 31
ベースカーブの作成© OLM Digital, Inc. 32
スキャッター• パラメータ か 密度マップ で作成• ポワソンディスクサンプリング© OLM Digital, Inc. 33
グリッド• UV空間での配置• Relaxationパラメーター© OLM Digital, Inc. 34
ベースカーブの修正© OLM Digital, Inc. 35
Scale• ガイドからの相対値で長さを設定• ランダムに長さを設定• マップで長さを指定• カーブの頂点数© OLM Digital, Inc. 36
ベースカーブ修正ノード• Comb• Surface Comb• Clump• Curl• Bend• Noise• Cut• Collide© OLM Digital, Inc. 37Comb, Clump: ベースカーブをガイドの形状にあわせるCurl, Noise: 全体の形状を変える
Comb• ガイドを使って形を変える© OLM Digital, Inc. 38
Surface Comb• ベクターフィールドで毛の流れを定義© OLM Digital, Inc. 39
Clump• 近いガイドの先端に集める• 先端または根元を集める© OLM Digital, Inc. 40
Curl• カーブを螺旋状にカールさせる• 頂点数が多くないときれいに見えない© OLM Digital, Inc. 41
Bend• カーブの向きに合わせて曲げる• 向きの修正可能© OLM Digital, Inc. 42
Noise• Perlin ノイズ• スケールと周波数のパラメーター© OLM Digital, Inc. 43
Cut• 頂点の数を維持• カラーマップで切る量を決められる© OLM Digital, Inc. 44
Collide元のカーブ© OLM Digital, Inc. 45Flexible モード (柔らかめ)– カーブが表面にフィットStiff モード (硬め)– 髪の毛の形を保つ
Collide 処理の流れ© OLM Digital, Inc. 46頂点を障害物の外の押し出すカーブの長さを維持するために長さを調整
ノードの共有アトリビュート• ガイドの入力– ガイドノードを選ぶ– ガイドの影響範囲をパラメーターで調整• 長さ維持• メッシュとの衝突• Mayaの “HasNoEffect”モード対応© OLM Digital, Inc. 47
ユーティリティ• ガイドからベースカーブに変換• カーブのマージ– 同じ頂点の数のみ© OLM Digital, Inc. 48変換前 (ガイド) 変換後 (ベースカーブ)
Render ノード• パラメーター– ビューポート– Arnold• ベースカーブのレンダリング– カーブとしてレンダリング– 羽に置き換え• マテリアル、テクスチャ• 密度© OLM Digital, Inc. 49
レンダリング結果の例© OLM Digital, Inc. 50
XGenとの比較© OLM Digital, Inc. 51XGen OLM Hair And Feather
今後• UIの改善– ショートカットキー追加• ノードグラフの計算時間– Bifrost を使う?© OLM Digital, Inc. 52OLM Hair and Feather のノードエディターBifrost のノードグラフ
今後• レンダリング時に自己衝突を避ける• 翼ツール• 羽のテクスチャ改善• 羽のモデリングパラメーター追加© OLM Digital, Inc. 53Yeti で作成した翼の例テクスチャを使用した羽のレンダリング結果
まとめ• 非破壊的モデリング– グラフノード– ガイド• 羽のレンダリング• XGenから脱却• まだ開発中© OLM Digital, Inc. 54Part Comb Shape Comb, Add…編集の入れ替えや、一部の編集の削除