| On this page |
いくつかのOtis Muscle and Tissueレシピをタブメニューから使用することができます。これらは、シェルフツールのようなもので、学習目的でノードのネットワークを配置して接続し、プロセスを再生できます。 Otis Muscle and Tissue Simulation レシピには、独自の筋肉ジオメトリを持つあらゆるキャラクタ向けに、柔軟なシミュレーションセットアップが用意されています。Test Geometry: Otto Muscle and Tissue Simulationレシピを適用できない、非人型キャラクタや様式化されたキャラクタに最適です。
Note
このレシピは、Otis Solver SOP(SOPで動作するFEMのようなMuscle & Tssue Solver)を使用します。Otis SolverはHoudini Coreで使用 できない ため、このレシピもCoreでは使用できません。このレシピを含む.hipファイルはHoudini Coreで開くことができますが、Otis Solverのみ、パラメータがグレーアウトしています。
Note
このレシピでは、キャラクタはオブジェクトレベルではなく、ジオメトリコンテキストに配置するようにしてください。
重要なノード ¶
入力 ¶
MUSCLE_SURFACES, REST_BONES_TRIANGULATED, ANIM_BONES_TRIANGULATED, REST_SKIN, ANIM_SKIN
これらは、Test Geometry: Capybaraから抽出され、その後これらのNull入力に渡される、必要なメッシュです。このセットアップを使用すると、独自の筋肉、静止ボーン、アニメーションされたボーン、レンダースキンをレシピに供給できます。独自のジオメトリに置き換えたい場合は、このサンプルの学習と使用を参照してください。
Muscles ¶
muscle_setup
これは、以下を行なうノードを含むサブネットワークです:
-
Muscleサーフェスジオメトリを四面体メッシュに変換します。
-
繊維グルームをペイントします。
-
Muscleの物理プロパティとMuscleのOtis拘束を構成します。
詳細は、Muscleのセットアップを参照してください。
muscle_id
このMuscle ID SOPは、Muscle IDを作成し、入力ジオメトリ内の繋がったプリミティブの集合体毎にそれらを割り当てます。キャラクタのMuscleに
pathアトリビュートがある場合、muscle_idは、pathを/で区切ったときの最後から2番目の要素を使用して自動的に初期化されます。
musclesolidify4
このMuscle Solidify SOPは、Muscleサーフェスジオメトリを四面体メッシュに変換します。四面体のサイズは、 Remesh Surfaces フォルダの Min Size および Max Size によって決定されます。このレシピでは、解像度を低めにしてシミュレーション時間を短縮するため、四面体が非常に大きくなっています。より多くのディテールを維持したい場合は、キャラクタの四面体のサイズを小さくするとよいでしょう。
fibergroom
このFiber Groom SOPは、Muscle四面体メッシュの繊維方向をインタラクティブにペイントすることができます。
musclepropertiesotis1
このMuscle Properties Otis SOPは、キャラクタのMuscleに 物理プロパティ を割り当て、
Otis Solverが筋肉をシミュレーションする方法を決定します。これらの物理プロパティは、筋肉の形状変化に対する受容性や抵抗性、筋肉のどの領域が腱なのか、筋肉の剛性や柔軟性、筋肉が収縮した時の膨らみ具合など、Muscleの挙動を制御します。
muscleconstraintpropertiesotis1
このMuscle Constraint Properties Otis SOPは、Muscle Otis拘束の複数のレイヤを駆動するアトリビュートを作成および変更します。
Muscleのアクティブ化 ¶
tension_lines, activate, flex
Otis Muscles & Tissue システムは、
Muscle Auto Tension Lines SOPを使用して緊張ラインを自動的に作成します。そのため、旧バージョンのHoudiniのように、それぞれの筋肉に手動でラインを引く必要はありません。これらの緊張ラインはその後、
Muscle Tension Lines Activate SOPおよび
Muscle Flex SOPノードに接続され、シミュレーション中の筋肉の屈曲動作を設定します。
詳細は、筋緊張ラインと屈曲を参照してください。
FasciaまたはTissue ¶
fascia_setup, tissue_setup
これら2つのサブネットワークには、Fascia(筋膜)またはTissue(皮下組織)をセットアップおよび構成するためのノードが含まれています。
詳細は、Fascia & Tissueのセットアップを参照してください。
tissuesolidify1
このTissue Solidify Otis SOPは、FasciaとTissueのセットアップのサブネットワークである
fascia_setup, tissue_setupの両方にあります。外部サーフェスメッシュから四面体化したボリュームを生成して、軟組織シミュレーション用の解剖学的なジオメトリを準備します。このとき、必要に応じて、構造コンテキストとして内部のMuscleやボーンのジオメトリを使用します。fascia_setupで、 Method パラメータは Fascia に設定され、tissue_setupでは Fused Tissue and Core に設定されています。Fasciaの解像度がTissueの解像度よりも低くなる場合があるのは、FasciaはMuscleを所定の位置に保持するためにのみ必要されるのに対し、Tissueは最終的にSkin出力を駆動する必要があるためです。
tissuepropertiesotis1
このTissue Properties Otis SOPは、FasciaとTissueのセットアップのサブネットワークである
fascia_setup, tissue_setupの両方にあります。Tissueのシミュレーションの挙動を制御する物理プロパティと拘束アトリビュートを、アクティブ化して割り当てます。 Tissue Solid Layer タブがFasciaに影響しないのは、Fasciaは Tissue Core Layer のみで構成されているからです。
switch_sim_tissue
このノードで、FasciaとTissueのシミュレーションの使用を切り替えることができます。セットアップを切り替える方法については、このサンプルの学習と使用を参照してください。
Otis構成とソルバ ¶
otisconfiguremuscleandtissue1
このOtis Configure Muscle and Tissue SOPは、シミュレーション前の最後の準備段階です。このノードは最終構成に向けて上流ノードからすべてのジオメトリとアトリビュートを収集し、入力アトリビュートから必要な拘束を作成し、それをすべてOtis Solverに送信します。
詳細は、Otis構成とシミュレーションのワークフローを参照してください。
otissolver1
このOtis Solver SOPは、四面体ソフトボディ拘束向けに特化したソルバです。この特定のタスクでは、Vellum Solverよりも高速かつ正確です。筋肉と皮下組織のシミュレーションにはこのノードが最適です。
スキンのポスト処理 ¶
deform_skin
このサブネットワークには、スキンのポスト処理のセットアップが含まれています。皮下組織を筋肉とともにシミュレーションする際に適用します。
詳細は、スキンのポスト処理を参照してください。
Note
このサブネットが適切に機能するように、switch_sim_tissueスイッチが1に設定されていることを確認してください。
cache11
このノードで、ポスト処理が高速化します。Otisシミュレーションをディスクにキャッシュ化した状態で、Displayフラグをこのノードに設定し、フレーム範囲を再生します。これにより、シミュレーションがメモリにキャッシュ化されます。
skindeform1
このSkin Deform SOPは、レンダースキンアニメーションを1番目の入力、シミュレーションされたTissueの外部サーフェスを2番目の入力として受け取って、前者を後者で変形します。頭、手、足といったシミュレーションの影響を受けない領域は、
deform_skinサブネット内部で作成されskinmaskアトリビュートによって、変形から除外されます。 Skin Sliding のトグルをオンにすると、シミュレーションのような結果を提供するQuasistatic(準静的)Skinスライディングが有効になります。
wrinkledeformer1, switch_add_wrinkles
スイッチが1に設定されているとき、このWrinkle Deformer SOPによってプロシージャルな皺が追加されます。下流の
deltamush_weak Delta Mush SOPで皺をプレビューしましょう。そうしないと、皺がきつくなりすぎてしまいます。カスタムアトリビュートを作成して、異なる領域の皺の見た目を制御できます。
deltamush_weak, deltamush_strong, blend_strong_deltamush
deltamush_weak Delta Mush SOPはキャラクタ全体に適用され、メッシュのあらゆる小規模な変形を修正するのに大変便利です。
blend_strong_deltamush Wrangleは、より強いdeltamush_strongをブレンドして、シミュレーションジオメトリとアニメーションジオメトリ間のトランジション領域(手首、足首、首の上部など)にのみ影響するようにします。
このサンプルの学習と使用 ¶
| To... | Do this |
|---|---|
|
独自のキャラクタの筋肉、ボーン、アニメーション、レンダースキンを使用する |
入力ジオメトリの要件に関しては、Muscleのセットアップに必要なアセットセクションを参照してください。 |
|
FasciaとTissueのセットアップを切り替える |
|
|
シミュレーションを使って、アニメーションされたスキンを変形する |
|
|
異なる開始フレームを使用する |
|