On this page | |
Since | 19.0 |
This node sets up and animates the muscletension
point attribute on input solid muscle geometry which drives the flexing action of your muscles during their simulation.
The muscletension
attribute is used by the muscle solver to apply anisotropic scaling to or squeeze the incoming tetrahedral meshes. This muscle scaling is applied along the muscle fiber direction defined by the
materialW
vector point attribute which comes from the Fiber Groom SOP node.
The amount muscles flex or the strength of their contraction during the squeeze is determined by the fiberstiffness
attribute which comes from the Fiber Strength parameter on the
Muscles Properties SOP node.
muscletension
functions a lot like a multiplier of fiberstiffness
. When a muscle contracts, a volume preservation force also comes into play causing the non-tendonus regions of the muscle to bulge. This volume scale force is generated by the fibervolumescale
attribute which comes from the Fiber Volume Scale parameter on the
Muscles Properties SOP node.


With this node, you can perform three main muscle set-up tasks:
-
Link your muscle geometry (
muscle_id
attribute) to themuscle tension lines (
autoflex_id
attribute) that drive their automatic flexion timing. -
Adjust the activation ratio between muscle tension line length (
restlength
andlength
attributes) and what is considered a fully flexed state for the muscles (muscletension
attribute). This sets the threshold for what is considered flexed or not. -
Animate the
muscletension
attribute which is then used by themuscle solver to help determine when muscles try to contract and relax during their shot animation. This contraction/relaxation can be driven automatically by the muscle tension lines alone or in combination with keyframes on the Muscle Flex parameters. You can tell the solver when to activate the muscles and by how much by keyframing those parameter values.
How to
To... | Do this |
---|---|
Connect the necessary inputs to the Muscle Flex SOP |
Warning If you do not provide muscle tension lines on the Muscle Flex SOP node’s input 3, then you have to keyframe your muscle’s |
Build the parameters for the Muscle Flex SOP |
|
Link muscles to muscle tension lines |
|
Adjust the muscle flex activation threshold |
|
Adjust muscle contraction and animate muscle tension |
Important Note You can only see the deformation results from your keyframes by playing back the muscle simulation from the |
State
In the viewport, the Muscle Flex SOP state is inherently a selection state. Select one or multiple muscles and then press Enter to make them your current selection. Scrub the timeline slider in the playback bar to any frame and then perform an action on your current selection.
Hotkeys or Interaction |
Action |
---|---|
Press 1 |
Set the muscle tension (Muscle Flex) for the currently selected muscle(s) to 1. |
Press 0 |
Set the muscle tension (Muscle Flex) for the currently selected muscle(s) to 0. |
|
Increase or decrease the muscle tension for the currently selected muscle(s). |
Press K |
Set a keyframe on the muscle tension at the current time for the selected muscle(s). |

