Download

Fluids and blood?

How would I make blood run form wounds properly. I was thinking that render target would probably be used, but I’m not sure how I would use particles or get the blood to run along the mesh. Think anout a character being cut open and blood running down the face as well as “bleeding” when it comes into contact with fabric and pooling on the ground, wiping against walls, etc.

Is this possible through blueprints?

Oh man… so I’m probably not qualified to answer this but I do have experience to some degree… There is no fluid simulator or blood machine. As far as I know it’s going to be render targets, pre-made textures / shaders, decals, particles, ect. (: There are a decent number of options but I’d suggest to keep in mind that this just needs to serve gameplay. If it won’t break immersion or ruin clarity (like your character is following a blood trail, is a blood mage, or this is a cutscene in UE4) I’d say skip as much as you can, be inaccurate af when possible, and just focus on selling the gameplay that matters most at the time.

(: I don’t speak for everyone, but I’d theorize that most people that are getting into game development are analytical and tend to spend a little too much time noticing inconsistencies and stuff that most players aren’t going to spend any time noticing.

So I’d suggest you start by narrowing down the scope - how much blood? Why is the thing bleeding? What sort of feedback is this supposed to provide to the player? Does this need to be long term or just a quick spray to indicate a headshot / hit? How much buildup are we looking at? Is it alright to just generalize and give the character blood in pre-authored stages like “None / Mild / Heavy / Severe” ? And so on. Decals and VFX are typically what you’d want. Render Targets are for things where you need the added accuracy and it’s long term. Also, if you’re planning on using this as a data check (like BloodAmount >= 100) I’d definitely not be looking to “read” a Render Target or check for the existence of a decal / emitter. Polling for that stuff is way more expensive than writing it is due to CPU involvement.