[Tutorial Preview] Gore Mesh & Dismemberment Tutorial

ah wait yes, I missed the part of it being a duplicate mesh with no preparation needed.
so the ellipsoid is applied to hide the chopped part on the main guy, and then for the duplicate mesh everything is hidden except the ellipsoid.

so now I see the beauty of your system: you can chop body parts in any amount of locations and the only preparation needed is an additional PhysicsAsset to match those locations.
I’d even argue this step isn’t needed! in your proxy mesh you could use the full PhysicsAsset, through code find the phat bodies that are not relevant to the proxy and disable collision for them. all you need is to keep track of the HitBone when the dismemberment happens :slight_smile:
but as you still need cap meshes to hide the holes, you still need pre-determined chopping points that use pre-determined cap meshes. unless there’s a way to adapt the cap meshes to the holes, wasn’t some mention of this in the L4D paper?

I’ll have to re-read the concept behind your ellipsoid system but the simplified workflow starts to make it more appealing to me compared to the BoneBreak system.
random thought: what if instead of ellipsoids you would use a HitMask to determine what gets chopped?

btw in the UDK system you’d also be able to make a hole into the torso and then decapitating the same character. you would need your mesh to be prepared in such a way, pre-making every possible hole (and not allowing overlapping holes). but yes this is too much preparation work :smiley:

Testing the ellipse hiding with your HitMask system was the next thing on my list.

The other main “cool thing” about this system is that non-limb-detaching wounds can be procedurally placed - e.g., a big hole in the torso doesn’t need to have the geometry for that particular spot pre-made, you can make a generic hole-fill wound mesh and then put that wound anywhere on the body. That’s part of why L4D2 feels so procedural - you can blow a hole in the torso or do a long sword gash and it shows up in the right place. It’s mainly the limbs or the diagonal full-body cuts that they had to have the wound cap meshes for.

Anyway, I hope to get this cleaned up into an example project this weekend.

Progress on the blood mask, though the material involves a lot of scaling factors on the UVs. The fiddly scaling factors shouldn’t be too much of a problem since you kind of have to pre-prepare these wounds anyway, but I suspect I’m doing something wrong for it to be having these issues in the first place.

Edit: Fixed rotation by using relative rotation for the sphere’s vectors.


I’ll be providing the basic material and stuff for free, @mathiasgredal. I may make a version with more complete wound meshes and whatnot as an example and charge a bit for support for the package later on.

This whole thing looks awesome man. What happened to this project? Did you ever do anything else with it? I’m looking to implement something like this and would hate to reinvent the wheel. Is there a tutorial out there or an example project?

@GameMaster79 - With the release of 4.14, one of the major hurdles to making this system easily shareable has been overcome with the addition of PreSkinned vertex positions by default in the engine. Previously I was having to hack that into the usf files, which meant a full recompile of all materials, and was hard to convey how to do easily.

In addition to that, I got the blood mask + sphere mask operating together as they’re supposed to according to the white paper, though it still needs a bit of work for the offsets to be fully controllable (right now you can’t move the mask in the direction it’s projected in).

Now that it no longer requires changes to the engine level material shaders, I plan to release it as a pack, hopefully soon (need a bit of time to get the meshes done, as I’ll have to hire someone on for that).

That’s great. Pretty exciting, I would be into this package. You should tell the thread when you get it together. One thing that is kind of a bummer, I hear the queue for the marketplace is months long. :frowning:

Selfy / Gumroad / Itch.io to the rescue untill it’s approaved.

Yeah, I would buy it anywhere. That’s a good point. So, lets get his thing going… Let me know if you need a beta tester :slight_smile:

Still working on the mask blending, will post updates when it’s fully working :slight_smile:

What ever happened to this project? All these videos look so promising, and yet it’s been over an year and no tutorials had ever surfaced.

It’s a shame OP had to move on before he could even explain how to get rid of the vertices stretching effect…

n00854180t , it looks like you’ve taken over the project, and included L4D2 style wounding on top of dismembering. I suspect you won’t be releasing any of it for free. My question is, when are you planning to release it at least as a paid product, and is it going to ship with source code too? I’m not interested in blueprint plugins, I prefer to have code so I can tweak everything I want. If you’re not planning to release the source code at any point, please let me know so that I won’t be wasting my time waiting. Thanks!

I’m in the middle of moving so I haven’t had much time to work on it - but it’s almost ready. I need to fix up and finish the decal stuff for blood splats.

As for release - it’s entirely material and BP based, no C++ or plugin code. Not sure on an ETA right now, probably sometime next month. I will most likely put it on the marketplace for about $15 or maybe $20.

Also technically I should note that the L4D2 style wounding doesn’t really rely on or have much to do with the bone break related wounding - they’re separate systems.