Set Keyframe
Sets a key on the Muscle ID parameter (flex control) for the currently selected muscle. Also lists the K hotkey.
Set Flex to 0
Sets the Muscle ID parameter value for the currently selected muscle to 0. Also lists the 0 hotkey.
Set Flex to 1.0
Sets the Muscle ID parameter value for the currently selected muscle to 1.0. Lists the 1 hotkey.
Assign Links with Symmetry
When on, if you assign a muscle tension line to a muscle using a Activation Links parameter and that muscle is part of a symmetrical model, then the corresponding muscle on the opposite side of the model is automatically linked to the correct muscle tension line.
Link Selected Muscles to Muscle Tension Line
Links the currently selected muscle to the currently selected muscle tension line. Also lists the L hotkey.
Unlink Selected Muscles from Muscle Tension Line
Unlinks the currently selected muscle from its current muscle tension line.
Visualization |
Viewport State |
---|---|
Muscle selection |
You can select your muscles directly in the viewport state. This is useful when animating your muscles' flex in the viewport state using hotkeys. |
Muscle activation |
You can view the activation of your muscles and their tension levels while playing back your character’s shot animation with the Display > Muscle Tension Visualizer parameter. The muscles change color to indicate their amounts of These values change automatically over time because of the |
アトリビュート
|
point |
Stores the variable muscle flex values over time as point transforms. |
パラメータ
Muscle Flex
This tab lists the Muscle Flex parameters.
The parameters found on this tab are generated automatically by detecting the muscle_id
attributes on the incoming muscle geometry. A float parameter is created for each muscle_id
found on the first input of the Muscle Flex SOP node. The parameter names are labeled identically to the muscle_id
names for easy identification.
In the viewport, muscles change color to indicate their amount of tension or muscle flex. You can tell the muscles when to activate and when not to activate by keyframing the Muscle Flex parameter values.
When you bring muscles into a simulation, their contraction is driven by a combination of muscletension
(Muscle Flex parameters) and a fiber scale force (fiberstiffness
attribute from the
Muscles Properties SOP node) that is applied to the tetrahedra. Muscles scale in the muscle fiber direction (
materialW
vector point attribute from the Fiber Groom SOP node).
Muscle Flexアニメーションは、以下の3つの方法のどれかで制御することができます:
-
By assigning a
muscle tension line to a Muscle Flex parameter using the Activation Links.
-
このタブ内のそれぞれの Muscle Flex パラメータに直接キーフレームを打つ方法。
-
By using a combination of 1 and 2.
If your Muscle & Tissue set-up uses muscle tension lines, you don’t have to keyframe the muscletension
per muscle (via the Muscle Flex parameters) over the entire course of your shot’s animation. The muscle tension lines will drive those changes in the muscletension
values for you.
Even though the muscle tension lines automate a lot of the muscle contraction for you, and you can still tweak the programmatic muscletension
values they generate by adding some keyframes to the Muscle Flex parameters as needed.
If a muscle’s muscletension
is controlled by both keyframe values and the muscle tension line that is driving it, the value that wins out is the stronger/higher value. For example, if the muscletension
that is detected from the muscle tension line is 0.5 and the keyframed Muscle Flex value is 0.75, the keyframed value would win out. You will always get the maximum value.
Input
This node caches the muscle_id
names found on the incoming muscle geometry (input 1) in order to preserve any animation and parameter settings.
These buttons allow you to update and/or reset this cache in the event that you add or remove muscles after their geometry node has already been connected to the Muscle Flex SOP node.
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
This tab lists the Activation Ratio parameters.
When a muscle tension line is linked to one or more muscles, a change in length is used to drive the muscletension
attribute on the muscles. You can use keyframed muscle tension at the same time as muscle tension lines. The maximum of the two is applied to the resulting muscletension
attribute.
In the Muscle Tension Lines tab > Activation Ratio section of the parameters, you can set the muscle activation threshold for any given line. A change in length that amounts to this ratio will map to a fully tensed muscle. For example, if the L_Bicep parameter is given a value of 0.75, and L_Bicep is linked to the L_Bicep muscle tension line, then when the L_Bicep muscle tension line reaches 75% of its rest_length
, the muscletension
for the L_Bicep muscle would be 1.0.
Tension Line Timing
Evaluate at Frame
Specifies at what frame in the shot’s animation the muscle flex is activated.
Input
This node detects and caches a primitive attribute named autoflex_id
found on the incoming muscle tensions lines (input 3).
These buttons allow you to update and/or reset this cache in the event that you add or remove any muscle tension lines after their Muscle Tension Lines SOP node has already been connected to the Muscle Flex SOP node.
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
The parameters found on this tab are generated automatically by detecting the autoflex_id
attributes on the Muscle Tension Lines SOP node. A float parameter is created for each
autoflex_id
found on the third input of the Muscle Flex SOP node. The parameter names are labeled identically to the autoflex_id
names for easy identification.
Activation Ratio パラメータ値は、最大収縮が起きる長さ比率を示します。
この比率は、該当するMuscle Tension(筋緊張)ラインの自然長に対する比率(length
/restlength
)です。
例えば、0.5の値は、元々の自然長の半分の長さになった時に筋肉が収縮します。
Activation Links
This tab lists the parameters that allow you to link individual muscles (by muscle_id
) to the muscle tension lines (autoflex_id
) that drive their fluctuations in muscletension
values throughout their shot’s animation.
You can generate this list of parameters by connecting a Muscle Tension Lines SOP node to the third input of the Muscle Flex SOP node and then clicking Detect New in the Muscle Flex tab.
You can adjust the activation ratio between muscle tension line length (restlength
and length
attributes) and what is considered a fully flexed state for the muscles (muscletension
attribute). This sets the threshold for what is considered flexed or not.
Deform
These parameters apply a point deform to the incoming muscles using the input animation source (usually, the animated Bone Geometry) purely for contextual viewing of the muscletension
animation. The deformed animation is for reference only, as the Muscle Solver only takes the static T-Pose position into account.
Output Integrity
Simple Deformation:
Compute Quasistatic Corrections:
Deformation Style
Point Deform:
Bone Capture Weights:
KineFX Rig Path:
Point Deform
You can use the parameters in the Deform tab > Point Deform section to adjust the point deform parameters. For the purposes of the muscle solver, only the regions on your muscles that are designated as Muscle End regions are significant. These regions act as target constraint regions.
Muscles are deformed in this node by a Point Deform SOP so that muscle firing can be viewed “in context” with proxy animation. The animated output of this node is ignored by the solver otherwise. There is one exception to this notion however. In the Muscle Solver Vellum SOP, Muscle End Constraints have two possible modes of attaching muscles to the animation source. They can either attach to the nearest bone geometry (see the Muscle Constraint Properties SOP > Muscle to Bone tab), or the muscle ends can act more like “Pin To Animation” constraints by treating their animated positions as targets. In the latter case, the proxy animation being output by this node can be used as the animation source.
Radius
ポイント影響力の最大検索半径。Point Deformを参照してください。
Minimum Points
ポイント影響力の検索するポイントの最小数。Point Deformを参照してください。
Maximum Points
ポイント影響力の検索するポイントの最大数。Point Deformを参照してください。
Rigid Projection:
Recompute Affects Normals:
Enable Delta Mush
When on, the node tries to preserve the muscles' shape when applying the point deform. For more information, see Delta Mush.
Delta Mush Iterations
Delta Mushの反復回数。
Bone Geometry
T-Pose Source
Specifies where the rest pose that is used for the point deform is derived from.
Use Initialization Frame
Timeshift the animation source to the Initialization Frame and use the geometry frozen at that frame as the rest pose for the capture position.
From Attribute
Use the T-Pose Attribute as the rest pose for the capture position.
Initialization Frame
Specifies the frame (time) to hold or freeze the animated source geometry at and then use as the rest pose.
This parameter is only available when T-Pose is set to Use Initialization Frame.
T-Pose Attribute
The name of the point attribute (from this node’s second input) that specifies the rest pose for the capture position.
This parameter is only available when T-Pose is set to From Attribute.
Display
Muscle Tension Visualizer
When on, a color visualizer is applied to the muscletension
attribute as it is animated by the Muscle Flex parameters. Grey color indicates low muscle tension and red indicates high muscle tension.
Bone Geometry
When on, the animation source geometry (second input on this node) is visible in the viewport state. This is most often the animated bone geometry.
Bone Color
Sets the RBG color of the Bone Geometry in the viewport state.
Muscle Tension Lines:
入力
Input 1
Solid muscle geometry.
Input 2
Animation source geometry (often the animated bone geometry) and preroll.
Input 3
Muscle tension lines (autoflex_id
, length
, restlength
).
出力
Output 1
Solid muscle geometry with animated muscletension
.
See also |