Announcement

Collapse
No announcement yet.

[RELEASED] [SUPPORT] RPG User Interface Kit

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

    #46
    Using Auto Rig Pro for Blender v2.90 I have now rigged and skinned this character. It is rigged to the UE4 Mannequin Skeleton. Upon import of the FBX file that came from Blender, I chose the UE4 Mannequin Skeleton for the skeleton within the import options dialog. This skeleton was already present within the project and you can get it with any free Unreal Engine demo content. e.g. from the Third Person Template or Animation Starter Pack for example.

    The attached screenshots show the skeletal mesh using the default walk animation and also show the skeleton that is assigned to the skeletal mesh. So this means that no "animation retargeting" will be required in order to use this skeletal mesh with any marketplace animations that are also rigged to the UE4 Mannequin Skeleton (aka the Epic Skeleton).

    Next I'll investigate and implement visually equipping the armour, clothing pieces, weapons and shield. New skeletal meshes will be required for the armour and clothing pieces. Sockets on the skeleton will be required for the weapons and shield. The default rotation and pivot points may need modifying for the weapons and shield in order to orient them correctly upon equipping them.
    Attached Files
    Last edited by Moore Game Dev; 09-29-2020, 06:39 PM.
    Artstation: https://www.artstation.com/jamesmoore
    Sketchfab: https://sketchfab.com/James.Moore

    Comment


      #47
      New socket on head bone on skeleton: created
      New Blueprint function to spawn and then attach helmet to head socket when equipping the helmet on the inventory screen: done
      New Blueprint function to despawn and unequip helmet: done




      Attached Files
      Artstation: https://www.artstation.com/jamesmoore
      Sketchfab: https://sketchfab.com/James.Moore

      Comment


        #48
        I have now split the body skeletal mesh (which included the whole of the human being except the hair and eyes) into several skeletal meshes , one skeletal mesh per part of the body. Then exported them along with the rig, using the Auto Rig Pro addon for Blender to fbx to ensure they remained rigged to the Epic Skeleton (with root motion enabled). I imported the fbx files into UE4 and added them as child skeletal mesh components of the torso mesh, within the Character blueprint. I then used the Set Master Pose Component node in the Construction Script of the Character blueprint to ensure that they all use the bone transformations of the main/torso skeletal mesh. Now each piece is replaceable in-game with armour or clothing pieces (skeletal meshes).
        Attached Files
        Last edited by Moore Game Dev; 09-30-2020, 04:50 PM.
        Artstation: https://www.artstation.com/jamesmoore
        Sketchfab: https://sketchfab.com/James.Moore

        Comment


          #49
          It is making progress.
          Attached Files
          Artstation: https://www.artstation.com/jamesmoore
          Sketchfab: https://sketchfab.com/James.Moore

          Comment


            #50
            More progress
            Attached Files
            Artstation: https://www.artstation.com/jamesmoore
            Sketchfab: https://sketchfab.com/James.Moore

            Comment


              #51
              This is looking great and, for me your use of the UE4 skeleton mean I can use the Quang Phan characters, (well male anyway at this point unless your doing a female too) without issues because his setup is close to the way your doing this. If I fit armour or clothing I fit to these

              https://www.unrealengine.com/marketp...uct/human-base

              I found them a good starting point

              Will this be both thrird/first person or first person only?
              Last edited by Kiwi-Hawk; 10-11-2020, 07:34 PM.

              Comment


                #52
                Originally posted by Kiwi-Hawk View Post
                This is looking great and, for me your use of the UE4 skeleton mean I can use the Quang Phan characters, (well male anyway at this point unless your doing a female too) without issues because his setup is close to the way your doing this. If I fit armour or clothing I fit to these

                https://www.unrealengine.com/marketp...uct/human-base

                I found them a good starting point

                Will this be both thrird/first person or first person only?
                Do the Quang Phan characters come in several parts, e.g. head skeletal mesh, torso skeletal mesh etc? If so then I guess you can use the head mesh with my armour meshes. If not then you may have a tricky problem on your hands. Really someone should create a standard for MMORPG characters. Like how many parts/meshes should each character consist of and where the seams/cuts should be.

                Do the Quang Phan characters come with their own clothing?

                I'm aiming for both 1st and 3rd person usage. I'll probably do a female. It'll be good fun and practice.
                Last edited by Moore Game Dev; 10-12-2020, 05:56 PM.
                Artstation: https://www.artstation.com/jamesmoore
                Sketchfab: https://sketchfab.com/James.Moore

                Comment


                  #53
                  Here Quangs asset page you can check out how he does it, he has a head, TopBody, hands (both hands and left and right) botbody and feet and you can use the master controller to add items like belts water botters etc, he there tutorials on the you tube pages and has a Discord where he's very active and helpful. His character come with clothing that skined to a body part to cut out clipping

                  https://www.unrealengine.com/marketp...r=DESC&start=0

                  Comment


                    #54
                    I've finally managed to merge the Advanced ARPG Melee Combat System v1.0 with RPG User Interface Kit. If anyone has a copy of both products and wants a copy of this merged project just send me a message/email with evidence of purchase. (The merged project UE version is UE4.25.4)

                    https://www.youtube.com/watch?v=JbpFOcKV664
                    Artstation: https://www.artstation.com/jamesmoore
                    Sketchfab: https://sketchfab.com/James.Moore

                    Comment


                      #55
                      Hello,

                      Thank you for that amazing pack. It's perfect. I cannot think of a better way to implement an inventory system in a real RPG. Or almost perfect; I just made some minor tweaks but that was not a big deal. For instance, I was surprised you need to press different keys in order to sell an item, to move an item to your inventory, or to move an item to a container. I made some verification with all the handy booleans you've made (are we in a container mode, in a trader mode, in inventory mode, is the 0 or 1 widget switcher activated, etc), and I replaced all the keys with a simple left mouse click and then I called the appropriate functions. It seems to work, even if I have just tested it for 2 min in your demo map.

                      I wanted to invert the right / left hand slot. Right now, if you left click (which is the primary click on a mouse) on an item, it will be set on the left hand, which will then be used by the right click in game (blocking for instance). My personal opinion is it's perhaps not very intuitive(?).
                      I took a look at the "Get slot Type by item for right click" and in the "Contains" node, I found the "Right". I was like: "ok, cool, I'll just change it to left and do the opposite way in the "Get slot Type by item for left click" function. " But actually, it is not implemented the same way. So I was wondering if I could just copy past the "Get slot Type by item for right click" into the left one, and then modify the Rigt / Left in the Contains node without breaking the system.

                      I am wondering if the shield items shoud not be automatically set to the left hand (right now, we can put them on the right hand).

                      I am trying to do what you are actually developping; really equipping an item you have clicked on in the inventory. I've done it for the weapon / shield, giving them a static mesh. it works well, except for that part: if a shield / weapon is already equipped in one hand and I want to swap hand, it's perfectly well noticed in the inventory but I don't know where exactly. So, right now, the static mesh keeps on staying on the other / free hand.

                      And now, the fun part: if I want all my NPC to have their own inventory, to be able to equip (on them) an item, a weapon, or if I want to loot their body and the helmet I take on them disappear from their head, I would need to recreate a large part of that system but directly in their BP?

                      Anyway, again, thanks. I've tried to do it myself before saying your product on the market. And now I realize that I would never really be able to make it, or it would have taken months and months.

                      Comment


                        #56
                        Originally posted by IlliciteS View Post
                        Hello,

                        Thank you for that amazing pack. It's perfect. I cannot think of a better way to implement an inventory system in a real RPG. Or almost perfect; I just made some minor tweaks but that was not a big deal. For instance, I was surprised you need to press different keys in order to sell an item, to move an item to your inventory, or to move an item to a container. I made some verification with all the handy booleans you've made (are we in a container mode, in a trader mode, in inventory mode, is the 0 or 1 widget switcher activated, etc), and I replaced all the keys with a simple left mouse click and then I called the appropriate functions. It seems to work, even if I have just tested it for 2 min in your demo map.

                        I wanted to invert the right / left hand slot. Right now, if you left click (which is the primary click on a mouse) on an item, it will be set on the left hand, which will then be used by the right click in game (blocking for instance). My personal opinion is it's perhaps not very intuitive(?).
                        I took a look at the "Get slot Type by item for right click" and in the "Contains" node, I found the "Right". I was like: "ok, cool, I'll just change it to left and do the opposite way in the "Get slot Type by item for left click" function. " But actually, it is not implemented the same way. So I was wondering if I could just copy past the "Get slot Type by item for right click" into the left one, and then modify the Rigt / Left in the Contains node without breaking the system.

                        I am wondering if the shield items shoud not be automatically set to the left hand (right now, we can put them on the right hand).

                        I am trying to do what you are actually developping; really equipping an item you have clicked on in the inventory. I've done it for the weapon / shield, giving them a static mesh. it works well, except for that part: if a shield / weapon is already equipped in one hand and I want to swap hand, it's perfectly well noticed in the inventory but I don't know where exactly. So, right now, the static mesh keeps on staying on the other / free hand.

                        And now, the fun part: if I want all my NPC to have their own inventory, to be able to equip (on them) an item, a weapon, or if I want to loot their body and the helmet I take on them disappear from their head, I would need to recreate a large part of that system but directly in their BP?

                        Anyway, again, thanks. I've tried to do it myself before saying your product on the market. And now I realize that I would never really be able to make it, or it would have taken months and months.
                        Hi IlliciteS,

                        I think you're on the ball with the changes to whether an item goes into the left or right hand. With a bit of debugging you will no doubt get it to do what you want. To debug it in the most easy way I like to enable the debug booleans in the blueprints or functions I'm interested in and do a play test, then examine the Output window. Then I pick a node within a function that I suspect needs modifying and toggle the breakpoint on that node. Once its stops on that breakpoint during a play test I then click the Step Over button and follow along with what's its doing.
                        • There are probably several ways to change the hand in which an item goes. You could modify the GetSlotTypeByItemForLeftClick and GetSlotTypeByItemForRightClick functions or you could modify the contents of the AllowedSlotTypesLookupDataTable which is referenced by those functions. If you examine the AllowedSlotTypesLookupDataTable you can see that for ItemType of Shield its got a row for each hand so that means it allows shields to get equipped into either hand.
                        • If you remove the row from the datatable for Shield to go into the RightHand, then when in-game , if you press the right mouse button on a shield in the inventory it will do nothing, but if you click the left mouse button it will still make it become equipped into the left hand.
                        • The slot that an item is equipped into is stored within the variables EquippedSlot and IsEquipped the CharactersItems array (of data type ItemStruct).
                        • The ItemWidget contains an event called On Clicked (Button Item) on the Event Graph that handles left clicks. The function OnMouseButtonUp, which you'll see in the functions area on the left hand side, handles right clicks.

                        To get dead NPCs to visually lose their equipped armour you could create a few new functions to handle this:
                        • NPCs already have an inventory that is populated at begin play by the 2 functions AddSpecialItemsToNPC and GenerateInventory. You'll see these in the Event Graph of BP_NPC_Master. You could modify one of these functions or create another function that focuses on adding equipped items to the NPC. Again the item's EquippedSlot variable will need to be set to something other than Unset for these equipped items. The IsEquipped variable also needs to be set to true if the item is equipped.
                        • If you choose to modify AddSpecialItemsToNPC, some of the items added by this functions could be equipped items. The items added to NPCs read from the NPCItemsDataTable. Maybe add a new column to it (to the NPCItemStruct) called EquippedSlot of data type EquipmentSlotTypesEnum and another called IsEquipped (boolean) and read these (use a Branch node or a Switch node) within the AddSpecialItemsToNPC function. If an item is equipped then you could call a new interface function within BP_NPC_Master that visually equips the item/static mesh/skeletal mesh.
                        • Then when looting the NPC, the function called TakeHighlightedItem in ItemMainWidget makes a call to the interface function SetInventory (the target is a Container reference) where it passes in the modified Inventory of the NPC. You could call a new interface function that visually removes the armour or weapon from the NPC just before this call to SetInventory.
                        I hope this helps.
                        Last edited by Moore Game Dev; 11-29-2020, 12:29 PM.
                        Artstation: https://www.artstation.com/jamesmoore
                        Sketchfab: https://sketchfab.com/James.Moore

                        Comment


                          #57
                          Hey,

                          I haven't noticed a lot of things about what you explained, and I should be able to have a better understanding on what's going on. I have to dig a bit more. Thanks for the quick answer!

                          EDIT : I just took a look about the AllowedSlotTypesLookupDT, and it's even better. Since I have no intention of allowing dual wielding (I have no animation for that), I removed the left hand for all the weapons, and I removed the right hand for the shield. Instead of doing nothing if I do the "bad" click, it will automatically select the left / right hand depending of the last option remaining in the DT. No need to code more, no need to specifically select the left / right click in the Controller BP. That's so smooth!
                          Last edited by IlliciteS; 11-29-2020, 04:06 PM.

                          Comment


                            #58
                            I've created a skeletal mesh version of the breastplate which now comes with a gambeson and part of the torso so that the naked torso skeletal mesh can be dynamically swapped for this mesh when equipping it.

                            Developing this skeletal mesh is taking a considerable amount of time as each piece has to be modelled, UV unwrapped, rigged and skinned to the Epic skeleton (Auto Rig Pro and Voxel Heat Diffuse Skinning blender addons are useful for this), and then painted (in Substance Painter), joined together, exported to Unreal and tested with materials and animations then issues such as mesh parts poking through other mesh parts or mesh distortion has to then be fixed.

                            I hope I'll get faster at this as time goes by.

                            I've removed some of the gambeson topology so that it doesn't poke through. Pulled other parts of the breastplate and gambeson near the armpits outwards so that the skin doesn't poke through during animations.

                            I'm currently not sure which method is best for fixing "meshes poking through other meshes" problems with modular characters, I suspect its either
                            1. pulling areas of the mesh around a bit in Blender then re-exporting to Unreal
                            2. removing some quads then re-exporting to Unreal
                            3. reskinning parts of the topology then re-exporting to Unreal
                            4. or creating a mask to hide part of the topology in SP then re-exporting to Unreal
                            5. or all of the above
                            Attached Files
                            Artstation: https://www.artstation.com/jamesmoore
                            Sketchfab: https://sketchfab.com/James.Moore

                            Comment


                              #59
                              The Plate Legs are modelled but not yet UV unwrapped, textured or rigged/skinned.

                              Click image for larger version  Name:	Desktop Screenshot 2020.12.09 - 23.41.46.41.jpg Views:	0 Size:	356.5 KB ID:	1841303
                              Click image for larger version

Name:	Desktop Screenshot 2020.12.09 - 23.47.48.61.jpg
Views:	42
Size:	338.6 KB
ID:	1841304
                              Last edited by Moore Game Dev; 12-09-2020, 07:48 PM.
                              Artstation: https://www.artstation.com/jamesmoore
                              Sketchfab: https://sketchfab.com/James.Moore

                              Comment


                                #60
                                That's the plate legs done. I encountered a problem with skinning it with the Auto Rig Pro Blender addon but the supplier of it helped me resolve it within 24 hours.

                                Click image for larger version

Name:	Desktop Screenshot 2020.12.15 - 23.52.49.17.jpg
Views:	44
Size:	372.6 KB
ID:	1843638
                                Attached Files
                                Artstation: https://www.artstation.com/jamesmoore
                                Sketchfab: https://sketchfab.com/James.Moore

                                Comment

                                Working...
                                X