I’m not sure if that is already used in this system but I thought maybe you can also use this approach to mask out certain body parts explained here by Alan Willard: https://www.youtube.com/watch?v=XYPPd5oLoPM

Hey there guys! It was really interesting to read all of that stuff, but maybe because of lack of knowledge of English or programming I have some question and be appreciate if somebody can explain me this thing.

First of all, Im working now on my Characters models, and I have basic battle-system with weapon bones raytracing. So my characters are parted for equipment system, in swapping naked chest on chain armor and etc. And like i understand I can implement this “chopping off” my functionality with no problem, but this second part that based on LFD2 design I’m not fully understand I think, for shooter where holes can be really small its nice but for melee system, do I magically will have possibility to slicing the whole character on two parts at any angle and any HitLocation? Why slicing with LFD2 system is better than just print decal of slice on a mesh with normals/displacment? Do I have possibility to trow my fireballs trough holes in character, make a hole and hang poor monster on some kind hook? And in my case where my character already parted, should I keep an invisible duplicate of it anyway? Because even if its not rendering its still cost something for memory and CPU.

I read this document from Valve, and like I understand they have premodeled meshes anyway and premade location for gore, am I wrong?

Maybe I’m not remembering good LFD2, but can anybody explain for BP_Newbies like I am, in what functionality, except procedurals holes, LFD2 system will be better than simple BoneBreak node? And people who implement any of the systems in their project, do you have problems with meshes like those zombies on the first page, that have broken joints?
Sorry for such a noobish question but its looks soooo sweetly.

For now I’d just stick with the bone break system where you hide your part and such - everything needed to make it work is built in now (break all below bone node especially).

I was able to get some pretty cool results with breaking constraints.

One issue is the detached limb parts are still part of the bounds of the skeletal mesh. If you type in “show bounds” in the console you can see that the bounds of a mesh with a blown off limb are huge, to encompass the whole mesh. This could be bad for perf if the engine thinks a bunch of characters are visible when they aren’t because their limbs are spread out all over the world and they have huge bounds. It also seems to affect dynamic shadows. The body might be lying in place while the arm is rolling around. The shadows on the whole mesh are jittering a bit while the arm is rolling, and may even suddenly become more or less blurry depending on the bounds.

I wonder if there’s a way to physically separate the meshes so an arm can become independent of the parent mesh, for example. And if I wanted to destroy the whole character, have the arm remain. This would especially be useful if a character’s lower body was blown up while the upper body remains. This may be hard since the arm is supposed to have a bunch of parents in the heirarchy.

best bet for now would be to do what games are doing: when you chop off a bodypart you hide it from your character, and then spawn an entire duplicate of the character and hide all bodyparts except the one you chopped off

Hi! I’m pretty new to UE4, so I didn’t really get how to fix this issue. @n00854180t could you please explain what exactly I need to do to avoid that stretching? Can I fix this with blueprints only?

My personal system for handling that isn’t finished, so I don’t really have much to add :confused:

Basically just do what Chosker said - if you need a way to hide parts of the body, use either SphereMask (in the material) or chop your character into separate mesh pieces.

Hi there, read this thread a few times in the past and started my own research into the matters of dismemberment… what a bumpy ride it was/is! Thought I’d share a lil video of my progress, since there might be a few to still appreciate the craft of dismemberment! 2018 03 25 22 53 46 - YouTube

In this video I have one mesh set up with skeletal mesh components (Head,UpperArm_R etc.) for each limb to be torn apart, I keep them empty and populate them on hit event (Wasn’t sure if it would impede performance if I had the severed gore meshes assigned already from the get go, anyone have a pointer there perhaps?), so only really the part that has to spawn will be fit into the corresponding skeletal mesh component at runtime. They all share the same skeleton, but have separate Physics Assets. The original bone is always hidden on hit, and as long as you make sure to make the new set component (Head for instance) simulate physics, it will naturally just drop off and behave as you have set it up.

Furthermore, I’d love to spark the discussion again. I have found a few clues, that might bring us a bit closer to what UDK or the Ghoul Engine could deliver… while sifting through the Blueprint Nodes, I found the following:

It seems there is a way to alter mesh weights, I just couldn’t get anything to work with these yet, perhaps someone else has an idea?

Another angle, was using LODs with different skinning data (just use the LOD from your pre broken mesh) but I don’t know how to set up LODs for multiple bones of one mesh, although with a mesh that consisted of multiple meshes, each component could have its own separate LOD channel that you could switch to whenever the limb was shot off, since skinning data is also contained in a LOD.

Maybe some of you want to pass the ball around on this and come back with their findings?

Cheers

Celino

Hi, the link is broken. Can you please reupload?