$30 off During Our Annual Pro Sale. View Details »

OLM R&D祭2022 10/20 脱Xgen:Maya上で髪の毛と羽のプロシージャ化

OLM R&D祭2022 10/20 脱Xgen:Maya上で髪の毛と羽のプロシージャ化

Maya XGenは導入されてから約10年が経過しています。ディズニーで提案されたファイルベースのインスタンサーですが、パイプライン的にもMayaのノードベースにも合わないので、XGenを使用しない新しい髪の毛と羽のツールを作りました。

OLM Digital R&D
PRO

October 25, 2022
Tweet

More Decks by OLM Digital R&D

Other Decks in Technology

Transcript

  1. 脱XGEN
    MAYA上で髪の毛と羽のプロシージャ化
    市川 翔大
    Martin Dulhoste
    © OLM Digital, Inc. 1

    View Slide

  2. 概要
    • 以前のプラグイン
    • 新しいワークフロー
    • 新しいガイドツール
    • 羽モデリング
    • カスタムノードエディター
    • ベースカーブツール
    • 今後
    • まとめ
    © OLM Digital, Inc. 2

    View Slide

  3. 以前のプラグイン
    © OLM Digital, Inc. 3

    View Slide

  4. XGen
    • 大きなジオメトリにプリミティブを配置
    – 地面に草をはやす
    • 2つのバージョン
    – Legacy: メッシュのインスタンス化に優れる
    – Interactive Grooming: 毛の生成に優れる
    • グリッドパターンの問題あり
    • Legacy で
    Interactive Grooming の機能使いたい
    → OLMHair 実装
    © OLM Digital, Inc. 4
    Interactive Grooming のグリッドパターン問題
    Part Com
    b
    Shape Comb, Add…
    Interactive Grooming 機能例

    View Slide

  5. OLM Hair
    • ガイド作成、グルーミングビューポートプレビュー
    • ガイドをブラシで成形
    • XGenへのエクスポート
    © OLM Digital, Inc. 5

    View Slide

  6. 以前のワークフローの問題点
    • XGenより高速化したい
    • バグ修正、要望対応を柔軟にしたい
    • XGenファイル → パイプラインが大変
    • XGenとOLMHairの行き来が多い
    • OLMHairは羽に非対応
    © OLM Digital, Inc. 6
    ガイド
    ノード
    OLM Hair のワークフロー
    XGen
    ベース
    カーブ
    ノード
    Arnold のレンダリング
    XGen
    ガイド
    Xgen モディファイヤ
    メッシュ
    変換

    View Slide

  7. 解決案
    • Yeti
    – ノードグラフによるプロシージャルな
    非破壊的グルーミングが可能
    – 羽対応
    – [欠点]
    • 追加コストがかかる
    • カスタマイズがスクリプトのみ
    • OLM Hairの改定版
    – Maya上でYetiのようなノードグラフを実現
    – プロシージャルのモディファイヤ
    – 羽のモデリングノード
    – 現場の声を反映
    © OLM Digital, Inc. 7
    Yeti のUI (ノードグラフとプレビュー)
    Part Com
    b
    Shape Comb, Add…
    編集の入れ替えや、一部の編集の削除

    View Slide

  8. 新しいワークフロー
    © OLM Digital, Inc. 8

    View Slide

  9. 新しいワークフロー
    © OLM Digital, Inc. 9
    プロシージャー
    非プロシージャー
    変換
    入力
    ガイド
    ノード
    OLM Hair
    XGen
    ベースカーブ
    ノード
    Arnold のレンダリング
    XGen
    ガイド
    Xgen モディファイヤ
    メッシュ
    OLM Hair And Feather
    Arnold のレンダリング
    ガイド
    ノード
    羽モデル
    ベースカーブ
    ノード
    メッシュ
    モディファイヤノード
    Custom Node Editor

    View Slide

  10. 新しいワークフロー
    © OLM Digital, Inc. 10
    プロシージャー
    非プロシージャー
    入力
    Arnold のレンダリング
    ガイドノード
    羽モデル
    ベースカーブ
    ノード
    メッシュ
    モディファ
    イヤノード

    View Slide

  11. ガイドの作成
    © OLM Digital, Inc. 11

    View Slide

  12. グリッド
    • UV空間上でグリッド状に配置
    © OLM Digital, Inc. 12
    Density: 10 Rotation: 45 Relaxation: 1

    View Slide

  13. ドラッグ
    • Singleモード: 一本づつ追加
    • Densityモード: 指定された密度で複数追加
    © OLM Digital, Inc. 13

    View Slide

  14. パス
    • 頂点の間に配置
    • ランプパラメーターでパスのカスタマイズが可能
    © OLM Digital, Inc. 14

    View Slide

  15. パス
    • カスタムのカーブ沿いに配置
    © OLM Digital, Inc. 15

    View Slide

  16. ガイドの修正
    © OLM Digital, Inc. 16

    View Slide

  17. 概要
    • Viewport上のブラシで編集
    © OLM Digital, Inc. 17

    View Slide

  18. ピンチ
    • ピンチ、拡張、ランダム
    © OLM Digital, Inc. 18

    View Slide

  19. スライド
    © OLM Digital, Inc. 19

    View Slide

  20. アトリビュートの変更
    • 形、長さ、回転、傾き
    • 補間、コピー&ぺースト、ランダム化
    • アトリビュートの選択
    • 必要ならアトリビュートの追加可能
    © OLM Digital, Inc. 20

    View Slide

  21. アトリビュートの変化
    © OLM Digital, Inc. 21
    • 形と回転のコピー&ぺーストの例

    View Slide

  22. 表示
    • 根本の表示
    • ガイドの位置の修正しやすい
    © OLM Digital, Inc. 22

    View Slide

  23. 羽のモデリング
    © OLM Digital, Inc. 23

    View Slide

  24. プロシージャーモデリング
    • Mayaノード
    • グリッドでのモデリング
    • グリッドの頂点で形の修正
    © OLM Digital, Inc. 24

    View Slide

  25. トポロジーのパラメーター
    • 羽の横のモデリング
    • グリッドの幅とベンド
    © OLM Digital, Inc. 25

    View Slide

  26. 羽枝 と 羽の裂け目
    • 羽枝パラメーター
    – 密度
    – 上下の幅
    – 形のブレンド
    – 方位角のバリエーション
    – 長さのバリエーション
    – 非対称
    • 裂け目
    – サイズ
    – 量
    © OLM Digital, Inc. 26

    View Slide

  27. ノードエディター
    © OLM Digital, Inc. 27

    View Slide

  28. Mayaのノードエディターのカスタマイズ
    • 新しい機能
    • Yetiのようにシンプルな接続
    © OLM Digital, Inc. 28
    [参考] Yeti のノードグラフ

    View Slide

  29. ノード作成
    • カテゴリーごとのノード群
    • ノードの作成
    – 選択されているノードに自動的に接続
    © OLM Digital, Inc. 29

    View Slide

  30. ユーティリティ
    • 自動接続のON/OFF切替
    • ビューの自動スコープのON/OFF切替
    • 全体を見せる
    • 選択されているノードを安全に削除
    © OLM Digital, Inc. 30

    View Slide

  31. ノードのリスト
    • 作成されたノードの一覧
    • 自動更新(追加、削除、リネーム)
    © OLM Digital, Inc. 31

    View Slide

  32. ベースカーブの作成
    © OLM Digital, Inc. 32

    View Slide

  33. スキャッター
    • パラメータ か 密度マップ で作成
    • ポワソンディスクサンプリング
    © OLM Digital, Inc. 33

    View Slide

  34. グリッド
    • UV空間での配置
    • Relaxationパラメーター
    © OLM Digital, Inc. 34

    View Slide

  35. ベースカーブの修正
    © OLM Digital, Inc. 35

    View Slide

  36. Scale
    • ガイドからの相対値で長さを設定
    • ランダムに長さを設定
    • マップで長さを指定
    • カーブの頂点数
    © OLM Digital, Inc. 36

    View Slide

  37. ベースカーブ修正ノード
    • Comb
    • Surface Comb
    • Clump
    • Curl
    • Bend
    • Noise
    • Cut
    • Collide
    © OLM Digital, Inc. 37
    Comb, Clump: ベースカーブをガイドの形状にあわせる
    Curl, Noise: 全体の形状を変える

    View Slide

  38. Comb
    • ガイドを使って形を変える
    © OLM Digital, Inc. 38

    View Slide

  39. Surface Comb
    • ベクターフィールドで毛の流れを定義
    © OLM Digital, Inc. 39

    View Slide

  40. Clump
    • 近いガイドの先端に集める
    • 先端または根元を集める
    © OLM Digital, Inc. 40

    View Slide

  41. Curl
    • カーブを螺旋状にカールさせる
    • 頂点数が多くないときれいに見えない
    © OLM Digital, Inc. 41

    View Slide

  42. Bend
    • カーブの向きに合わせて曲げる
    • 向きの修正可能
    © OLM Digital, Inc. 42

    View Slide

  43. Noise
    • Perlin ノイズ
    • スケールと周波数のパラメーター
    © OLM Digital, Inc. 43

    View Slide

  44. Cut
    • 頂点の数を維持
    • カラーマップで切る量を決められる
    © OLM Digital, Inc. 44

    View Slide

  45. Collide
    元のカーブ
    © OLM Digital, Inc. 45
    Flexible モード (柔らかめ)
    – カーブが表面にフィット
    Stiff モード (硬め)
    – 髪の毛の形を保つ

    View Slide

  46. Collide 処理の流れ
    © OLM Digital, Inc. 46
    頂点を障害物の外の押し出す
    カーブの長さを維持するために長さを調整

    View Slide

  47. ノードの共有アトリビュート
    • ガイドの入力
    – ガイドノードを選ぶ
    – ガイドの影響範囲をパラメーターで
    調整
    • 長さ維持
    • メッシュとの衝突
    • Mayaの “HasNoEffect”モード対応
    © OLM Digital, Inc. 47

    View Slide

  48. ユーティリティ
    • ガイドからベースカーブに変換
    • カーブのマージ
    – 同じ頂点の数のみ
    © OLM Digital, Inc. 48
    変換前 (ガイド) 変換後 (ベースカーブ)

    View Slide

  49. Render ノード
    • パラメーター
    – ビューポート
    – Arnold
    • ベースカーブのレンダリング
    – カーブとしてレンダリング
    – 羽に置き換え
    • マテリアル、テクスチャ
    • 密度
    © OLM Digital, Inc. 49

    View Slide

  50. レンダリング結果の例
    © OLM Digital, Inc. 50

    View Slide

  51. XGenとの比較
    © OLM Digital, Inc. 51
    XGen OLM Hair And Feather

    View Slide

  52. 今後
    • UIの改善
    – ショートカットキー追加
    • ノードグラフの計算時間
    – Bifrost を使う?
    © OLM Digital, Inc. 52
    OLM Hair and Feather のノードエディター
    Bifrost のノードグラフ

    View Slide

  53. 今後
    • レンダリング時に自己衝突を避ける
    • 翼ツール
    • 羽のテクスチャ改善
    • 羽のモデリングパラメーター追加
    © OLM Digital, Inc. 53
    Yeti で作成した翼の例
    テクスチャを使用した羽のレンダリング結果

    View Slide

  54. まとめ
    • 非破壊的モデリング
    – グラフノード
    – ガイド
    • 羽のレンダリング
    • XGenから脱却
    • まだ開発中
    © OLM Digital, Inc. 54
    Part Comb Shape Comb, Add…
    編集の入れ替えや、一部の編集の削除

    View Slide