Announcement

Collapse
No announcement yet.

[Tutorial Preview] Gore Mesh & Dismemberment Tutorial

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

    [Tutorial Preview] Gore Mesh & Dismemberment Tutorial

    Like most everyone else in the known universe, I've been playing a lot of Fallout 4 lately. Fallout 4's weapons have a tendency to sever limbs and heads. While not realistic, it's kind of satisfying in a morbid & grotesque way.

    I've seen many requests for a tutorial on how to do achieve this dismemberment in UE4. Back in UDK/UE3, there was a "BoneBreak" functionality that made doing this easy. That functionality is still in the engine in UE4, so achieving this affect is really quite easy, but there's a catch: You can't do it with only Blueprint. For some reason, the skeletal mesh BreakConstraint function (same as the old "BoneBreak") isn't made available to Blueprint.

    It would be relatively trivial to write a plugin to expose the functionality to Blueprint, or to do a custom build of the engine that made BreakConstraints callable from Blueprint, but as of right now, you have to use at least a little C++ to make this effect work.

    I'm hoping to record the tutorial using C++ over the Thanksgiving break here in the US so, with any luck ("lord willin' and the creek don't rise), it should be available by 11/29/2015.

    I'll probably also write a plugin to make this functionality available to Blueprint-only users and a corresponding Blueprint version of the tutorial, but no timeline on that yet.


    #2
    In UDK, there was a way to alter mesh weights. Is this achievable in UE4?
    Hamad Al-Hasan
    Gameplay Programmer / Technical Artist
    Portfolio: www.alhasanstudio.com

    Comment


      #3
      Originally posted by seenooh View Post
      In UDK, there was a way to alter mesh weights. Is this achievable in UE4?
      To alter vertex weighting of the mesh? I know it's possible if you're using C++, but I haven't ever needed to do that. I think you'd get to that data using the underlying FSkeletalMeshResource, but I'd have to research it more. It seems to be much more common to have a divided gore mesh and swap visibility from the regular mesh to the gore mesh after dismemberment. In face, the UDK/UE3 gore tutorials I've seen all use the gore mesh approach. In my sample project right now, I'm just using the epic guy whose parts are conveniently weighted 100% to a single bone.

      Comment


        #4
        Originally posted by jeff_lamarche View Post
        To alter vertex weighting of the mesh? I know it's possible if you're using C++, but I haven't ever needed to do that. I think you'd get to that data using the underlying FSkeletalMeshResource, but I'd have to research it more. It seems to be much more common to have a divided gore mesh and swap visibility from the regular mesh to the gore mesh after dismemberment. In face, the UDK/UE3 gore tutorials I've seen all use the gore mesh approach. In my sample project right now, I'm just using the epic guy whose parts are conveniently weighted 100% to a single bone.
        I've done dismemberment long time ago here and the tutorials I remember at the time involved altering mesh weights using another gore mesh and swapping visibility with it. It'd be more practical to investigate this because we can't assume such robotic weightings being the norm.

        EDIT:

        The tutorial I based my work on was this. If there is an alternative way that can achieve the same effect, let us know. ^^
        Last edited by LordNyte; 11-22-2015, 02:44 PM.
        Hamad Al-Hasan
        Gameplay Programmer / Technical Artist
        Portfolio: www.alhasanstudio.com

        Comment


          #5
          Originally posted by seenooh View Post
          The tutorial I based my work on was this. If there is an alternative way that can achieve the same effect, let us know. ^^

          It's basically the same process. The default UE4 guy didn't need a gore mesh, however. I'm going to try and find a mesh I can use for the tutorial that I can create a gore mesh for.

          Comment


            #6
            Originally posted by jeff_lamarche View Post
            It's basically the same process. The default UE4 guy didn't need a gore mesh, however. I'm going to try and find a mesh I can use for the tutorial that I can create a gore mesh for.
            Awesome! Good luck. ^^
            Hamad Al-Hasan
            Gameplay Programmer / Technical Artist
            Portfolio: www.alhasanstudio.com

            Comment


              #7
              Originally posted by jeff_lamarche View Post
              It's basically the same process. The default UE4 guy didn't need a gore mesh, however. I'm going to try and find a mesh I can use for the tutorial that I can create a gore mesh for.
              We had this working great in UDK using the same above method Seenoh mentioned with weighting vertices. I have been anxiously waiting for epic to offer the same functionality so we can replicate results in UE4 as the bonebreak in the current skelmesh system does not appear to affect weights in anyway from reading other threads. Not sure if thats accurate but ideally it gives better results. Have needed this badly in Unreal 4 for non death dismemberments on organic creatures.

              If you need any assets or project build to work from we have one setup on perforce and have a proper mesh setup to use with swing trace collision if you wanted to use it as a testing ground along with all assets required to replicate collision and phys gore gibs.

              Enemy is set up like so with pre made gore caps on every limb. We are blueprint only right now.

              Last edited by -SP-; 11-23-2015, 05:43 PM.

              Comment


                #8
                Originally posted by Aesthetic Games View Post
                We had this working great in UDK using the same above method Seenoh mentioned with weighting vertices. I have been anxiously waiting for epic to offer the same functionality so we can replicate results in UE4 as the bonebreak in the current skelmesh system does not appear to affect weights in anyway from reading other threads. Not sure if thats accurate but ideally it gives better results. Have needed this badly in Unreal 4 for non death dismemberments on organic creatures.

                Thanks much for working on this and if you need any assets or project build to work from we have one setup on perforce and have a proper mesh setup to use with swing trace collision if you wanted to use it as a testing ground along with all assets required to replicate collision and phys gore gibs.

                Enemy is set up like so with pre made gore caps on every limb. We are blueprint only right now.

                Aesthetic:

                Hey, that Zombie looks pretty sweet! I certainly wouldn't mind having an asset to play with, though I'll probably just gorify the MakeHuman mesh for the actual tutorial so I can distribute it and also explain a little bit of the process behind making a gore mesh.

                If you want to tell me what Unreal version and what platform you're on, I can quickly throw together a plugin to give you BreakBone functionality. It's actually fairly trivial to expose it to Blueprint… the difficulty (and my hesitation) comes in supporting multiple Unreal versions on multiple platforms for a plugin. If you're stuck, though, I can compile a binary plugin for you for Windows, Mac, Android, or iOS. If you're supporting console, I can't really help, as I'm not a licensed developer on any console platforms, though I could give you the plugin source.

                Jeff

                Comment


                  #9
                  Yeah I would be happy to get that and test this out in our build. We are on the latest version of Unreal 4.10.0

                  Would really appreciate any help to get this exposed and working, we have been waiting since beta for EPIC to put this in heh. Also any help you need testing or showcasing I would be happy to help for your plugin or tutorial.

                  I will PM you my info or you can link here. Thanks!

                  Originally posted by jeff_lamarche View Post
                  Aesthetic:

                  Hey, that Zombie looks pretty sweet! I certainly wouldn't mind having an asset to play with, though I'll probably just gorify the MakeHuman mesh for the actual tutorial so I can distribute it and also explain a little bit of the process behind making a gore mesh.

                  If you want to tell me what Unreal version and what platform you're on, I can quickly throw together a plugin to give you BreakBone functionality. It's actually fairly trivial to expose it to Blueprint… the difficulty (and my hesitation) comes in supporting multiple Unreal versions on multiple platforms for a plugin. If you're stuck, though, I can compile a binary plugin for you for Windows, Mac, Android, or iOS. If you're supporting console, I can't really help, as I'm not a licensed developer on any console platforms, though I could give you the plugin source.

                  Jeff
                  Last edited by -SP-; 11-23-2015, 02:28 PM.

                  Comment


                    #10
                    I'd also love to have the bone-break plugin for 4.10.

                    As far as having to support multiple versions - you could always wrap your proprietary stuff into your own DLL and then just leave the UE4-interfacing code open.
                    Storyteller - An immersive VR audiobook player

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

                    Comment


                      #11
                      Originally posted by n00854180t View Post
                      I'd also love to have the bone-break plugin for 4.10.

                      As far as having to support multiple versions - you could always wrap your proprietary stuff into your own DLL and then just leave the UE4-interfacing code open.
                      I'm not worried about proprietary stuff.

                      I've created a plugin, working on building platform binaries now, will post when they're done.

                      Comment


                        #12
                        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.

                        Comment


                          #13
                          @Jeff - you are the MAN!

                          Now to embark on the long and difficult journey to retrofit my characters for this! Not being an artist this is going to be tricky haha.

                          Edit: Speaking of which, how should we prepare the character assets for this? Is it the same as the UDK process? If so, where do you specify that the weights need to use the broken version and such instead of the normal one etc.? Thanks
                          Last edited by n00854180t; 11-23-2015, 09:58 PM.
                          Storyteller - An immersive VR audiobook player

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

                          Comment


                            #14
                            This will be extremely useful! Thanks for providing this to the community. Next stop wound rendering

                            http://www.valvesoftware.com/publica...l4d2wounds.pdf
                            twitter: @NaveedHIQ

                            Comment


                              #15
                              Originally posted by Naveed View Post
                              This will be extremely useful! Thanks for providing this to the community. Next stop wound rendering

                              http://www.valvesoftware.com/publica...l4d2wounds.pdf
                              @Jeff - Maybe you can figure out how to take the basics I have of the L4D2 system to the next level, since you seem to have a handle on building gore caps and the like

                              Check this out: https://forums.unrealengine.com/show...-Dismemberment
                              Storyteller - An immersive VR audiobook player

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

                              Comment

                              Working...
                              X