Physics
Character Assembly prepares supported grooms for hair simulation using Geometry Nodes and Blender's XPBD solver. Physics controls apply to the character selected in Rig Instances.
Enable Hair Simulation
- Open the Character Assembly tab and select your character in Rig Instances.
- Enable the checkbox in the Physics panel header.
- Play from the scene's start frame to preview the simulation.
Until you bake, hair simulation is calculated as the animation plays. Jumping directly to a later frame does not calculate the frames before it.
If the panel says No groom on this character can be simulated, the imported character has no simulation guides available. Check that the export includes a groom with simulation data and that Hair was enabled during import.
Bake the Simulation
- Save your
.blendfile. - Set the scene's start and end frames to the animation range.
- Set Warm-up Frames if the hair needs time to settle before the first frame.
- Click Bake Simulation and wait for it to finish.
The bake stores this character's hair simulation on disk beside the saved file. You can then scrub
the timeline freely and render the animation. Keep the bake files with the .blend when moving
the project.
After changing animation, physics settings, or collision, click the trash button beside Bake Simulation (Delete Bake), then bake again.
Custom Collision
Assembly assigns an automatic collision mesh. In the import dialog, Collision Source selects Body, Head and Outfit (default), Body and Head, or Head Only. Reapplying the manifest and rebuilding collision detail retain that character's choice.
To use your own:
- Prepare a mesh covering the surfaces the hair should collide with. Keep it simple to reduce simulation cost, and make sure it follows the character where needed.
- Select the character and expand Physics > Collision.
- Choose your mesh in the object picker.
- Adjust Margin, preview the motion, and re-bake.
The selected mesh replaces the collider assignment for this character's simulated grooms. Clearing the picker removes that assignment; it does not restore the automatic collider.
Settings
| Control | What it does |
|---|---|
| Stiffness | Higher values hold the hair closer to its authored shape; lower values allow more movement. |
| Gravity Preloading | Higher values treat the authored shape as already settled under gravity. Lower values let it sag further. |
| Warm-up Frames | Simulate extra frames before the animation starts so the hair can settle. |
| Margin | Set the clearance between the hair and collision mesh. |
| Edge Contacts | Catch strands crossing a collision face between simulation steps. More accurate, but slower. |
Groom Groups and Existing Scenes
New schema V2 exports keep each Unreal hair group's simulation settings and component overrides. Groups enabled for simulation have independent guide objects, particle counts and caches. Static strands still follow the attachment surface. Simulation remains off until you enable it in Blender. The Blender solver has different material and iteration controls from Unreal; source values are retained, but settings without a measured equivalent are not copied into unrelated Blender controls.
Surface bindings use a dedicated CA_SurfaceBinding map, so overlapping texture islands, UV seams
and missing texture UVs do not leave strands behind. The character's texture UVs are preserved.
Every render strand and guide binding is checked against Blender's UV sampler during attachment.
Re-export and re-import existing beta characters to use the corrected group settings and bindings. Released V1 packages remain importable with their existing flat physics settings. Particle counts above the validated 16-point limit are clamped with a warning on import.