Announcement

Collapse
No announcement yet.

[RELEASED] [SUPPORT] RPG User Interface Kit

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

  • replied
    Video progress update about version 2: https://www.youtube.com/watch?v=nfC_...ature=youtu.be

    Leave a comment:


  • replied
    I've made my Trello "to-do list" board public for your curiosity.

    https://trello.com/b/5F4ExQGV/rpg-ui-kit

    Happy new year
    James

    Leave a comment:


  • replied
    I've added some static mesh representations of the skeletal mesh armour.

    (For the next version of the product)

    See video of me equipping all the armour parts in-game: https://www.youtube.com/watch?v=pSMO6S-eT2A
    Attached Files

    Leave a comment:


  • replied
    New spaulders without a ridge.

    Attached Files

    Leave a comment:


  • replied
    OK so after a lot of research I finally managed to make a cape (a simpler version of a cloak) that has thickness to it, moves ok and looks ok. Next I'll try make one with a hood, i.e. a full cloak. Its white in order to allow the colour to be easily changed in the instanced material. I'm going to have to redo the spaulders as it isnt shaped to be compatible with a cape/cloak. I'll also add some fixtures to the breastplate so that the cloak can appear to be fixed to it with a little hook going through a metal loop.

    Video: https://www.youtube.com/watch?v=ZxRf2omfO34
    Attached Files
    Last edited by Moore Game Dev; 12-30-2020, 01:42 PM.

    Leave a comment:


  • replied
    I've been trying to make a cloak which uses the Cloth Physics as well but it didn't turn out well the first time so I clearly need to understand it better before creating something like a cloak.

    So I've had to read the docs, view the Content Examples (very interesting), watch some youtube videos (meh only basic info found so far) and create various simple cloaks with different geometry and Cloth parameters.

    Here are some screenshots of test number 4. It looks and moves ok but its too thin, doesn't have a hood, strings or buckles and is using an Epic-example burlap cloth material. Making it thick and ensuring the geometry doesn't overlap itself may be a big problem but it seems possible somehow judging by the looks of the Owen skeletal mesh in the Content Examples (screenshot of him with a leather jacket on is below). I just need to figure out how to do it (make it thick and not overlap itself). If anyone knows how or came across the info before please post a link.

    By "overlap itself" I mean that the inner cloth faces move through the outer cloth faces and become visible on the outside as the cloth is flapping around during Play / Simulate. This is one of the problems I need to overcome in order to make a nice cloak.

    thanks

    Edit: Found a solution to the "faces overlapping during simulation" here: https://answers.unrealengine.com/que...f-the-fab.html
    Attached Files
    Last edited by Moore Game Dev; 12-28-2020, 10:09 AM.

    Leave a comment:


  • replied
    I've created a gauntlets skeletal mesh

    Attached Files

    Leave a comment:


  • replied
    Done some Spaulders:

    Attached Files

    Leave a comment:


  • replied
    That's the plate arms done. However there is a gap at the back of the shoulders which is a skinning issue. Even Blender addons Auto Rig Pro and Voxel Heat Diffuse Skinning addons cannot solve this and it will require manual weight painting which is a fiddly process and some bright spark could make a killing fixing this problem with the skinning process.

    Attached Files

    Leave a comment:


  • replied
    Sabatons (armoured footwear) are done.

    Attached Files

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:

Working...
X