Start Pose

This tutorial focuses on the difference between Reference Pose and Start Pose for Carbon Cloth and shows how to derive a Start Pose from a Reference Pose. It also details the need of working with both poses for certain scenarios and explains how to handle setups where there are large global or local discrepancies between these two poses.

Reference Pose Vs Start Pose

Start Pose and Reference Pose are available when choosing the Advanced setup mode for Carbon Cloth. This is usually used in conjunction with the Face-Segment-Crease cloth model.

Note

When working with geometry created in virtual garment design tools from which flat panels can be extracted, it is recommended to use the Tailored cloth model instead. Please refer to the user guide Tailored Cloth and tutorial Tailored Cloth for more information.

A Reference Pose defines a cloth’s resting pose, which in cases of garments typically depicts a garment draped on a character in t-pose. From this reference, Carbon extracts resting angles between triangles, resting triangle surface areas and resting edge lengths. These metrics build the basis on which the Carbon Cloth parameters control surface, stretch and bending. During the simulation, the deformed cloth will always try to meet these initial conditions. Therefore, using a Reference Pose ensures that no matter what the Start Pose is, the simulated garment will always conform to the correct size.

The Start Pose is the starting geometry for the simulation and must have the same topology as the Reference Pose, that is same number of points, same triangles and same vertices. It can be transformed in space and contain local deformations, which usually occur when placing a reference garment on a character start pose that is different from the t-pose/reference pose on which the garment was created. In order to fit the garment on the character start pose, it possibly needs to be translated and rotated in space and even deformed by re-arranging individual points around the character to remove interpenetrations and corruptions before the first simulated frame.

Keep in mind that when dealing with simple cloth objects, there is often no distinction between Reference Pose and Start Pose because the geometry of the Start Pose already has the correct (reference) metrics, for example a flat flag. In such situations, you only need to specify the Reference Pose in the Carbon Cloth node. If the Start Pose SOP Path is left empty, the Reference Pose is automatically applied as Start Pose, too.

The following table provides a quick comparison between Carbon Cloth Reference Pose and Start Pose:

  Reference Pose Start Pose
Space Reference Space Character Space
Fits Character Start Pose Generally Not Yes
Correct Metrics Yes Generally Not

The screenshot below shows such a scenario, where the Reference Pose on the right was originally created on the avatar whilst in t-pose. With the animation of the avatar not starting in t-pose or even in the same world location and orientation, the reference dress cannot be used as start pose. A series of transformations and deformations is needed to fit the dress onto the character start pose, meaning that the Reference Pose and Start Pose are two very different geometries and therefore must both be provided to the Carbon Cloth.

The Start Pose, which can be seen on the left, fits loosely around the avatar, ensuring that there are no dress-character overlaps. Keep in mind that some of the dress deformations are exaggerated for the purpose of this tutorial and often smaller deformations are sufficient.

_images/tutorial_start_pose_world_space_dresses.png

Start Pose (left) and Reference Pose (right).

Start Pose From Reference Pose

This section explains how to create a Start Pose from a Reference Pose.

The first step is to translate and rotate the geometry into the character’s local space described by its starting pose. This can be done with a simple Transform node.

_images/tutorial_start_pose_transformed_reference.png

Transformed Reference Pose.

After that, a series of Edit nodes is required to fit the dress around the avatar, removing all interpenetrations. In this example, two Edit nodes suffice. The first Edit node moves the shoulder straps upwards and the second Edit rescales the leg area to clear up any leg-dress overlaps.

Note

Using a Soft Radius in the Edit node creates smooth transitions between edited and unedited geometry.

_images/tutorial_start_pose_deformed_reference.png

Transformed + Deformed Reference Pose = Start Pose.

Animated Reference Pose

When simulating a garment or any other type of cloth where the Start Pose strongly deviates from the Reference Pose, such as the local deformations around the hip and leg area in this example, the Carbon Cloth can get corrupted beyond recovery during the first simulated frame.

_images/tutorial_start_pose_corrupted.png

Cloth corruption after the first simulated frame.

This happens because large deviations between start and reference geometry induce strong forces in the physics solver, which tries to conform the metrics in the Start Pose to those extracted from the Reference Pose. These forces lead to fast moving geometry, collision issues, triangle inversions, and other sources for corruptions that the simulation cannot recover from.

It is therefore important to avoid sudden big changes in metrics between Reference Pose and Start Pose to limit the forces created by the physics solver. This should be done by animating the reference geometry to blend between the Start Pose metrics and the original Reference Pose metrics.

Before blending between Start Pose and Reference Pose, make sure to transform the Start Pose into reference space. As we already have a transform that brings the reference into character/start space, that is xform_to_start_space, create an inverse of this transform to move the Start Pose from character/start space into reference space. To set up the inverse transform, follow these three steps: Invert the translation terms, invert the rotation terms, and finally change the Transform Order parameter to Scale Trans Rot, which switches the order of translate/rotate operations.

The following screenshot shows how short scripts can be used to achieve this.

_images/tutorial_start_pose_xform_to_reference_space.png

Transform to place the Start Pose into reference space.

Warning

Do not blend between the Start Pose and the original Reference Pose, as these poses are generally not in the same space. Reference Pose is in reference space and Start Pose is located in character/start space, which can be completely different. Blending between poses in different space likely results in very large or very small metrics that corrupt the simulation.

The easiest way to create smooth transitions is to use a Blend Shapes node. Attach the transformed Start Pose geometry (now in reference space) first and then the original reference geometry second.

_images/tutorial_start_pose_blend_shapes.png

Blend Shapes setup for an animated Reference Pose.

Using a simple script to animate between transformed start geometry and reference geometry over a span of 10 frames produces the following transition sequence.

_images/tutorial_start_pose_reference_animation.gif

Reference Pose animation.

Note

Ensure to delay the character Carbon Collider animation for at least as long as the reference pose animation takes, meaning at least 10 frames in this scenario. Since the dress simulation needs a few more frames to completely settle once the reference pose animation has finished, it is recommended to delay the character animation for a further 5 to 10 frames. A Houdini Time Shift node is the easiest way to implement such a delay.

Simulation Setup

This section focuses on the specific parts of the simulation setup that are crucial for this tutorial. For common practices and order of steps to set up an animated character wearing clothing, please refer to Avatar Cloth Setup Tutorial.

In the Carbon Cloth parameters, use the ANIMATED_REFERENCE_POSE as Reference Pose and make sure to keep the animated flags Animated Geometry, Animated Metrics and Animated Angles ticked. Without these flags set, no reference update will happen and the reference geometry will stay the same (being the Start Pose in reference space) for all of the simulation.

In the Start Pose tab, use the dress START_POSE.

_images/tutorial_start_pose_cloth_setup.png

Reference Pose and Start Pose setup for Carbon Cloth

Once all further Carbon Cloth and Carbon Collider parameters are set up, configure the Carbon Simulation parameters. First, set the correct Scale of 0.01. Next, adjust Iterations and Subdivisions from 10 (default) to 20. This reduces possible collision issues and corruptions and increases stability and conformation to the reference metrics provided by the animated reference. As a last step, add simulation Damping of 1 to reduce high-frequency vibrations and produce a smoother cloth behavior during the Reference Pose animation.

_images/tutorial_start_pose_simulation_parameters.png

Carbon Simulation parameters.

Finally, press play to run the simulation which can be seen below.

_images/tutorial_start_pose.gif

Final simulation.