Through our collaborative efforts, we’re excited to introduce two new features for our community: the LiveSync plugin and USD export simulation data. In this article, we’ll explore how these powerful tools can elevate your workflow.
Both the LiveSync plugin and USD Export for Simulation Data are tailored for users who frequently toggle between Marvelous Designer and Unreal Engine, but each serves a different purpose.
- LiveSync Plugin: The feature is primarily aimed at simplifying the tedious import and export process. mesh, materials, skeletal animations, and geometry caches can all be imported and exported with just one click.
- USD Export Simulation Data: Specifically designed to work with Unreal Engine 5.4's updated Chaos Cloth feature, this tool enables real-time simulation effects, translating complex clothing physics from Marvelous Designer directly into Unreal Engine.
Let’s dive into how these tools enhance the design and animation workflow by walking through a case study featuring a fairy character animation sequence.
Designing the Fairy Garment in Marvelous Designer
Before we jump into Unreal Engine, let's explore how we crafted the fairy's outfit in Marvelous Designer.
1. Starting with a Simple T-Shirt Base
Marvelous Designer offers multiple ways to begin garment creation. For this project, we started by dragging a T-shirt pattern into the 2D window as a base. With the Style Line tool, we could quickly split and modify the T-shirt into a completely different style by adjusting the pattern directly in the 3D window, with real-time updates reflected in the 2D pattern.
2. Layering and Fabric Simulation
Marvelous Designer excels in simulating multi-layered garments. For the fairy outfit, we duplicated the underskirt pattern and added lace detail using internal lines. Each layer contributes to the garment’s dynamic, three-dimensional look. To simulate different fabric properties, we added a Muslin fabric preset from Marvelous Designer’s library of 77 fabric types, which changes the folds and flow of the skirt during simulation.
3. Creating Petal Patterns and Pleating Effects
Using the Polygon Tool, we traced petal shapes for the skirt from a photo, then applied accordion pleat effect with the Internal Polygon Tool and Pleat Tool. The result was an elegant, multi-layered skirt with beautiful texture and movement. Thanks to Marvelous Designer's new PBR Texture Generator, we were also able to auto-generate texture maps (normal, opacity, metalness, displacement) with a single click, further enhancing the realism.
4. Adding Ruffles and Topstitching
For the finishing touch, we created ruffles by sewing longer pattern edges onto shorter ones. And using the Topstitch Tool, we added stitching details that elevated the garment’s realism.
After completing the garment design and the initial simulation in Marvelous Designer, we move on to caching the animation.
Animation Caching
First, using the Pin Tool, we secure certain parts of the garment to the character model by double-clicking the edge lines of the pattern pieces, quickly pinning the entire line. The Tack Tool is another way we can constrain the fabric to the model, while also allowing for length adjustments that control the distance between the fabric and the model.
To cache the animation, we change the simulation preset to Animation, reduce the gravity value and increase air damping to simulate a floating, fairy-like effect. When all settings are in place, we click Record to start recording the animation cache. This cache will store all the necessary animation data, which can later be exported to Unreal Engine with full fidelity, preserving all simulation effects.
Calla Lily Creation
The vegetation in the scene is also modeled and simulated using Marvelous Designer. During the animation recording process, we can adjust the position and angle of the wind in real-time to create these natural dynamic effects.
Marvelous Designer’s keyframe editing tool allows us to create perfect looping animations without frame skips—ideal for in-game sequences. Similar to video editing tools, we can cut layers and move layers horizontally. Copy the first frame and paste it at the end of the animation. The last frame of the animation blends into the first frame, creating a perfect cycle animation.
Once the animation was complete, both the fairy's garment and the calla lily were imported into Unreal Engine using the LiveSync Plugin, which maintains the accuracy of materials, animations, and textures during the transfer.
Transfer to Unreal Engine with LiveSync
Now that the fairy’s garment is complete, it’s time to bring the animation into Unreal Engine using the LiveSync plugin.
After Install and Activate LiveSync, ensure that Marvelous Designer is running, then open the LiveSync Editor in Unreal Engine, and click the “Update” button.
The scene in Marvelous Designer is imported into the LiveSync Editor. In the editor, we can see that the shader balls have been automatically created based on the fabrics assigned in Marvelous Designer. We can also activate Unified Material; by clicking update again, the plugin will generate unified materials based on UV coordinates.
The capabilities of the LiveSync plugin aren’t limited to importing. MetaHuman characters, or any skeletal meshes, can be exported to and from Unreal Engine. Making it easier to create and simulate clothing for your characters.
With all assets successfully imported, we used Unreal Engine’s Sequencer to animate and render the final scene. The fairy’s clothing, wings, and environment elements like calla lilies were all modeled and simulated in Marvelous Designer before being synchronized with Unreal Engine via the LiveSync plugin.
Leveraging Chaos Cloth with USD Export
The LiveSync plugin is suitable for rendering animations, creating videos, and cinematics using Unreal Engine. It can also be used to import environmental assets from Marvelous Designer (such as the calla lilies in this scene). But for users seeking real-time fabric simulation, Marvelous Designer’s USD Export Simulation Data is an invaluable asset, especially when paired with Unreal Engine’s Chaos Cloth. Let’s break down the process:
Optimizing for Chaos Cloth: The fairy’s garment, with its complex layering, needed to be optimized before importing into Unreal Engine. By splitting the dress into three parts—skinned mesh, simulation mesh, and render mesh.
Auto-Retopology and Rigging: The garment that does not need to participate in the simulation is skinned to the character’s body. The close-fitting garment does not need to participate in the simulation. Using Marvelous Designer’s EveryWear Toolkit, we performed automatic retopology and rigging. EveryWear is an automatic optimization toolkit for virtual clothing in games. Marvelous Designer's Quad Optimize option can achieve auto retopology. And with the EveryWear tool, we can reduce the polygon count. Rigging feature is also a part of EveryWear tool set. We can first specify the maximum number of influencing joints. Unreal Engine supports a maximum of 8 joints, so we set it to 8. Click 'Apply,' and the weights of the body mesh will automatically be copied to the garment. The skin weight can be painted and smooth using the brush tools. And we can use Hammer Tool and Repair brushes from the sculpting toolset to fix any intersections.
The primary challenge with this fairy's dress is that the petal skirt has too many layers, making it heavy and complex. The approach we used to optimize the skirt was to represent the multiple layers through textures instead of geometry. First, we split the skirt into two parts and unfolded it. Then, we created a simplified proxy model and used an orthographic view to render different AOV channels as texture maps. This significantly simplified the geometry, while the textures gave the illusion of layered complexity.
(The left image shows the skirt unfolded in Marvelous Designer, and the right image illustrates how these layers are represented using textures.)
Optimizing Polygon Count
To further optimize the model, we need to reduce the polygon count. One way to do this is by increasing the particle distance in Marvelous Designer. When simulating fabric in 3D, random triangles tend to create more natural-looking folds. Using triangular meshes instead of quads works well with Chaos Cloth in Unreal Engine, so there’s no need to retopologize or convert to quads. Simply increasing the particle distance value will reduce the number of faces. Another important factor is increasing the collision thickness, which creates more separation between fabric layers. In this case, the collision thickness was increased from the default 2.5 mm to 5 mm for better results in Chaos Cloth.
Exporting the USD File
Once the model is optimized, we can export the USD file. Uncheck the option to export all avatars, select multiple objects in the export settings, and enable the "thick" option and unified UV coordinates. Crucially, ensure that the Include garment simulation data option is enabled. This will preserve all the physical properties assigned in Marvelous Designer, such as shrinkage and collision settings, so they can be read by Unreal Engine’s Chaos Cloth.
ClothAsset Setup in Unreal Engine
Back in Unreal Engine, we need to create a ClothAsset. Import the USD file exported from Marvelous Designer and select the skeletal mesh, which was also imported using the Marvelous Designer LiveSync plugin. This process skins the clothing to the character. In the preview scene, make sure to select the same skeletal mesh again.
Painting Weights for Maximum Distance
Next, we’ll paint weights for the maximum distance property. It controls which parts of the fabric will participate in the simulation. Areas painted with 0 value represent regions that will not be simulated and are instead skinned directly to the character’s body. Use a smooth brush to create a gradient effect for the weights. You can paint weights in either the 2D or 3D views. If working in 2D, the layout and arrangement of the patterns are identical to what we see in the 2D window of Marvelous Designer. To make it easy for weight painting, make sure to pay attention to the layout of the patterns before exporting the USD file. The pattern pieces should not be too close together or have any overlapping. After painting the weights, click 'Accept' to preview the simulation results.
The weight values we painted can be adjusted using the SimulationMaxDistanceConfig node, which controls the highest and lowest weight values. Lowering the maximum value can further optimize the simulation.
Fabric Physical Properties
The next three nodes are used to define the physical properties of the fabric. Normally, adjusting fabric properties is the most complex part of cloth simulation, but since we exported the physical properties from Marvelous Designer, this step becomes much simpler. By enabling the arrow icon on each parameter, we can directly use the fabric properties imported from Marvelous Designer.
Additionally, a clothing icon next to the nodes allows us to use the weight map generated in Marvelous Designer. Different fabric presets were applied to different patterns in Marvelous Designer, and the weight map is automatically exported with the USD file.
To enable the clothing to collide with the character’s body, we need to create a physics asset. This asset should be added to the SetPhysicsAsset node in Unreal Engine.
Other Key Nodes for Cloth Simulation
- SimulationCollisionConfig: Controls fabric thickness and friction. Enabling the arrow icon will use values imported from Marvelous Designer.
- Self Collision: Disabled by default for optimization. Enabling it will allow basic self-collision using spheres. Or use the more precise but more costly collisions through the SimulationSelfCollisionConfig node.
-
SimulationSolverConfig: This node manages global settings for the solver. Increasing the number of iterations strengthens the stiffness of constraints, but increases CPU load. Adjust the Substep value to improve collision accuracy at the cost of higher CPU load. Both settings must be optimized for performance and accuracy.
You can also add aerodynamic effects to the simulation. By introducing wind fields, the clothing will move naturally during idle animations, making the character appear more lifelike.
Level of Detail (LOD) Settings
The final part of the preset involves configuring LOD (Level of Detail) settings. Different LODs will activate based on the camera’s distance from the character. The physical properties we configured earlier are connected to the top collection. A Remesh node is added to the middle LOD collection to reduce mesh density. The bottom collection, connected directly from the skinning node, doesn’t include dynamic simulation. If we want fabric simulation to be active all the time during gameplay, this collection can be removed.
Merging the Simulation and Render Meshes
If a proxy model was used for simulation, we need to remove it as the render mesh using a Delete Elements node. Then, import a detailed render mesh, either as a static mesh or through a USD import node. Then use the Merge Cloth Collection node to combine the simulation mesh with the new render mesh.
Final Setup in the Character Blueprint
In the character’s blueprint, add a Chaos Cloth Component and parent it to the character. Select the cloth asset we just created and adjust the position and rotation parameters if necessary. Compile and save the blueprint.
Now, the clothing has real-time fabric simulation properties and will react naturally in the game environment.
Whether you’re creating cinematic sequences or in-game assets, the combination of Marvelous Designer’s LiveSync plugin and USD Export Simulation Data delivers a seamless, efficient workflow. The tools allow for rich, detailed simulations and quick iterations, significantly enhancing productivity.
To explore these tools for yourself, the fairy model and garment are available for free download on our official CONNECT store. These files are intended for educational use and cannot be used for commercial purposes.
Please sign in to leave a comment.