Tutorial: Wounds on Characters in Unreal
Subscribe:  iCal  |  Google Calendar
7, Mar — 1, Jun
Copenhagen DK   25, Apr — 8, May
Gyeonggi-do KR   25, Apr — 28, Apr
Copenhagen DK   25, Apr — 29, Apr
Vilnius LT   2, May — 4, May
Latest comments

this is an Excellent article, the way its set out with the vids and pics. very technical but not rambley. I learnt alot out of it.

by Eric
5 hours ago

Bob would have been proud

by Krzysztof Czerwiński
9 hours ago

Congratulations Lukas:) Amazing piece of 3D parametric shader:) thank You for sharing Your knowledge:)

Tutorial: Wounds on Characters in Unreal
24 June, 2018

Check out a guide to hit-masking characters to show dynamic blood and wounds in Unreal by Tom Looman. The article explains a number of technical details and shows some alternatives you could use. 

Here is a small piece to get you interested:

We have a few decals types in our game like bullet impacts and blood splats we splat on walls behind damaged characters. These decals are attached to the component it hit, but if you were to attempt to do this on an animated mesh you’d notice the decal sliding over the surface which doesn’t look too great. I noticed this kind of sliding in PlayerUnknown’s Battlegrounds the other day, where they use traditional decals on characters, but a more stable solution is desirable especially for third person games where you constantly see your own character’s body. It does the trick with small decals where the problem isn’t as noticeable. Here is an exaggerated example of decal sliding:

I wanted to try and find a solution for this problem on our characters and I was inspired by Ryan Bruck’s GDC demos using Render Material to RenderTarget technique to splat spheres onto a character via a render target which can be used to mask wounds into the shader. Here is Ryan’s render target based damage implementation:


The effect is a lot more expensive than we were looking to budget however. It requires two render targets (for each character in the scene!), a mesh with unique UVs (UE4’s mannequin is not uniquely UV’ed for example, and requires modification outside of the engine to work) and have spiky performance costs at runtime due to rendering of TWO calls to render targets each time we hit the character which is an expensive operation (several milliseconds worth of spikyness). If you’re wondering why it requires two calls, let me explain.

Tom Looman 

You can find the full guide here

Leave a Reply

Related articles