| On this page |
|
Otis Muscle and Tissue システムは、Otis Solverを用いて構築された新しいシミュレーションフレームワークです。 MuscleとTissueを単一の統合シミュレーションパスでシミュレーションすることで、リアルな解剖学的な動きを実現します。 Otis Solverは、 Vertex Block Descent(VBD) アーキテクチャに基づいて構築されています。 このシステムによって、ワークフローの簡素化、より堅牢なコリジョン処理、解剖学的精度の向上が可能となっています。
Core Otisワークフロー ¶
以前のVellumシステムでは、Muscle、Tissue、スキンのシミュレーションにマルチパス方式が採用されていました。 Otis Muscle and Tissue システムでは、すべてのシミュレーションレイヤが同時にシミュレーションされるシングルパス方式を採用しています。
Otisの核となるワークフローは、主に5つのステージで行なわれます:
-
Muscle、静止ボーンとアニメーションボーン、レンダリング可能なスキンなどのジオメトリを用意します。
-
Muscleシミュレーション設定をセットアップします。
-
筋膜(Fascia)または組織(Tissue)のセットアップのいずれかを選択します。 各セットアップは用途が異なります。詳細は、FasciaとTissueのセットアップを参照してください。
-
MuscleとTissue/Fasciaの両方を同時にシミュレーションします。
-
ポスト処理を実行して、レンダリング可能なスキンを変形させて、スキンの滑りを再現します。 これは、FasciaではなくTissueをシミュレーションした場合に最も効果的です。
ジオメトリのシミュレーションの挙動を理解する ¶
Otis Muscle and Tissue システムは、モーションやフォースの作用下でリアルなMuscleやソフトTissueがどのように振る舞うかを模倣した階層的な解剖学的シミュレーションフレームワークに基づいて構築されています。 このシステムでは、3つの異なるレイヤを含んだ単一の統合シミュレーションパスを使用します:
-
Muscleとボーンのレイヤ
-
Tissueコアレイヤ(内部)
-
Tissueソリッドレイヤ(脂肪)
Muscleとボーン ¶
Muscle/ボーンレイヤでは、キャラクタの基礎となる解剖学的構造を用意します。 これは、キャラクタのベースとなるボリュームとシルエットであり、Tissueレイヤのアニメーションやシミュレーションを駆動する役割を果たします。
Muscle/ボーンは、以下のいくつかの方法でシミュレーションに関与します:
-
Tissueソリッド(脂肪)レイヤは、Muscleやボーンのジオメトリと衝突することで、リアルな表面の滑りや変形を可能にします。
-
Tissueコアレイヤは、モーションを固定してフォースを伝達するために、Muscle/ボーンに対してソフトに拘束されています。
-
Muscle/ボーンは、コアレイヤと同じ空間を占有します。 この重なりによって、TissueコアレイヤがMuscleやボーンと共に動くことが可能となり、滑らかな動きと簡素化された拘束セットアップが実現されています。
Tissueレイヤの生成 ¶
Tissueジオメトリは、TissueコアレイヤとTissueソリッドレイヤ(脂肪)という2つの四面体レイヤに分かれています。 これらのレイヤは、 Muscleとボーンジオメトリ と 外側のレンダリングスキン の空間的な関係に基づいて自動生成されます。
このレイヤシステムは、完全にジオメトリ駆動型であり、Muscle/ボーンがレンダリングスキンからどの程度離れているかに基づいてTissueコアレイヤの厚さを自動計算します。 例えば、カバのキャラクタの場合、Muscle/ボーンはより深いところまで埋め込まれているため、Tissueレイヤは厚くなります。 これによって、より大きく、ぷるぷるとした動きが可能になります。 対照的に、トラのような痩せたキャラクタの場合、Muscleやボーンがスキンジオメトリに近いところにあるため、より薄い脂肪レイヤが生成されます。
Tip
Tissueソリッドレイヤが極端に薄くならないように、Muscle/ボーンジオメトリとレンダリングスキンの間に十分な隙間を確保してください。
必要に応じて、Muscle Adjust Volume SOPを使用して、ソリッド化する前に静止Muscleを内側にわずかに収縮させることができます。
Tissueコアレイヤ(内部) ¶
Tissueコアレイヤは、内部の四面体ボリュームとして自動生成されます。 このレイヤは、キャラクタのMuscle/ボーンにシュリンクラップします。 TissueコアレイヤとMuscle/ボーンは、重なり合い、同じ空間を埋め尽くしていることを理解することが重要です。 これによってセットアップが簡素化され、モーションがTissueソリッドレイヤやレンダリングスキンへスムーズに伝達されるようになります。
Tissueコアレイヤは、ソフト拘束を通じてMuscle/ボーンに固定されます。 Tissueコアレイヤは、Tissueソリッドレイヤ(脂肪)と融合して連続したメッシュを形成します。 このレイヤは剛体ではありませんが、キャラクタが自然に動いて変形できるようにしつつ、すべてをまとめて保持するソフトアンカーとして機能します。 また、Muscle/ボーンからのフォースを外側Tissueソリッドレイヤ(脂肪)へと伝達する架け橋としての役割も果たします。 TissueコアレイヤがMuscle/ボーンからのアニメーションやモーションを受け取ると、その変形をTissueソリッドレイヤ(脂肪)へと外側へ伝達するトランスミッターとして機能します。
Tissueソリッドレイヤ(脂肪) ¶
Tissueソリッドレイヤ(脂肪)は、四面体ボリュームとして自動生成されます。 このレイヤは、Tissueコアレイヤと外側レンダリングスキンの間に位置します。
FasciaとTissueのシミュレーション ¶
Otis Muscles and Tissue システムには、四面体ボリュームレイヤを生成する手法が2つあります: Fascia および Tissue 。 それぞれの手法には、独自のジオメトリ構造、ワークフロー、用途があります。
Fascia(筋膜) ¶
Fasciaシミュレーションには、Muscle/ボーンをシュリンクラップした四面体ボリュームであるコアレイヤのみが含まれます。 このセットアップは外側脂肪レイヤを生成しないので、シミュレーションが高速で、設定も簡単です。 Fasciaは、Muscleの挙動の検証、衝突のデバッグ、シミュレーションセットアップの迅速なテストなど、開発の初期段階での使用を想定しています。
シミュレーション中、Fasciaでは引き締まった最低限の変形が生じます。 外側脂肪レイヤがないため、コアレイヤは大元のMuscle/ボーンの動きに密接に追従し、二次的な動きはほとんど発生しません。
Tissue(組織) ¶
Tissueシミュレーションには、TissueコアレイヤとTissueソリッドレイヤ(脂肪)の両方が含まれます。 この二重レイヤ構造によって、システムは高い解剖学的精度でソフトTissueをシミュレーションすることができます。 Tissueは、リアルなボリューム感、揺れ、動きの遅れが不可欠な最終品質のシミュレーション向けに設計されています。
シミュレーション中、Tissueはより複雑な変形と動的な二次的な動きを生成します。 このセットアップによって、Tissueソリッド(脂肪)レイヤが滑ったり、衝突したり、変形したりして、揺れやぐらつき効果を生み出します。 これは、カバのようにTissueが厚いキャラクタや、お腹や頬などより柔らかな動きが求められる部位に役立ちます。
スキンのポスト処理 ¶
Tissueのシミュレーションが完了したら、Tissueの外側サーフェスを抽出して、それをレンダリング可能スキンの変形に利用します。 その後、必要に応じて、そのスキンの滑り、皺、スカルプトによる修正をプロシージャルに追加することができます。
アタッチメント(付着)の挙動 ¶
コンポーネント間の相互作用は、拘束システムによって制御されます。 これらの拘束によって、Muscleがボーンにどのように付着するか、Tissueが大元の構造にどのように接続されるか、そしてポイントアニメーションがTissueにどのように適用されるかが決定されます。 このシステムでは、アタッチメントの強度を様々なレベルで調整できるため、各コンポーネントの挙動を個別に変更することが可能です。
アタッチメント拘束の関係性を理解することは、シミュレーション結果を微調整する上で重要です。 複数のアタッチメント拘束が共存し、連動して同じジオメトリに影響を与えるためには、ジオメトリの各部分に対して作用する拘束の種類を十分に把握しておくことが重要です。
Houdiniでアタッチメントを可視化するには:
-
Otis Configure Muscle and Tissue SOPのディスプレイフラグをクリックします。
-
Visualization タブの Always Show Visualizations チェックボックスを有効にします。
これで、ビューポート上でキャラクタのアタッチメントを確認できるようになります。
Muscle Ends ¶
Muscle Endsは、Muscleをボーンに接続する弾性のあるアタッチメントです。 これらはビューポート上でピンク色の線で視覚的に表示されます。 その主な役割は、モーションや変形中にMuscleがボーンに対して正しい解剖学的位置を維持できるようにすることです。 これらがなければ、Muscleは物理的なアンカーポイントを失い、シミュレーション中にスケルトンからずれたり浮いてしまったりし、非リアルまたは望ましくない挙動につながる可能性があります。
Muscle Endsのパラメータは、Muscle Constraint Properties Otis SOPおよび
Otis Configure Muscle and Tissue SOPで設定することができます。
Muscle Glue ¶
Muscle Glueは、Muscleを別のMuscleに接続する弾性のあるアタッチメントです。 これらはビューポート上で紫色の線で視覚的に表示されます。 Muscle Glueを使用することで、シミュレーション中に個別のMuscleパーツを単一のMuscle群のように振る舞わせることができます。 例えば、腹筋は個別の小さなMuscleで構成されていますが、これらは一体となって収縮/変形させる必要があります。 Muscle Glueは、これらの個々のMuscleを統一された構造として結びつけるのに役立ちます。
Muscle Glueのパラメータは、Muscle Constraint Properties Otis SOPおよび
Otis Configure Muscle and Tissue SOPで設定することができます。
Rigid Points ¶
Rigid Pointsは、Tissueポイントをキャラクタのアニメーション(通常はボーンやリグによるアニメーション)に接続する強固なアタッチメントです。 これらはビューポート上でシアン色の十字で視覚的に表示されます。 Rigid Pointsは、シミュレーションを想定していないものの、シミュレーションされた要素と統合する必要がある領域で役立ちます。 一般的な例としては、手や顔はシミュレーションの対象外であるため、手首や顎のラインなどのカットオフ領域が挙げられます。
Rigid Pointsのパラメータのセットアップおよび調整は、Otis Configure Muscle and Tissue SOPで行なうことができます。
Tissue to Bone ¶
Tissue to Boneは、Tissueを近くのボーンに接続する弾性のあるアタッチメントです。 これらはビューポート上で赤い球体で視覚的に表示されます。 このアタッチメントは、モーション中にTissueレイヤが遅れてしまったり、浮いてしまったりするのを防ぐのに役立ちます。 Scapula(肩甲)ボーン、Rib Cage(肋)ボーン、Patella(膝蓋)ボーンなど、周囲のMuscleやスキンに対して相対的に大きく動くボーンには、Tissueをアタッチしないことを推奨します。 これらの部位にアタッチすると、リジッドな挙動が生じたり、周囲のTissueが硬直したりする可能性があります。
Tissue to Boneのパラメータは、Tissue Properties Otis SOPで設定することができます。
Tissue to Muscle ¶
Tissue to Muscleは、Tissueを近くのMuscleに接続する弾性のあるアタッチメントです。 これらはビューポート上で黄色の線で視覚的に表示されます。
Tissue to Muscleアタッチメントには、主に2つの目的があります。 1つ目の目的は、TissueとMuscleの間の距離を一定に保つことです。 この拘束によって、シミュレーション中に不要な隙間や浮き上がりのアーティファクトが発生するのを防ぎます。 2つ目の目的は、MuscleがTissueレイヤに直接影響を与えるようにすることです。 Muscleが屈曲、収縮、または膨らむ際、これらの拘束条件によってTissueを押したり引いたりして、動きを伝達することができます。
Otis Muscle and Tissue は、単一の統合シミュレーションパスであるため、これによって、Tissue to Muscleが双方向の拘束条件として機能します。 つまり、MuscleとTissueは互いに影響し合います。 MuscleはTissueを引っ張ることができ、TissueもまたMuscleを押し返したり、Muscleの動きを弱めたりすることができます。
Tissue to Muscleのパラメータは、Muscle Constraint Properties Otis SOPおよび
Tissue Properties Otis SOPで設定することができます。
Starter Recipes ¶
Starter Recipesは、 Otis Muscles and Tissue システムをすぐに使い始めるのに役立つサンプルセットアップです。 Ottoテストジオメトリまたは独自のカスタムジオメトリを使用することができます。
Test Geometry: Otto Muscle Transfer ¶
Test Geometry: Otto Muscle Transferレシピを使用すると、Ottoの完全にモデリングされたMuscleを、トポロジが一致する二足歩行キャラクタに素早く転送することができます。 これによって、手動でモデリングしたり、Muscleのリグを一から作成したりすることなく、シミュレーションにすぐ使えるMuscleジオメトリが得られます。
また、このセットアップは、類似したキャラクタ間でカスタムMuscleセットアップを転送するための出発点となるテンプレートとしても活用することができます。 例えば、レンダリング用スキンジオメトリとMuscleジオメトリを備えたトラのクリーチャーがある場合、このレシピを応用してMuscleを飼い猫に転送し、そのMuscleをトラで使用したのと同じMuscleセットアップに組み込むことが可能です。
さらに、このレシピは Test Geometry: Otto Muscle and Tissue Simulation レシピに直接組み込めるよう設計されており、すぐに実行可能なシミュレーションネットワークを用意することができます。
Test Geometry: Otto Muscle and Tissue Simulation ¶
Test Geometry: Otto Muscle and Tissue Simulationレシピは、OttoのMuscleジオメトリまたは別の二足歩行キャラクタに転送されたOttoのMuscleのいずれかを使用して、最低限のセットアップでMuscleやTissueのシミュレーションを開始するのに役立ちます。
Otis Muscle and Tissue Simulation ¶
Otis Muscle and Tissue Simulationレシピは、カスタムMuscleジオメトリを持つキャラクタに対して柔軟なシミュレーションをセットアップすることができます。 これは、Test Geometry: Otto Muscle and Tissue Simulationレシピが適用できないような非ヒューマノイドやスタイライズされたキャラクタに最適です。
関連ノード ¶
プロパティノード
ソルバノード
ユーティリティノード
| See also |