Apex Cloth Paint - Buttons on cloth paint - How is this done? How EG made Owen buttons to work with cloth?


Do you guys know how to paint a cloth without the buttons to fall down but actually allow the cloth to drive the buttons around?

I never thought this is possible without actually sewing the buttons on cloth but after examining the Owen from Content Example cloth map I noticed that Epic Games made it.
Is the only example I ever found.

I hope you guys know a way. Thank you for the time.

Should be enough for them to just be attached to one vertex of the cloth mesh.

Export the model to FBX, load it in a DCC and check.

The alternative is to generate the button as a texture, which honestly would work about 99% of the time…

hi MostHost_LA, thank you for your time to reply.
One of the reasons I mentioned without sewing/welding is coz I would like to know what is the magic to do it this way?

For example using gameworks physx plugin we can make a belt to drive a piece of metal keeping the shape as it is. While in UE4 engine we cannot.

What I would like to know is how we make the buttons or other pieces to work with cloth (acting as solid objects) without painting /baking on texture or welding them.
I am sure u are aware that even if we paint the buttons or texture it will look like cloth and not solid objects. In Owen cloth example we can see the buttons acts as solid objects while are also driven by cloth. They only deform a little. How is this done?

We can see also that the Owen cloth physx was done into another program (outside of UE4) since was imported with a file path and buttons do not appear in painting mode. Not until delete the cloth.

From Epic

After delete

[note: What Mathew says here will never work painting small value where buttons is, the buttons won’t follow the cloth (paint value)]

Did you export the asset and check the various groups that it comes with?

I’ll assume you also have trouble getting unreal to export the mesh for Owen.

1st thing to note.
When using the Apex tool you can use an asset LOD that isn’t the LOD in use by the engine.
If painting in engine this option just doesn’t exist.
You can snag the ClothinTool still from the old distros (sign up as an nvidia dev). or the latest one from

Access to how it works and what not here:

In the end, remember that the buttons are still “part” of the simulated cloth.

As such they cannot be “solid” unless you literally exclude them from the coat - which as you know, will cause them to be “off sync” from the coat.

I have no trouble exportin Owen mesh and I already did exported it. The cap of button is separated from the button. It seems was done like this for this to work.

Yes I understand that but you see when you paint the button the cloth needs to have as well same value to move with it and follow. But since the button is not welded to the cloth mesh it will always fall down. And even if welded it will deform like cloth if painted.

In Mathew example (painting the button with small value) well the button in motion will move only at that value and won’t follow the cloth, will just stay in air if the cloth mesh is painted at high value.

So both of these methods won’t work. In Owen example even if button is not welded by the cloth mesh it stay there and follows the cloth being still a solid object deforming only a bit as cloth.

That is why I am asking if anyone here know how to do it and would like to share the secret?

I just told you “the secret”…

You use the Apex ClothTool to produce the cloth asset that uses an LOD to work instead of the individual vertices present in the mesh.

The tool takes care of setting up the paint for you on all the vertex near the specific vertex.

Side note.
The reason the buttons aren’t attached when you export is that the mesh has a hard edge, and to do hard edges you separate meshes.

The original asset would probably just be one piece, with a hard edge marked at the bottom of the button.

There is also another way that you could possibly do something similar to Apex clothtool in engine - but it will really never be as accurate (the tool also makes performance much better).

That’s to import vertex paint and propagate values to the mesh.
If you haven’t seen it already: