Garment Design And Import

This tutorial outlines the recommended workflow for importing a garment file and extracting its original 2D pattern panels along with the draped and stitched 3D garment. Additionally, it provides garment design hints from a technical point of view that help create garments suitable for simulation.

This tutorial is split into three parts:

  • Garment export from a design tool.
  • Garment import into Houdini and 2D panel extraction.
  • Design hints for creating virtual garments.

The last section teaches best practice, helps to avoid common mistakes and provides a deeper understanding of the limits and advantages of designing virtual garments that are intended for cloth simulation with Carbon Cloth in Tailored mode. The specifics of the Carbon Tailored mode are further explained in Tailored Cloth.

Garment Export From A Design Tool

Often, a garment is designed and draped in a specialized garment design tool before being imported into Carbon for simulation.

The image below shows such a stitched and draped garment, as well as the panels from which it was made.


Dress and panels in a garment design tool.

Once a garment has been created in a design tool, it should be exported as an OBJ file. Most tools have similar interfaces and options for the export. Make sure to select all panels, but exclude the avatar. Also, check Unified UV Coordinates, this will ensure the uv coordinates are normalized. The size of unit is picked in the Scale section. As the avatar provided within these tutorials is measured in centimeters, make sure to export the dress in cm too.


The Carbon Simulation always expects size units in meters, therefore when running a simulation later in the process, the Scale parameter has to be set to 0.01, converting cm scene units to meters.


Exporting data from a typical garment design tool.

Garment Import Into Houdini And 2D Panel Extraction

In Houdini, create a Geometry node and then build the following network:


Importing the dress.

Import the OBJ into a File node and attach a Carbon UVs To Points node. The latter will extract the flat panels using the uv coordinates. A Color node can also be attached to put the same color on the dress as it had previously.

The garment panels are currently scaled in uv coordinates space, which is very small and need to be scaled up to their correct size. Going back to the virtual garment design tool, the easiest way to determine the scale is to use the Show UV Guide option or similar. This option shows the extends of the uv layout as cyan colored square.


Displaying the UV Guide.

Given this guide, create a new square panel that exactly matches the UV Guide (don’t forget to delete that panel later). Now, when displaying the line lengths in the 2D panel window, the extends of the panel are available.


Determining the scale.

In this case, the measurement reads as 2630.8 millimeters. Since the dress and avatar are measured in centimeters, the scale to be applied in the Carbon UVs To Points node is 263.08.


Dress and scaled panels in Houdini.

Design Hints For Creating Garments for simulation

Its important to realize that a virtual garment needs similar design features to real garments, if it is to simulate like a real garment. We would encourage anyone trying to create realistic garment simulations to learn from existing patterns to model their garments, or get someone involved in the design process that understands garment design. The quality of the garment design has a huge impact on the quality of the resulting simulation.

This section does not provide information about designing garments from a fashion and style point of view, but focuses on the technical aspects that are important for creating garments that will simulate well with Carbon.

A key aspect that needs to be remembered is to try to use real-world physics constraints where possible. Most garment design tools allow operations that are not possible in the real world. This improves usability and ensures that even inexperienced users can quickly design and create custom garments, however at the cost of creating garments that are physically unrealistic. Carbon on the other hand enforces real-life physical constraints and correctness, therefore, garments should ideally be designed in the way designers would for real clothing.

The following shows some common problems and how to avoid or fix them.

Avoid Undesirable Stretching

Most garment design tools automatically stretches the fabric so that even unsuitably small garments will fit any avatar. A good example is a belt. Looking at the screenshot below, the center part shows two simple panels that form a belt. The left side of the image shows a heat map visualization of the 3D simulated belt. A yellow heat map indicates that the panel had to be slightly stretched to fit the avatar, red indicatesa large extension and green marks a perfect fit. The numerical value of the stretch is shown on the right side where the 2D versus 3D line length information is displayed. The original panel width of 315mm differs from the actual 3D line length of 346mm, which is a deviation of about 10 percent.


Visualization of the heat map of a basic belt on the avatar.

Given the heat map information and the 3D line length, it is easy to rescale the panel to ensure a perfect fit of the belt that does not rely on stretching the material.


  • There will always be some vertical extension as the fabric will stretch slightly under its own weight.
  • A green or even yellow heat map is not always desirable. Various types of garments are stretchy and intended for a tight fit as otherwise they would fall off the body.

Avoid Undesirable Stitching

One feature of garment design tools is that they allow different length edges to be stitched together, without warning, sometimes this is desired and sometimes not. Looking at the screenshot below, the lengths of the two highlighted edges are very different: 1007.35mm compared to 372.48mm.


Comparing edge lengths.

Nevertheless, these two edges are stitched together, however they may not simulate as desired.

Stitching together edges of different lengths should be avoided, unless they aim to serve a special purpose. In general, all seaming pairs should consist of edges that have exactly the same length, the only exception is the creation of a ruffled look as in the dress above. While garment designers would incorporate elastic materials, stitching a long edge to a short edge has been established as the main way to achieve such ruffles in garment design tools.

Use Realistic And Consistent Values

One might think that creating a garment in a garment design tool and then simulating it with Carbon is a two stage process, but that is not correct. The Carbon Cloth Tailored Mode is also targeted towards the fashion industry and in order to achieve simulation results that reflect real-life garments it is crucial to apply realistic and consistent values within all stages from the initial design to the final simulated garment. Design tools that allow the stitching and draping of virtual garments contain their own physics engine, which come with their own set of parameters and default values. It is not only important to set these up properly, but it is crucial to use equal or at least similar properties for the Carbon Cloth in Houdini. Only realistic and similar settings achieve an outcome which is comparable to real world results. Think about the target fabric’s properties (e.g. weight, thickness, stretchiness) beforehand and use those parameters consistently during all stages of the design and simulation process.

  • Tessellation: One important step before exporting a virtual garment is to choose a tessellation with triangles large enough to simulate fast, but which still allows the simulated garment to form appropriate characteristic features (folds, creases). Stiffer materials can be simulated with triangle sizes of about 2cm, while softer fabrics, e.g. silk or satin, require triangles of size 1cm.
  • Gravity: Per default, most physics engines should use the earth’s gravity, but it is worth double-checking.
  • Simulation Scale: Keep in mind that different physics systems operate on different scales. Carbon uses meters internally, while garment design tools mainly operate with millimeters. Make sure to export your garment in the same scale as your Carbon scene. If necessary you can scale the model of the avatar along with the Carbon Simulation Scale.
  • Avatar Outer Fatness/Skin Offset: Use consistent and realistic values within all tools as otherwise there will either be collision issues or empty space between layers of cloth and the avatar.
  • Cloth parameters:
    • Density/Weight: The draping behavior strongly depends on this value. Use consistent and realistic values within all tools.
    • Thickness/Fatness: Keep in mind that Thickness is twice the Fatness and convert where necessary. Use consistent and realistic values within all tools.
    • Stretch Stiffness/Stretch/Shear: Use values that allow the fabric to extend in a realistic way. In most tools, default values are set too low, which results in stretching of the material. Use values within all tools that achieve a consistent look.

See Also

Tailored Cloth