Tutorial: Wounds on Characters in Unreal
Subscribe:  iCal  |  Google Calendar
San Antonio US   18, Jan — 21, Jan
London GB   21, Jan — 23, Jan
Taipei TW   24, Jan — 29, Jan
Zürich CH   31, Jan — 4, Feb
Leamington Spa GB   31, Jan — 3, Feb
Latest comments

after reading this incredible article, im still left with the question..."but, HOW?!"

More of these please! I need some good beginner tutorial!

by Berti Hien
6 hours ago

ahahahah Luke hahaha comment of the day !

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

Be the First to Comment!