| On this page | |
| Since | 21.0 |
このノードは、Muscle Solver Vellum SOPの設定機能を分離して、それを他のVellum Configure系ノードと組み合わせて通常の
Vellum Solver SOPで実行できるようにします。
Note
Muscle Solver Vellum SOPとの完全な互換性を得るには、
Vellum Solver SOPの中に入って操作を行ないます。
その中で
Muscle Upate Vellum DOPを作成して、その出力を FORCE Outputノードに接続してください。
このノードは以下の処理を行ないます:
-
Muscle Properties SOPノードで作成された物理特性の設定を、
Muscle Solidify SOPノードで生成されたジオメトリに適用します。
-
Muscle Constraints Properties Vellum SOPノードで定義された一連の拘束を、
Muscle Solidify SOPノードで生成されたジオメトリ上に作成します。
パラメータ ¶
Delete Unused Muscle Attributes
拘束の作成後に不要となったMuscle系アトリビュートをすべて削除します。
Simulation ¶
Reference Frame
tposeが存在しない場合はtposeを初期化します。
拘束が正しく初期化されるようにするために、Vellum Solverの開始フレームと同じフレームを指定してください。
Solver ¶
Precision
Muscle Solver Vellum SOP ノードにアトリビュートを格納するのに使用される精度およびメモリ量を変更します。
Unchanged
入力によって決定されたストレージタイプを使用します。
32-bit
筋肉アトリビュートのストレージタイプを、32ビット整数(4バイト)ストレージに設定します。
64-bit
筋肉アトリビュートのストレージタイプを、64ビット整数(8バイト)ストレージに設定します。
Note
たいていのシミュレーションでは、精度設定は32ビットのままで問題ありません。 キャラクタが原点から約1000メートル以上離れた場所に配置されている場合にのみ、64ビット精度に上げる必要があります。
Subsample Bone Animation
有効にすると、入力ボーンは、計算中に補間される連続したフレーム内の位置(例えば、フレーム5.0、5.1、5.2などでのボーン位置)を持つことができます。 無効にすると、ボーンの動きは整数フレーム位置でしか評価されません。
-
ボーンアニメーションをファイルキャッシュから読み込む場合、ディスクからは離散したキャッシュジオメトリしか読み込まれません。このオプションは、ソルバが線形補間を使用してその離散したキャッシュジオメトリ間を補間するようにします。
このパラメータの挙動は入力フォーマットに依存します
-
Alembicファイル: 自動的にサブフレームを読み込みます。
-
外部のタイムブレンド: 追加でサブサンプリングを制御します。
Vellum Time Scale
Vellum Solverの実効時間のスケール乗数を指定します。この値を使用すると、バレットタイムのようなエフェクトを作成できます。 Vellum Solverの物理計算が、Houdiniのプレイバーとは異なる時間軸で実行されます。値を2に設定すると、筋肉が2倍速で落下し、0.1に設定すると、0.1倍速で落下するようになります。
このパラメータのデフォルトは1.0で、シミュレーションの挙動に影響します。 1.0以下の値を設定するとスローモーション効果が得られ、1.0以上の値を設定すると高速移動が強調されます。 500あたりの非常に高い値は、通常、2次的な動きが不要な機械学習やスキニング適用のために使用します。
Note
Vellum Time Scaleを上げると、筋肉がよりボーンアニメーションに追従するようになりますが、代わりに Velocity Damping パラメータを調整することを推奨します。 この手法によって、筋肉の挙動を自然な感じに維持しつつ、より物理的に正しい結果が得られます。
以下のアトリビュートは、拘束を構築する際に静止位置として使用するアトリビュートをソルバに伝えます。
通常では、tposeアトリビュートはシミュレーションジオメトリと2番目の入力ジオメトリの両方に存在します。
Muscle T-Pose Attribute
静止位置または Tポーズ として使用するアトリビュートを指定します。 このアトリビュートはシミュレーションジオメトリ(Input 1)で見つけることができます。
Bone T-Pose Attribute
静止位置または Tポーズ として使用するアトリビュートを指定します。 このアトリビュートは2番目の入力ジオメトリ(Input 2)で見つけることができます。
以下のパラメータでは、収縮、隆起、形状変化といった筋肉のアクションをアニメーション(トリガー)するアトリビュートを指定します。
筋肉が収縮すると、3つのことが起こります:
1. 収縮(Contraction)_ によって、筋肉が繊維の方向に沿って引っ張られ、筋肉自体が圧迫されます。
2. 筋肉は(四面体で構成された)ソリッドのため、体積を維持しようと、側面に沿って 隆起(Bulge) します。
3. 弛緩している筋肉にはないディテールを収縮している筋肉に追加したい場合は、収縮時の筋肉に使用したい 形状(Shape) のターゲットを明確にします。例えば、収縮した筋肉に溝や窪みを出したい場合などです。
色々なアトリビュートを使用して筋肉のアクションを駆動したい場合は、これらのパラメータを使用して、新しいアトリビュートを指定します。 例えば、 Bulge のアトリビュートを置き換えると、Muscles Solverがその新しいアトリビュートを探して、筋肉の隆起のアクションをアニメーションさせます。 これらのアトリビュートを変更することで、形状、隆起反応(体積の増加)、繊維の収縮に個別に影響を与えることができます。
Contraction
筋肉の 収縮 を駆動するアトリビュートを指定します。デフォルトでは、このアトリビュートはmuscletensionです。
Muscle Flex SOPノードを使用することで、時間の経過と共に
Muscle Tension Lineで駆動される
muscletension値をオーバーライドすることができます。
このパラメータは、繊維強度設定に接続し、繊維方向ベクトルに沿った筋肉の変形を決めます。
収縮の挙動は、自動緊張ライン計算とMuscle Flex SOPによる手動アニメーションの両方に反応します。
Bulge
筋肉の 隆起 を駆動するアトリビュートを指定します。デフォルトでは、このアトリビュートはmuscletensionです。
独自 の Bulge アトリビュートを指定した場合、
Muscle Flex SOPノードを使用することで、その指定したアトリビュートをアニメーションさせて、時間の経過と共に筋肉の
fibervolumescale(0 = Fiber Volume Scale なし、1 = Fiber Volume Scaleパラメータの現行値の100%)値を駆動させることができます。
Shape
筋肉の 形状 のターゲットを駆動するアトリビュートを指定します。デフォルトでは、このアトリビュートはmuscletensionです。
独自 の Shape アトリビュートを指定した場合、
Muscle Flex SOPノードを使用することで、その指定したアトリビュートをアニメーションさせて、時間の経過と共に筋肉の
targetshape(0 = 100%のtpose、1 = 100%のtargetshape)値を駆動させることができます。
Gravity
筋肉に適用する均一な重力を指定します。
Drag
ポイントが風のフォースに抵抗する度合いを指定します。
Velocity Damping
動くボーン(Input 2のアニメーションされたボーンサーフェス)の速度が、筋肉に 影響を与える かどうかを決定します。減衰は引き算処理です。 Velocity Damping 値が高い場合、筋肉が取得する速度は 減り 、値が低い場合は転送される速度(エネルギー)の量が 増え ます。
Note
筋肉の速度は、
Muscle Constraint Properties Vellum SOPノードにあるMuscles to Bone拘束のVelocity Blendパラメータで制御されます。
シミュレーションキャッシュには、進捗バーを通じてキャッシュの使用状況を表示する視覚的なインジケータが備わっています。
このインジケータを監視することで、シミュレーションがメモリ内にどれだけ残っているのか確認することができます。
Cache Memoryパラメータは、フレーム範囲要件と利用可能なシステムリソースに基づいて調整することができます。
シミュレーションが長くなる場合、キャッシュサイズとシステムパフォーマンスのバランスを取る必要があります。
Cache Simulation
オンの時、筋肉のシミュレーションはメモリにキャッシュされます。
Allow Caching To Disk
オンの時、筋肉のシミュレーションはディスクにキャッシュされます。
Cache Memory (MB)
メモリキャッシュの最大サイズを設定します。
Collisions ¶
これらのパラメータは、ソルバによる衝突処理の方法を決定します。 衝突処理は、ソルバがMuscleとボーンの起こり得るすべてのサーフェス交差を評価するので、シミュレーションにおいて負荷の高い処理になってしまいます。 衝突処理のパフォーマンスを最適化するには、入力のボーンジオメトリのポイント数を最小限に抑えることに重点を置くべきです。 ソルバには、最終的な衝突解決をするためのポリッシュパスが用意されています。 このパスは、起こり得るすべての衝突ペアをチェックするのではなく、検出された交差ポイントのみを処理することで、より効率的に動作します。
Self Collisions
オンの時、筋肉ジオメトリの自己衝突が有効になります。自己衝突では、筋肉は貫通せず、筋肉そのものの上に折り畳まれます。例えば、舌を丸めるような感じです。
Ignore Collisions with Muscle Interior Points
有効にすると、外側ポイントのみが衝突を検出します。 無効にすると、すべての筋肉ポイントが衝突を検出します。 これを有効にすべき例を挙げると、FrankenMuscleが意図的にボーンを包みこんでいる時がそうです。
Bone Collisions
オンの時、筋肉ソリッドとボーンサーフェス間の衝突が有効になります。
Bone Collision Radius
この値は、筋肉ジオメトリの各ポイントで、筋肉が衝突するボーンの周囲に存在するバブル領域(フォースフィールドなど)が、どのワールド空間単位の距離で存在するかを指定します。
Tip
適切にサーフェスを分けつつ、Bone Collision Radiusパラメータをできるだけ小さく維持してください。
この半径を大きくしても、必ずしも拘束が改善されるわけでなく、計算時間が長くなります。
Note
筋肉ごと の衝突半径は、
Muscle Constraint Properties Vellum SOPノードのCollision Scaleパラメータで制御されます。
Guides ¶
これらのパラメータは、 Muscles Solver Vellum SOP ビューポートステートで、選択したMuscleの物理特性、フォース、拘束を可視化します。 ガイドは、セットアップ時やトラブル対応時に拘束リレーションシップや物理特性の視覚的なフィードバックが得られますが、パフォーマンスに影響を与えます。 シミュレーション計算中は、最適な計算速度を確保するために、それらのガイドを無効にするべきです。 特定の拘束の挙動を分析する場合や変形の問題を解決する場合にのみ、ガイドを有効にしてください。
Warning
ガイドを有効にすると、非常に負荷が高くなる場合があります。 例えば、 Attachment Constraints を可視化すると、ソルバの速度が大幅に低下します。 これらのガイドは控えめに使用してください。
Muscle Coloring
ビューポートステートで可視化する筋肉の物理特性、フォース、拘束を決定します。
Off
ビューポートステートで何も可視化されません。
Muscle Ends
筋肉のEnd Regionsの領域を、カラフルなヒートマップとして可視化します。
Muscle to Bone
Muscle to Bone拘束によって拘束された筋肉の領域を、カラフルなヒートマップとして可視化します。
Muscle Tension
個々の筋肉によって使用される筋肉の緊張の量を、ボーンアニメーション中フレーム単位で可視化します。
Tendon Mask
筋肉のTendon Mask Radiusの領域を、赤の筋肉の上に白の領域として可視化します。
Fiber Direction
オンの時、繊維の方向のベクトル線がビューポートステート内の筋肉に表示されます。
Display Bones
オンの時、アニメーションされたボーンサーフェスが、ビューポートステート内でガイドジオメトリとして表示されます。
Bone Color
アニメーションされたボーンサーフェスのガイドジオメトリが、ビューポートステートに表示されるときの色を設定します。
Enable Visualizers
有効にすると、有効な付着拘束がビューポートステートで可視化されます。
Point Radius
Muscle Ends や Collision Radius などに使用される、ポイントベースの可視化した球のサイズを制御します。
Muscle To Muscle
オンの時、Muscle to Muscle拘束の取り付けを筋肉間の接続線として可視化します。
Muscle To Muscle Color
Muscle to Muscle拘束の接続線の色を指定します。
Muscle Ends
オンの時、Muscle Ends拘束が影響を与える筋肉のサーフェス上のポイントを、小さい球として可視化します。
Muscle Ends Color
Muscle Ends拘束のポイントの球の色を指定します。
Muscle To Bone Color
Muscle to Bone拘束の接続線の色を指定します。
Muscle Glue
オンの時、Muscle Glue拘束の取り付けを筋肉間の接続線として可視化します。
Muscle Glue Color
Muscle Glue拘束の接続線の色を指定します。
入力 ¶
Input 1
Muscles。
Muscle系アトリビュートのmuscles_ids、物理特性、拘束、繊維ベクトル、autoflex_ids、muscletensionを含んだ四面体メッシュ。
Input 2
拘束。 他のVellum Configure系ノードの既存のVellum拘束を、この入力を介してVellumソルバへ渡すことができます。
Input 3
衝突ジオメトリ。 ボーン以外の衝突ジオメトリを、この入力を介してVellumソルバへ渡すことができます。
Input 4
ボーン。 アニメーションするポリゴンボーンサーフェス。
Input 5
アクティベーションアトリビュート参照。 オプションの屈曲参照プリミティブ。
例えば、このソルバのネットワーク内にある
Muscle Flex SOPをコピーして、
muscletensionの代わりにそれを使用してShape/Bulgeアトリビュートをアニメーションさせることができます。
出力 ¶
Output 1
Vellumジオメトリ。 Vellumソルバ用に準備されたMuscleジオメトリ。
Output 2
Vellum拘束ジオメトリ。 このノードによって作成されたすべての拘束と Input 2 で渡された拘束。
Output 3
衝突ジオメトリ。 Input 4 のボーンジオメトリと Input 3 で渡されたその他の外部コライダ。
| See also |