Using morph targets AND clothing physics?

I am working on a character creator where the player has the option to apply multiple different body morphs, for example skinny/chubby/muscular/etc. So far I have been successful in creating clothing items without cloth physics, where morph targets correctly conform to the character.

The trouble arises when I try to use clothing with physics. This is for clothing items that have “dangly bits”, such as loincloths/capes/skirts/other draped clothing. As soon as I apply the clothing data to the assets, morphs become unusable. I would like to have it so that as I adjust the body morphs for the character, the physics asset for the character and the morphs for the clothing item adjust accordingly.

I spent some time looking into this and was discouraged by what I saw, which boils down to “morph targets are unusable with cloth physics but you might be able to set a new physics asset for the cloth” which would be difficult to implement in my case since the morph targets range between 0-1 and creating a new physics asset for each maxed-out morph target wouldn’t work.

I noticed that when the clothing data is removed from the object, morph targets become usable again. So it seems a solution might be to remove the clothing data from the asset while morphs are being adjusted, then apply the clothing data again once the morphs are finished adjusting. So in other words cloth simulation would be disabled when the morph slider is changed and re-enabled when the slider is not being adjusted.

But as far as I can tell there is no way to remove clothing data dynamically using blueprints, as you can in the physics asset editor. Disabling and re-enabling cloth simulation doesn’t work either, since the clothing data is still applied.

I hope I was able to adequately explain the problem, here are some more (unanswered) threads I found on this topic:

How to correctly scale a skeletal mesh / physics actor along one axis

Body Morph and Clothing

1 Like

hey there, i found a tiny work around, but it works only in special cases. in my case, i do have a coat where the lower part is driven by chaos cloth and the top part has morpth targets for elbow and shoulder and so on.
as far as i know, unreal splits meshes based on material, i gase it has something to do with draw calls. anyways, i just assign the top part with the arms a different material then the lower part. so unreal splits it and i can use cloth on the bottom part and morpth on the top and i’ll assign the same material to the material slots. works without a problem but is a bit dirty.

so as long as you dont have morphes effecting areas that are driven by cloth this is fine, but i guess in your case its not a solution. so this is more for anyone else stumbeling over this topic