| On this page | |
| Since | 19.0 |
このノードは、入力のソリッドMuscleジオメトリ上にmuscletensionPointアトリビュートをセットアップしてアニメーションさせて、シミュレーション中の筋肉の屈曲アクションを駆動させます。
このmuscletensionPointアトリビュートは、Muscle Solverで使用され、入力の四面体メッシュに異方性スケールを適用したり、 押しつぶし ます。
この異方性スケールは、
Fiber Groom SOPノードで生成される
materialWPointベクトルアトリビュートで定義された 筋繊維方向 に沿って適用されます。
筋肉を押しつぶす時のその筋肉の屈曲の 度合い またはその収縮の強さは、
Muscles Properties SOPノードのFiber Strengthパラメータで設定された
fiberstiffnessPointアトリビュートで決まります。
muscletensionPointアトリビュートは、fiberstiffnessPointアトリビュートの乗数のように機能します。
筋肉が収縮すると、体積維持の力も作用して、筋肉の腱以外の領域が 膨らみます 。
この 体積スケールフォース は、
Muscles Properties SOPノードのFiber Volume Scaleパラメータで設定された
fibervolumescalePointアトリビュートで生成されます。
このノードを使用することで、主な3つのMuscleセットアップのタスクを行なうことができます:
-
Muscleジオメトリ(
muscle_idPrimitiveアトリビュート)をMuscle Tension Lines(
autoflex_idPrimitiveアトリビュート)にリンクして、自動屈曲タイミングを駆動します。 -
Muscleが完全に屈曲した状態(
muscletensionPointアトリビュート)と見なされるMuscle Tension Lineの 長さ (restlengthとlengthのPrimitiveアトリビュート)のアクティベーション率を調整します。これは、屈曲していると見なすか見なさないかの 閾値 を設定します。 -
ショットアニメーション中に筋肉が収縮と弛緩を試みる タイミング を決める際に
Muscle Solverで使用される
muscletensionPointアトリビュートをアニメーションさせます。この収縮/弛緩は、Muscle Tension Lines単独またはMuscle Flex系パラメータのキーフレームと組み合わせることで、 自動的に 駆動させることができます。ソルバには、Muscleをアクティブにするタイミングとそれらのパラメータ値に打ったキーフレームの大きさを伝えることができます。
How to
| To... | Do this |
|---|---|
必要な入力を Muscle Flex SOP に接続する。 |
Warning Muscle Flex SOP ノードの 3番目の入力 Muscle Tension Linesを接続しなかった場合、Muscleの |
Muscle Flex SOP でパラメータを構築する。 |
|
MuscleをMuscle Tension Lineにリンクする |
|
Muscle Flexアクティベーション閾値を調整する |
|
筋収縮の調整と筋張力のアニメーション |
重要事項
|
ステート
ビューポート内での Muscle Flex SOP ステートは、本質的に 選択 ステートです。 1個以上のMuscleを選択してからEnterを押すと、それらのMuscleが現行選択になります。 プレイバーのタイムラインを任意のフレームまでスクラブさせてから、現行選択に対してアクションを実行します。
ホットキーまたは操作 |
アクション |
|---|---|
1を押す |
現在選択されているMuscle(s)の |
0を押す |
現在選択されているMuscle(s)の |
|
現在選択されているMuscle(s)の |
Kを押す |
現在の時間で選択したMuscle(s)の |
Set Keyframe
現在選択されているMuscleの Muscle ID パラメータ(Flexコントロール)にキーを設定します。 Kホットキーでも可能。
Set Flex to 0
現在選択されているMuscleの Muscle ID パラメータ値を0に設定します。 0ホットキーでも可能。
Set Flex to 1.0
現在選択されているMuscleの Muscle ID パラメータ値を1.0に設定します。 1ホットキーでも可能。
Assign Links with Symmetry
有効にすると、Activation Linksパラメータを使用してMuscle Tension LineをMuscleに割り当てて、そのMuscleが対称モデルの一部だった場合、そのモデルの反対側の呼応するMuscleが正しいMuscle Tension Lineに自動的にリンクされます。
Link Selected Muscles to Muscle Tension Line
現在選択されているMuscleを現在選択されているMuscle Tension Lineにリンクします。 Lホットキーでも可能。
Unlink Selected Muscles from Muscle Tension Line
現在選択されているMuscleと現在選択されているMuscle Tension Lineをリンク解除します。
ビジュアライゼーション |
ビューポートステート |
|---|---|
Muscle選択 |
ビューポートステートでは、Muscleを直接選択することができます。 これは、ホットキーを使用してビューポートステートで筋肉の屈曲をアニメーションさせる時に役立ちます。 |
Muscleアクティベーション |
Display > Muscle Tension Visualizer パラメータを使うと、キャラクタのショットアニメーションを再生しながら筋肉とその筋張力レベルの有効性を確認することができます。アニメーション中に筋肉の色が変化して
|
アトリビュート
|
|
point |
時間の経過と共に可変するMuscle Flex値をPointトランスフォームとして格納します。 |
パラメータ
Muscle Flex
このタブには、 Muscle Flex パラメータがリストされます。
このタブ上のパラメータは、入力のMuscleジオメトリ上のmuscle_idアトリビュートを検出することで自動的に生成されます。
Muscle Flex SOPノードの 1番目の入力 で見つかったmuscle_id毎にfloatパラメータが生成されます。
これらのパラメータ名は、簡単に識別できるようにmuscle_idの名前と同じになっています。
ビューポートでは、筋肉の色が変化して、筋張力または 筋肉の屈曲 の度合いを示します。 Muscle Flex パラメータ値に キーフレーム を打つことで、アクティブにする/しないのタイミングをMuscleに伝えることができます。
Muscleをシミュレーションに取り込む時、その筋収縮はmuscletension( Muscle Flex 系パラメータ)と四面体に適用されている繊維スケールフォース(
Muscles Properties SOPノードの
fiberstiffnessアトリビュート)の組み合わせで駆動されます。
Muscleは、筋繊維方向(Fiber Groom SOPノードの
materialWPointベクトルアトリビュート)にスケールします。
Muscle Flexアニメーションは、以下の3つの方法のどれかで制御することができます:
-
Activation Linksを使用して、
Muscle Tension Lineを Muscle Flex パラメータに割り当てる方法。
-
このタブ内のそれぞれの Muscle Flex パラメータに直接キーフレームを打つ方法。
-
1と2を組み合わせて使用する方法。
Muscle & Tissue セットアップでMuscle Tension Linesを使用した場合、ショットアニメーション全体で( Muscle Flex パラメータを介して)Muscle毎にmuscletensionにキーフレームを打つ必要はありません。Muscle Tension Linesが自動的にmuscletension値を変更してくれます。
Muscle Tension Linesが自動的に筋収縮の多くを自動化してくれるものの、必要に応じて Muscle Flex パラメータにいくつかキーフレームを追加することで、Muscle Tension Linesが生成するプログラム的なmuscletension値を調整することができます。
Muscleのmuscletensionをキーフレーム値とそれを駆動させるMuscle Tension Lineの両方で制御した場合、強い値の方が採用されます。
例えば、Muscle Tension Lineから検出されたmuscletensionが0.5で、キーフレームを打った Muscle Flex 値が0.75の場合、キーフレームの値が採用されます。
常に大きい方の値が取得されます。
Input
このノードは、アニメーションとパラメータ設定を維持できるように、入力のMuscleジオメトリ(1番目の入力)で見つかったmuscle_id名をキャッシュ化します。
以下のボタンは、ジオメトリ系ノードが既に Muscle Flex SOP ノードに接続された 後 にMuscleを追加または削除するイベントで、このキャッシュを更新/リセットすることができます。
Detect New
入力Muscleジオメトリ上で見つかった新しいmuscle_idを追加し、それらをパラメータリストに追加します。
Remove Unused
このタブにリストされている Muscle Flex パラメータに該当するmuslce_idが入力Muscleジオメトリ上に存在しなかった場合、その Muscle Flex パラメータを削除します。
Reset All
現在のすべての Muscle Flex パラメータと Activation Links パラメータをデフォルト値にリセットし、内部キャッシュリストを再構築します。
Warning
Reset All のクリックでも、既存の Muscle Flex チャンネルアニメーションが削除されます。
Muscle IDs
Muscle Flex パラメータをリストします。
これらのパラメータ名は入力Muscleジオメトリ(1番目の入力)に応じて順応します。
ここにリストされた各パラメータは、それと同じ名前の入力muscle_idから派生します。
Muscle Flex 値が0なら筋肉は緩和ソフトボディとしてシミュレーションされるのに対して、1.0の値は筋張力を最大限にし筋肉の収縮と硬化を引き起こします。
Muscle Tension Lines
このタブには、 Activation Ratio パラメータがリストされます。
Muscle Tension Lineが1個以上のMuscleにリンクされている時、その長さの変化を使用してMuscle上のmuscletensionアトリビュートが駆動されます。
それと同時に、キーフレームを打ったmuscletensionをMuscle Tension Lineとして使用することができます。
2つのmuscletensionのうち大きい方の値が最終的にmuscletensionアトリビュートに適用されます。
Muscle Tension Lines タブ > Activation Ratio セクションのパラメータでは、Muscle Tension Line毎にMuscleアクティベーション閾値を設定することができます。
この比率になる長さの変化が完全に緊張したMuscleにマッピングされます。
例えば、L_Bicepパラメータの値が0.75で、そのL_BicepがL_Bicep Muscle Tension Lineにリンクされている場合、そのL_Bicep Muscle Tension Lineの長さがrest_lengthの75%に到達すると、L_Bicep Muscleのmuscletensionは1.0になります。
Tension Line Timing
Evaluate at Frame
Muscle Flexがアクティブになるショットアニメーション内のフレーム番号を指定します。
Input
このノードは、入力のMuscle Tension Line(3番目の入力)からautoflex_idPrimitiveアトリビュートを検出してキャッシュ化します。
以下のボタンは、Muscle Tension Lines SOPノードが既に Muscle Flex SOP ノードに接続された 後 にMuscle Tension Lineを追加または削除するイベントで、このキャッシュを更新/リセットすることができます。
Detect New
入力の Muscle Tension Lines SOP ノード上で見つかった新しいautoflex_idを追加し、それらをパラメータリストに追加します。
Remove Unused
このタブにリストされている Activation Ratio パラメータに該当するautoflex_idが入力の Muscle Tension Lines SOP ノード上に 存在しなかった 場合、その Activation Ratio パラメータを削除します。
Reset All
現在のすべての Activation Ratio パラメータをデフォルト値にリセットし、内部キャッシュリストを再構築します。
Activation Ratio
このタブのパラメータは、Muscle Tension Lines SOPノード上の
autoflex_idアトリビュートを検出することで自動的に生成されます。
Muscle Flex SOPノードの 3番目の入力 で見つかったautoflex_id毎にfloatパラメータが生成されます。
これらのパラメータ名は、簡単に識別できるようにautoflex_idの名前と同じになっています。
Activation Ratio パラメータ値は、最大収縮が起きる長さ比率を示します。
この比率は、該当するMuscle Tension(筋緊張)ラインの自然長に対する比率(length/restlength)です。
例えば、0.5の値は、元々の自然長の半分の長さになった時に筋肉が収縮します。
Activation Links
このタブでは、(muscle_id別に)個々のMuscleをMuscle Tension Line(autoflex_id)にリンクしてショットアニメーション全体でmuscletension値の変動を駆動させることができるパラメータがリストされます。
Muscle Tension Lines SOPノードを Muscle Flex SOP ノードの 3番目の入力 に接続してから Muscle Flex タブ内の Detect New をクリックすることで、このリストのパラメータを生成することができます。
Muscleが完全に屈曲した状態(muscletensionPointアトリビュート)と見なされるMuscle Tension Lineの 長さ (restlengthとlengthのPrimitiveアトリビュート)のアクティベーション率を調整することができます。
これは、屈曲していると見なすか見なさないかの 閾値 を設定します。
Deform
これらのパラメータは、単にその場でmuscletensionアニメーションを確認できるように入力のアニメーションソース(通常では、アニメーションボーンジオメトリ)を使用して ポイント変形 を入力のMuscleに適用します。
Muscle Solverは静的なTポーズ位置しか考慮しないので、この変形アニメーションは、あくまで参考用です。
Output Integrity
Simple Deformation:
Compute Quasistatic Corrections:
Deformation Style
Point Deform:
Bone Capture Weights:
KineFX Rig Path:
Point Deform
Deform タブ > Point Deformセクション内のパラメータを使用することで、ポイント変形パラメータを調整することができます。 Muscle Solverの用途では、Muscle End領域として指定されたMuscle上の領域のみが重要です。 これらの領域がターゲットの拘束領域として作用します。
このノードでは、Muscleの動きをプロキシアニメーションを使って“その場で”確認できるようにするために、MuscleがPoint Deform SOPによって変形されます。 そうしないと、このノードのアニメーション出力は、ソルバで無視されます。 ただし、この考えには例外が1つあります。 Muscle Solver Vellum SOPのMuscle Ends拘束には、Muscleをアニメーションソースに取り付けるモードが2つあります。 Muscleを一番近くにあるボーンジオメトリに取り付けたり(Muscle Constraint Properties SOP > Muscle to Boneタブを参照)、アニメーションポジションをターゲットとして扱うことでMuscleの両端を“Pin To Animation”拘束のように動作させることができます。 後者の場合では、このノードから出力されるプロキシアニメーションをアニメーションソースとして使用することができます。
Radius
ポイント影響力の最大検索半径。Point Deformを参照してください。
Minimum Points
ポイント影響力の検索するポイントの最小数。Point Deformを参照してください。
Maximum Points
ポイント影響力の検索するポイントの最大数。Point Deformを参照してください。
Rigid Projection:
Recompute Affects Normals:
Enable Delta Mush
有効にすると、このノードは、ポイント変形を適用する時にMuscleの形状の維持を試みます。詳細は、Delta Mushを参照してください。
Delta Mush Iterations
Delta Mushの反復回数。
Bone Geometry
T-Pose Source
ポイント変形に使用されるRestポーズの派生元を指定します。
Use Initialization Frame
アニメーションソースの時間を Initialization Frame までずらして、そのフレームでフリーズされたジオメトリをキャプチャポジションのRestポーズとして使用します。
From Attribute
T-Pose Attribute をキャプチャポジションのRestポーズとして使用します。
Initialization Frame
アニメーションソースジオメトリを維持またはフリーズしてからそれをRestポーズとして使用するフレーム(時間)を指定します。
このパラメータは、 T-Pose が Use Initialization Frame に設定されている場合にのみ利用可能です。
T-Pose Attribute
キャプチャポジションのRestポーズが指定された(このノードの2番目の入力の)Pointアトリビュートの名前。
このパラメータは、 T-Pose が From Attribute に設定されている場合にのみ利用可能です。
Display
Muscle Tension Visualizer
有効にすると、Muscle Flexパラメータによってアニメーションされるmuscletensionアトリビュートにカラービジュアライザが適用されます。
灰色は、筋張力が弱く、赤色は筋張力が強いことを示します。
Bone Geometry
有効にすると、ビューポートステートでアニメーションソースジオメトリ(このノードの2番目の入力)が表示されます。 これは、ほとんどの場合がアニメーションボーンジオメトリです。
Bone Color
ビューポートステートでの Bone Geometry のRGBカラーを設定します。
Muscle Tension Lines:
入力
Input 1
ソリッドMuscleジオメトリ。
Input 2
アニメーションソースジオメトリ(たいていの場合はアニメーションボーンジオメトリ)とプリロール。
Input 3
Muscle Tension Lines(autoflex_id、length、restlength)。
出力
Output 1
アニメーションするmuscletensionが含まれたソリッドMuscleジオメトリ。
| See also |