Muscles
See also: Muscle, Deform Muscle, Inflate
This object can have an arbitrary number of inputs. When a muscle is created, it creates points based on the locations of its inputs and draws a smooth line through these points. The SOP then creates a muscle surface lying along this line. The surface’s shape relative to this line can be specified by the user. The positions and orientations of the inputs control the position, shape and orientation of the muscle. Hence, the behavior of the muscle can be influenced by bones or other surrounding geometry.
To generate the muscle surface, the Muscle Object creates a number of metaball primitives that, when blended together, form a smooth surface. These metaballs can also be used to capture and deform points. See the Capture Metaball SOP and Deform Muscle SOP. When using a muscle as a capture region in a Capture Metaball SOP, the muscle object’s name with “/muscle” appended to the end of it should be used so that the underlying Muscle SOP is captured. For example, if the path to a muscle object is “/obj/muscle1”, then the capture region name that must be used is “/obj/muscle1/muscle”.
For more information see Using Muscle Handles and Muscle SOP.
Muscle deformer
The Inflate operator uses other deforming surfaces to push a skin surface. Use it to make a character’s skin surface react to underlying muscles and bones.
-
Model the bones, skin, and muscles.
-
Animate the size and shape of the muscle, or set up a deformer to automatically drive the size and shape of the muscle according to the bone angle.
-
The Inflate operator needs two pieces of “tool” geometry to calculate the push on the skin surface.
Depending on which is more convenient, you can either configure Inflate to use two primitive groups within a single piece of geometry, or use two separate geometry inputs for the “tool” and “center” surfaces.
-
Use the tab menu to create an Inflate node.
-
Connect the skin surface to the Inflate node’s first input.
If you are using two groups within a single geometry input to represent the “tool” and “center” surfaces, connect the geometry to the Inflate node’s second input, then set the Tool group and Center group parameters to the group names. If you are using two separate geometry inputs, connect the “tool” geometry to the second input, and the “center” geometry to the third input.
Metaball Capture
Metaball capture involves capturing points to metaballs rather than bones, which is used when capturing or deforming character geometry. A character’s skin geometry can be captured to a set of metaball groups, just as it can to a set of bones. This is useful because instead of being controlled by the transformations of a relatively small set of bones, metaball capture allows a character’s skin to be deformed by the motion of a large field of metaballs.
Using metaball capture has advantages over capturing to bones. For example, capturing an arm using a single bone for the upper arm and a single bone for the lower arm causes the character’s skin to deform rigidly along with the underlying bones and does not capture more detailed motion in the skin resulting from the motion of underlying muscles. Metaballs provide a more fine-grained approach to capturing and deforming, as each metaball can in theory move independently of every other metaball. Deforming points based on the motion of underlying metaballs makes it easier to model more detailed behavior in a character.
Additionally, metaballs blend naturally together to form a smooth surface, so the when they are used to build the muscular structure of a character, this surface provides a structure over which skin may be inflated so that underlying bulges and movements in a character’s muscles are reflected in the motion of the character’s skin.
Capturing Geometry
-
Click the Capture Geometry tool on the Character tab of the shelf.
-
Set the Type parameter to Metaball in the operation controls toolbar.
-
Select the geometry objects to capture and press Enter to confirm your selection.
-
Select the metaball objects (for example muscle objects) to capture with and press Enter to confirm your selection.
In order to visualize capture regions on a character’s skin, it is necessary to define a color for each muscle whose capture region you wish to visualize. This can be done by turning on the Add Custom Color toggle on the Preferences tab of the muscle object.
This procedure creates two new nodes in the network of the captured skin geometry: a
Capture Metaball surface node and a
Deform Muscle surface node.
-
The Capture Metaball surface node associates capture regions with each muscle specified during the capture and assigns a capture weight for each region to each point in its input geometry.
-
The Deform Muscle surface node actually deforms the skin geometry according to the motion of the underlying metaballs. It also provides more advanced features such as inflation of skin over underlying muscles.