Tutorial: Chaos Flesh Muscle Simulation Tutorial (5.5)

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 features and workflow for 5.5 using Dataflow. The Chaos Flesh system provides high-quality, real-time simulation of deformable (soft) bodies in Unreal Engine, and this example will take the user through initial flesh setup through caching a final simulated result.

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

During the Muscle Simulation section, after recording the Muscle sim, the skeleton moves but the muscles still stay in place as if they never simulated.

Hi, looks like the kinematic constraints are not updated correctly. You can check if you have any kinematic constraints under Kinematic attribute, Vertices group in the Collection SpreadSheet window. Also you can verify in Name Attribute, Transform group if you have the skeleton name matching the skeleton being set in Asset Details window. The former one should be the skeleton from the skeletal mesh that you used to create the muscle tetrahedral mesh.

I also encountered the same problem,the skeleton moves but the muscles still stay in place as if they never simulated.

After simulating fat I got this:

I can’t reproduce the muscles not following for the two of you experiencing it. Very strange. From what I can tell from your movie, the graph and sim settings look correct. I’ve tried with both animations, lift weights and ROM, can you swap out to the ROM and try that?

Also, as Yushan mentioned, check the spreadsheet to make sure the ‘Kinematic’ vertices are ‘true’.

Check to see if your Chaos Cache Collection is being written to. It should show up with an asterisk in the content editor.

I experienced this too and the way I fixed it was to keep going back and forth between the black and white paint map, inverting the surface and painting to make sure I’m capturing the surface. By default the "Strength’ on the paint tool is set to 0.5. Try bumping to 1.0 and paint over the areas where you are getting spikes.

You may actually see very small values on the ‘InnerFat’ vertices in the spreadsheet, and I think this may be contributing to the spikes. So paint/repaint as I mentioned above to clean up those values.

It can be a bit tedious, and we realize the painting tool in general needs a bit of love and will address that in the future.

1 Like

Thank you, I will try to repaint then, to see if it works better

Hello there, I am trying to make a GeometryCache using the GenerateGeometryCache button, but in the Output Log it says this:

SkeletalMeshAsset and FleshAsset have different vertex positions. Check if the assets have the same vertex order.

I am following the muscle tutorial from Epic Games (using their project examples) step by step, but I am feeling a bit lost. Does anyone know how to fix it?
Chaos Flesh Muscle Simulation 5.5

After the simulation is complete, the surface projection of the skeletal mesh is strange. I tried increasing and decreasing the property values ​​of other binding nodes, but it still doesn’t work. How can I fix this?

Hi,
The GenerateSurfaceBindings node has a known issue of binding render mesh vertices to suboptimal surface triangles. This issue has been fixed for the 5.6 release. For the current version you can try reducing the number of iterations used in this node.

Hello! thanks for the tutorial, I followed the video and get most results the same, however I met a crash point when binding skin surface to fat layer when using the generatesurfacebingding node.


And was unable to perform following action like generate geometry cache and ml deformer learning.

Many nodes have changed in 5.6.
When will we see a tutorial for 5.6?
The current tutorial does not work in 5.6.

waiting

I ran into the same issue too — I’m trying to fix it here. What usually works for me is migrating everything I did from the previous version to the new one, and then going through it node by node. You’ll often see a warning saying that a certain node is deprecated, along with a comment or suggestion. That usually helps me solve the problem. I’m going to try that right now... I’ll let you know if it works.

Hello.
I am currently trying out Fat Simulation using Chaos Flesh Muscle Simulation Tutorial (5.5)
(Chaos Flesh Muscle Simulation Tutorial (5.5) | Tutorial)
as a reference.

Question 1:
However, even when I follow the instructions in the “Fat Simulation and Geometry Cache Generation” video, it doesn’t work.
As shown in (Figure 1), the vertex becomes free of its constraints along the way and begins to move wildly.
When this happens, what should you do?

Question 2:
I’ve tried various values, but the following settings have given me the best results so far: (Figure 2)

CollectionSelectByAttr
    Group : Vertices
    Attribute : InnerFat
    Operation : >
    Value : 0.5

SetVertexTrianglePositionTargetBinding
    PositionTargetRigidity : 20
    Vertex Radius Ratio :  0.01

SetFleshBonePositionTargetBinding
    Vertex Radius Ratio :  0.004

In the video, “CollectionSelectByAttr” was “Group: Face” and “Attribute:Internal”,
but the reason I did it this way this time was because when looking at the spreadsheet, all of the “Internal” values ​​were false,
and it felt strange that the Operation was “>0.5” despite it being a Boolean value.

It’s not working perfectly (there’s a slight spike in vertices), but it’s the best I’ve tried. Are these solutions wrong?

Thank you.

P.S.:
I also found a solution to a similar problem in this thread.
In the spreadsheet, the weight paint of InnerFat is set to 0 or 1, but in the “Add Tetrahedron Collection” downstream in the graph, this value is 0.6, 0.7, etc.
Is there something wrong with this?
In the video, you set “Collection Select By Attr” to “>0.5”, which I thought was to solve this problem, but maybe not?

Creating a ground truth for ML deformers requires a long TimeRange, which is not realistic at the moment.
This is experimental and I would like to know if it is unstable depending on the environment or if it is something that should be successful as long as the operation is correct.

Hi, if the simulation is unstable (Figure 1) you can try increasing the number of substeps and iterations in the solver settings. If that does not help it usually means the simulation is not properly set up, possibly because of your muscle-fat constraints.
In the CollectionSelectByAttr node you should be able to connect AttributeKey from the painting node that paints the inner surface of the fat layer.

Hi,
New tutorial for UE 5.6 can be found here: Chaos Flesh 5.6 Tutorial
I hope you enjoy this!

1 Like