Announcement

Collapse
No announcement yet.

[Tutorial Preview] Gore Mesh & Dismemberment Tutorial

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #76
    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.
    Last edited by illYay; 06-12-2017, 06:45 PM.

    Comment


      #77
      Originally posted by illYay View Post
      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
      Follow me on Twitter!
      Developer of Elium - Prison Escape
      Local Image-Based Lighting for UE4

      Comment


        #78
        Originally posted by n00854180t View Post
        The neck stretching is because some vertices of the neck part of the mesh are weighted to the head.
        Hi! I'm pretty new to UE4, so I didn't really get how to fix this issue. [MENTION=11208]n00854180t[/MENTION] could you please explain what exactly I need to do to avoid that stretching? Can I fix this with blueprints only?
        Last edited by ANTARESXXI; 07-05-2017, 12:50 AM.

        Comment


          #79
          Originally posted by ANTARESXXI View Post
          Hi! I'm pretty new to UE4, so I didn't really get how to fix this issue. [MENTION=11208]n00854180t[/MENTION] 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 :/

          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.
          Storyteller - An immersive VR audiobook player

          Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

          Comment


            #80
            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! https://www.youtube.com/watch?v=iFNhYVZedZE

            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:

            Click image for larger version  Name:	weight.PNG Views:	1 Size:	80.1 KB ID:	1451153

            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
            Last edited by Celino Peiris; 03-27-2018, 01:36 PM.

            Comment


              #81
              Originally posted by Kneebiter View Post
              I didn't expect the level of interest in this. I've gone ahead and created a plugin that gives Blueprint users the ability to do bone breaks.

              You can download it here:

              https://dl.dropboxusercontent.com/u/...BonePlugin.zip

              To install it, just create a folder called "Plugins" in your project folder (if it doesn't have one already) and then unzip that and drag the BoneBreak folder into the Plugins folder. The plugin adds two new blueprint nodes:



              The Bone Break node does the actual… well… bone break, in case that wasn't obvious. The first two pins are required. The first pin is the skeletal mesh to perform the bone break on. The second pin is the name of the bone to break off. If you want to apply force to the bone as it breaks, you can populate Impact Location and Force using data. You likely want to calculate this based on Hit Result data. The final boolean is experimental and untested, but allows you to ragdoll the broken part of the mesh. This is for situations where you break off a bone like the upper arm. There are two joints that make up the arm that you may want to be controlled by the physics system. Setting this to true should cause that to happen.

              If you need the location of a bone for any reason, you can use the second node this plugin adds: the Get Bone Location node. It takes a skeletal mesh and bone name and returns a vector identifying that bones location in world space.

              Let me know if you have any problems with it. It has both editor and game binaries for Windows & Mac plus game binaries iOS and Android, but it has not been extensively tested.

              Note: This should work on Mac and Windows, both in editor and game binaries are include. I've also included, but not tested, iOS and Android game binaries. I have not included either editor or game binaries for Linux - sorry - but the source code is included.
              Hi, the link is broken. Can you please reupload?

              Comment


                #82
                TheReaper_666666 , have a look at this.

                https://www.unrealengine.com/marketp...memberment-kit




                Originally posted by n00854180t View Post

                Link seems to 404 now. Reupload?
                Originally posted by Ixiguis View Post
                This is no longer needed, as the engine now has the function "Break constraint" which does the same.
                Originally posted by Chosker View Post
                Break Constraint only separates two bodies from a PhysicsAsset. the plugin from jeff might no longer be needed, but a solution to handle the rest is still wanted


                Hope this helps.

                Edit: oh ive seen you know it already.

                Last edited by MesherKnesher; 10-23-2018, 04:01 AM.

                Comment


                  #83

                  Hi, now you can check this out on the Marketplace!
                  https://www.unrealengine.com/marketp...letal-mesh-now

                  Click image for larger version  Name:	0.png Views:	0 Size:	94.1 KB ID:	1689380
                  Last edited by GRIMSK; 11-20-2019, 03:13 PM.

                  Comment


                    #84
                    Originally posted by GRIMSK View Post

                    Hi, now you can check this out on the Marketplace!
                    https://www.unrealengine.com/marketp...letal-mesh-now

                    Click image for larger version

Name:	0.png
Views:	389
Size:	94.1 KB
ID:	1689380
                    Link not working.

                    Comment


                      #85
                      Originally posted by pbdarcey View Post

                      Link not working.
                      Oh, sorry I corrected that! https://www.unrealengine.com/marketp...letal-mesh-now

                      Comment


                        #86
                        Originally posted by Kneebiter View Post
                        I didn't expect the level of interest in this. I've gone ahead and created a plugin that gives Blueprint users the ability to do bone breaks.

                        You can download it here:

                        https://dl.dropboxusercontent.com/u/...BonePlugin.zip

                        To install it, just create a folder called "Plugins" in your project folder (if it doesn't have one already) and then unzip that and drag the BoneBreak folder into the Plugins folder. The plugin adds two new blueprint nodes:



                        The Bone Break node does the actual… well… bone break, in case that wasn't obvious. The first two pins are required. The first pin is the skeletal mesh to perform the bone break on. The second pin is the name of the bone to break off. If you want to apply force to the bone as it breaks, you can populate Impact Location and Force using data. You likely want to calculate this based on Hit Result data. The final boolean is experimental and untested, but allows you to ragdoll the broken part of the mesh. This is for situations where you break off a bone like the upper arm. There are two joints that make up the arm that you may want to be controlled by the physics system. Setting this to true should cause that to happen.

                        If you need the location of a bone for any reason, you can use the second node this plugin adds: the Get Bone Location node. It takes a skeletal mesh and bone name and returns a vector identifying that bones location in world space.

                        Let me know if you have any problems with it. It has both editor and game binaries for Windows & Mac plus game binaries iOS and Android, but it has not been extensively tested.

                        Note: This should work on Mac and Windows, both in editor and game binaries are include. I've also included, but not tested, iOS and Android game binaries. I have not included either editor or game binaries for Linux - sorry - but the source code is included.
                        Can you send a new link, plis? It is down

                        Comment

                        Working...
                        X