let me introduce that little pack I’m working on. It’s an essential kit of basic VR mechanisms, compatible with Epic VR template.
it is composed of 3 customizable blueprints :
interactable physically simulated objects (can be used for door, drawers, levers, chests etc …)
slots (usable for any kind of locks)
pickables objects (can be use as keys, coins, gear etc … they fit into slots to unlock the interactable objects.
here a little demo on how it works
feature list :
*** BP_PickupObject actor ***
Similar to epic’s BP_PickupCube actor but with additional features.
can be place in a slot
has a “type” variable picked up from the enumeration “ENUM_PickupObjectType”
If the type of the PickedupObject doesn’t match the “type” of the slot he’s dropped on, it won’t collide and fallto the ground.
has a “ID” integer variable
If the type matches but not the ID, the PickupObject will be place into the slot (aligning its pivot to the slot’s pivot) but the slot will remain “locked”(slot’s “Locked” variable is still set to true)
If Both ID and type match, PickupObject will be place into the slot (aligning its pivot to the slot’s pivot) and the slot will be “unlocked”(slot’s “Locked” variable is still set to false
*** BP_Slot actor ***
actor with a customizable apparence (static mesh component), Slot can hold BP_PickupObject.
has a “Full” boolean variable set to true when it contains an object
has a “type” variable picked up from the enumeration “ENUM_PickupObjectType”
has a “ID” integer variable
*** BP_InteractableObject actor ***
Gameplay related actor with a customizable apparence (static mesh component), they can rotate or translate, be physically simulated, have a limited or unlimited range of motion etc …
“type” from “ENUM_InteractableActorType”, currently can do 1 rotation or 1 translation
“Limit” defines how far the object can move, can be positive or negative (affect the direction), if type is rotation, limite can be more then 360° or less then -360°, in that case, the object can do multiple turns. If set to 0, the range of motion is unlimited.
“Snap when closed” use this to prevent object from bouncing when returning to initial position (both by autoreturn or by hand), it alos prevent an object from pushed by a dynamic object.
“Snap Limit” how far the magnetism from the snap feature extend, expressed in % (usually less then 10%)
“Is Physic” if checked the object is physically simulated, otherwise it isn’t (when release the object stay in place)
“damping” define the damping if the object is physic
“Autoreturn” if checked, the object will return to its initial position when released
“Return Duration” defines the speed of the return, in second for a full motion (from max position to initial position), if object isn’t limited the duration is base on 100 cm or 360°.
“Return Delay” defines hos long it takes for the autoreturn to start once the object is released (in second)
“Linked to” Interactable object can be linked to slot or other interactable object, in that case it read the “locked” state of all their linked objects, if at least one of them is set to true, the object cannont be grabbed or move, neither by hand or simulated. if the autoreturn is true, it will be activated immediatly.
“Attached Object” slots or other non dynamic Blueprint objects can be parented to the interactable actor. Note that it CAN’T be another interactable actor Neither a simple static mesh (a simple blueprint with a static mesh component will work perfectly.
Currently everythings is almost done, just need a little bit of polish (like tool tips for the variable field etc) and make all the screenshots for the marketplace. the pricing will probably be around 25 or 30 bucks.
Awesome work, it will save me so much hours i will buy it for sure. I have just 2 questions how easy would it be to unlock the door by turning the key 360° and attach a doorknob and turn it to open the door?
(sorry for the late answer … I haven’t been notified there was some activity on this thread and I don’t go to this forum very often… )
unfortunately that pack has been rejected… it will never be released on the market place…
there are various reasons for that like naming convention, or material setup (wich material ??) but the main one is that they said it was to easy to reproduce (I’ve seen far more basic content on the marketplace then that but anyway …)
so I give up with this one…
but it would be very selfish to let this thing die, and I don’t want to shortcut the marketplace… so I give it for free to the community…
feel free to use it, share it, modify it, enjoy it
I’ve started to work on this kind of feature, but so far I didn’t find an easy way to do that unfortunately … that’s due to the way physical objects work, (especially the fact that when an object is set to physical it doesn’t belong to a hierarchy anymore … )
so short answer to your question is : "very difficult, at least for me … "
Thank you so much! I have a quick question, for some reason the The axis are flipper having x and y look up and z to the side, any clue why this is happening?
I tried using the bp you made in studio template and i got a lot of errors. is it possible for you to post a studio template with the bp actions of grabbing etc? i have no clue how to fix the bp myself.
The Interactable Actor is still one of my favorite tools to work with. Sadly it cant be Nativized. As soon as you nativize it for a packaged build the actors inheriting this class are moved away in a certian direction. Looks like translation multipied.
If i find something ill make sure to post something here. Maybe the community and the maker are still out there using it too and can help !
Hi ,
can you help me? I have this Essential Kit, its realy good but I have one problem.
First I tested make manualy all in new clean project but still I had problem with collision and grab system.
Now I have imported all into my project. Function is good but I have my camera view still down or under floor. I can not solve this problem.
And if I look on some blueprints then I see some old definiton.
I use engine 4.21.2 - can you change it for this version or send me some fixed files or something?
THX very much