Tutorial: Chaos Flesh Muscle Simulation Tutorial (5.6)

Physics Engineer Yushan Han goes over the process of setting up a Chaos Flesh simulation, using a provided Emil muscle asset and detailing the new 5.6 features.

https://dev.epicgames.com/community/learning/tutorials/RZwB/unreal-engine-chaos-flesh-muscle-simulation-tutorial-5-6

In 5.6 chaos flesh, can we mirror the paint weights of insertion and origins??

Hi, this is doable through applying a custom transform (TransformCollectionAttribute) and appending the transformed collection to the original one (AppendTetrahedralCollection).

1 Like

Hi, I have run into the issue of the elbow clipping through the fat layer in the fat simulation process. I initally followed all of the given parameters and went over it multiple times to ensure it was correct. First I had both a clipping of the muscle and the elbow problem. The former I could fix by increasing the Position Target Stiffness to 30.0. But the elbow problem remains. I have tried increasing the search radius and the substeps and iterations to 10 and 40 respectively, which already leads to very high sim times on my rig.

More info on parameters:

SetVertexTrianglePositionTargeting:
Position Target Stiffness: 30.0
Search Radius: 0.8

SetFleshDefaultProperties:
Density: 100
Vertex Stiffness: 100000.0

Transfer Vertex Attribute:
Transfer Method: Global Transfer

I would really appreciate any advice or steps to take, my degree kind of depends on me making this work.

Biggest of thanks.

(Edited to replace the screenshot with a better legible one)

Hi, the clipping problem is generally because of the lack of constraints (either too few or too weak). To fix this I recommend increasing the spring stiffness between the muscles and the fat layer in SetVertexTrianglePositionTargeting. In an extreme bending case like this, I’d also suggest building kinematic constraints between the fat layer and the skeleton using the kinematic mode in SetFleshBonePositionTargetBinding. Also setting the mass and stiffness of fat layer to be much less than the muscles might help driving the fat layer, for example, using fat mass 100 and stiffness 10K vs. muscle mass 1000 and stiffness 100K.

Thank you so much for your prompt answer, I’ll try these approaches!

Thank you for the kind tutorial.

Question regarding Curve Driven Muscle Activation.
The Witcher 4 demo is described as using both length-based muscle activation and curve-driven muscle activation.

However, the two are very different in the animation assets they use and how they are used, so it doesn’t seem like they can be combined into the same ML Deformer.
How does the Witcher 4 demo use these two together?
Or does it mean that you use length-based for in-game motion and curve-driven for sequencer motion, and so on?

Hi, you can use multiple ML Deformers on the same skeletal mesh and that is how we applied both length-based and curve-driven muscle activation layers. ML Deformers essentially apply vertex position delta and combining them is straightforward.

Hi, is there a simpler way to adjust body fat, similar to what you demonstrated in your SIGGRAPH 2024 paper?