[TUTORIAL] Simple Skeletal Mesh Paint (Blueprint Only)

Hi guys,

I’ve prepared a small video tutorial on how to paint onto skeletal meshes without using C++ or any plugins.

Video Link Here

I’ll also write down the tutorial in text if you’re not a fan of watching videos.

Basically we’ll need 2 texture render targets

  • 1 RenderTarget to unwrap our mesh

  • 1 RenderTarget to accumulate our paints

We’ll also need 3 materials.

Body_Material

We’re using this material do blend between the default material & our painted material using the alpha channel as our mask

First we’ll need to unwrap our skeletal mesh from the UVs so let’s create a material for that

Then setup our actor & scene capture for the unwrap

image

Make sure your settings are correct.

Then to unwrap do something like this

And finally here’s our material to project our texture onto a skeletal mesh.

Make sure you’ve got AlphaComposite enabled.

image

Then here’s our paint function

Enjoy!

6 Likes

Also added a small video for you guys to see what you could do with this :slight_smile:

This Is a great tutorial ,
I followed It But I have an issue with the paint mask .
My character goes transparent or When I use a bullet hole mask , He vanishes.
I think its something to do wht the scale of the mask, But I can’t find what I missed

I believe you might have missed setting up a parameter in your Paint_Texture_Mat.

These are the default values i used in the tutorial.
image

You can try reducing the MaskRadius or Texture Scale variables.

Also make sure your Unwrap_Mat is set up correctly.

Could you post your material setup for the character?





Looks like you applied the wrong material to your character. You should use the character material on your character not the paint material. The unwrap material is used to unwrap the model. The paint material is used for painting, and the character material should be applied on your character

I copied you 100%. Here this is the Mans body material.

Not sure what you mean?

Hi there! sorry to ask this late, but can someone tip me in the good direction on to how to apply this tecnique into something different like paint skeletal mesh with the surface material the player is on, like a camouflage seen in MGS4 , Octocamo mechanic to be more precisely im trying my best on to get this in an easy manner for anny type of skeletal mesh but i cant figure out to work. Thank you.

That’s a bit more advanced, you’d have to tag the surfaces you’d be able to copy the material from and apply the material. However to do something like that, i would not pain the character run time, rather have a set of predefined materials you could apply.

1 Like

Thank you so much for reply, Ive gotten that idea of the SceneCapture from this devlogs, I think Devlog 2 says that he got the idea from reddit, to make an camera scenecapture 2d from the top of the character, but I cant get it with the mannequin or any skeletal mesh.

Ive tried in Ue5 and i cant even get to copy a material from the hit result of a Line trace i dont know if its a bug, but in theory I can get a mesh and material name from the component actor was hit with a line trace… but after that… cant assign the texture of that material to an parameter Texture2d either. So yes, the only solution have worked for me was to preassign all the camo material to variables dynamic material instances and switch through them from the physical surface type of the line trace. But the scenecapture2d seems like a cool procedural solution hehe.
Examples
Devlog 2 : Indie Game Devlog #2 | Enemies & More! | - YouTube
Devlog 3 : Indie Game Devlog #3 | IM BACK! | - YouTube

I’ve been trying to use this technique to implement a vehicle damage system. I am facing an issue where I am not being able to write to render target when I’m hitting from the top. I’ve not been able to figure out why isn’t it working. Could you please guide me. I’ve tried setting the component mask in the material to RGB but haven’t been able to make it work.