Search Unity

[RELEASED] VR Interaction Framework

Discussion in 'Assets and Asset Store' started by BeardedNinjaGames, Jan 28, 2020.

  1. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    VR Interaction Framework



    The VR Interaction Framework makes it easy to create your own interactable objects and be productive quickly.

    Current features include :

    - Physical Grabbing and Throwing of objects with adjustable force and averaged velocities. Lots of customization options to work with.

    - Grabbable Events - Easily respond to events that happen to a Grabbable object, from player input to more advanced events like hovering or remote grabbing. Lots of examples are included to show you how to leverage this to quickly create your own interactive objects.

    - Buttons, Levers, Sliders, Joysticks, and other physically activated objects.

    - Teleportation, Smooth Locomotion, and Snap Turn examples.

    - Two-Handed Climbing : Use both hands to climb up any collider marked as Climbable. The character's height is adjusted during climb so you can vault over objects more easily.

    - Bow and Arrow Physics (Arrows can be picked up and re-shot)

    - Gun Handling / Physics. Highly customizable with (optional ) physical interactions such as reloading, weapon charging, clip eject, and more.

    - Simple Damage / Health system .

    - Hand Jet (like a jetpack, but in your hands!)

    - Grappling Hook mechanic

    - Slow Motion : Affects the sound around you and works in conjunction with the weapon system. Great for testing physics as well!

    - IK Arm example

    - A basic Hand Tracking Demo : Pinch to pick up objects, or draw in the air using your fingers. Hand Tracking is still in Beta, so this is really meant as a quick place for you to get started experimenting with the feature.

    There's lots more to come. I'm just getting started :)

    Documentation

    Play the demo on SideQuest

    Chat on Discord

    Released! Check it out on the asset store :

    https://assetstore.unity.com/packages/templates/systems/vr-interaction-framework-for-oculus-quest-161066
     
    Last edited: Apr 22, 2021
    PolyMad, Mark_01, EN_Games and 2 others like this.
  2. willyci

    willyci

    Joined:
    Feb 10, 2017
    Posts:
    6
    found one more bug,

    arrow does not stay on the board, went thought
    and facing robot, turn my head, the robot does not turn head, but turn both arms, ( from yesterday )


    I try to flying and shooting, but bullets run out very fast. not a bug, just want to have some fun :)
     
  3. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Thank you for the video and feedback! In Unity if you click on the weapon, there is a "Reload Method" setting you can change to Infinite Ammo :


    I'll add a pistol with infinite ammo to the demo - maybe I'll hide a couple around the map :)
     
    DarkCyder9 and willyci like this.
  4. Abnormalia_

    Abnormalia_

    Joined:
    Jul 23, 2013
    Posts:
    128
    Looks solid, but lacks few features I'd like to see. Do you plan 2 handed grabbing support ? Shotgun like weapons support? More melee weapon support ? Maybe you have roadmap you can share ?
     
    SinCityXR likes this.
  5. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    127
    Is it compatible with Rift S out of the box?
     
  6. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Hi IkaBika,

    Yes, all of those features are planned and are in the works. I'm currently wrapping up UI and "Snap Zone" features, then will be looking at 2-handed weapons and hand poses.

    I don't have a roadmap to share just yet, as sometimes the plan changes. I am using the framework in professional projects, so some of these may get moved around or added to as the need arises.

    Here's a rough idea, though :

    Higher Priority :
    1. UI Examples (done)
    2. Snap Zones / Inventory (done, but can be expanded upon in future updates)
    3. Hand Pose support for Grabbables (done)
    4. Better throwing forces (sometimes compound rigidbodies do weird things)
    5. Two-Handed weapons - Shotgun (done) or Assault Rifle Example. Maybe a "Stretchy" gun
    6. More Locomotion and Motion Sickness options

    Medium Priority :
    1. Rotatable Example (ex : a steering wheel)
    2. Door with doorknob example
    3. Desk Drawer with sound example (done)
    4. Xylopohone (I mean why not?)
    5. Third Person example

    Nice to haves / somewhere down the line :
    1. Melee puncture system - I've been playing a bit of Saints and Sinners lately and would love to implement a system like this. Super fun and feels great in VR.
    2. Very simple Enemy with Ragdoll Example
    3. Basic Multiplayer Support (via Photon, as that's what I'm most familiar with). Don't hold me to this, but I am keeping multiplayer in mind in general.

    Did I miss anything? :)

    Sure is! Pretty much just import the Oculus SDK then import the VR Interaction Framework and you're good to go! Quest has a couple of extra steps since it's Android. I updated the docs to reflect this as well.

    Thanks!
    -JP
     
    Last edited: Feb 25, 2020
    Mark_01 and threebeerhonesty like this.
  7. Abnormalia_

    Abnormalia_

    Joined:
    Jul 23, 2013
    Posts:
    128
    Thanks ! Ok that's really good. I'm in ! :)
     
  8. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    127
    i will buy it too. I have others assets similiar, but i will test yours.
     
  9. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Awesome! Let me know if you run into any issues or have any suggestions. I'm focused on making this a great framework!

    Woot! And just FYI I'm wrapping up the latest update - should be submitted to Unity in a day or two.
     
  10. kenlem1

    kenlem1

    Joined:
    Mar 20, 2014
    Posts:
    40
    Does your arm IK take into account the actual size of the users arms? Is that adjustable?
     
  11. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Good question. The arm length doesn't change, but the arms will move forward with the hands, so that you can have long or short arms. If you've ever used Unity's stock IK system with VR you'll quickly notice the hands won't go far enough out if the character's arms aren't long enough. Either the hands don't match the controller, or they break off at the wrists. Here I've set my controller down on my desk and walked back to show this exaggerated :




    What I do is use Unity's IK system, but then hide the character's IK arms as I'm just using that for positional reference. Then I have the arms pieces attached to the hand models at the wrist and point towards the elbow, then the next piece start at the elbow point at the shoulder. I'd call this setup a "poor man's arm IK", but it's actually pretty convincing and handles the condition where a user has really long arms, or sets the controllers on the floor, etc. If the hands are really far away you can disconnect the arms at the shoulder, or stretch the model :



    In the above screenshot the right arm is disconnected at the shoulder, and the left is just connected via LineRenderer to fixed shoulder points. It looks kind of crazy in the editor view, but in person I think it works quite well.

    I'd recommend trying out the demo on SideQuest (or APK here if you prefer) and you can see how it looks in person.

    Another option would be something like FinalIK. I haven't tried their setup yet, but it looks promising.

    Hopefully that explains the idea behind it. Let me know if anything is unclear!
     
  12. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Here's a little preview of the upcoming 1.1 update :

     
  13. LaCorbiere

    LaCorbiere

    Joined:
    Nov 11, 2018
    Posts:
    29
    Hi there. Just purchased the Framework and built demo scene Quest and physics is very laggy. Timestep is set as per your documentation. Just can't figure out why. Unity version 2019.3.0f6.
     
  14. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Hi there. The demo scene should be running ~72fps on the Quest. I would recommend disabling shadows, and setting Pixel Light Count to 1 (Edit -> Project Settings -> Quality). Anti Aliasing can be 2x or 4x. You might also try Single Pass vs MultiPass.

    Give that a shot. If that doesn't work then there may be something else going on.
     
    LaCorbiere likes this.
  15. ghafri

    ghafri

    Joined:
    Jan 12, 2020
    Posts:
    3
    Quick question, when I add an object into the scene and give it a grabbable, the object rotates 90 degrees and snaps in my hand, when I add a grab offset and make it grab correctly as I want it to and release, the released state make it go to the state before grab offset change where its in the 90 degrees state, how to fix that?
     
  16. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Hi ghafri, I believe you've found a bug in the rotation offset drop logic! When you release the object that offset should be reapplied, but it looks like it isn't. I will get that patched for the next update. For now, instead of using Rotation Offset just rotate your model to face the direction you want it to be held in.

    Thanks for reporting that!
     
    Mark_01 and ghafri like this.
  17. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    @ghafri Here is the fix if you want to use offsets before the patch :

    In /Scripts/Core/Grabbable.cs move this statement :

    Code (CSharp):
    1. // Reset's Grabber position, grabbable state, etc.
    2. if(droppedBy) {
    3.     droppedBy.DidDrop();
    4. }
    a couple lines down, right after :

    Code (CSharp):
    1. //disconnect all joints and set the connected object to null
    2. removeConfigJoint();
    So it should look like this :

    Code (CSharp):
    1. //disconnect all joints and set the connected object to null
    2. removeConfigJoint();
    3.  
    4. //  If something called drop on this item we want to make sure the parent knows about it
    5. // Reset's Grabber position, grabbable state, etc.
    6. if (droppedBy) {
    7.     droppedBy.DidDrop();
    8. }
    And you should be good to go!
     
    LaCorbiere and ghafri like this.
  18. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    First off, I just wanted to say that all of the support around this asset has been amazing. I've been in touch with a lot of great people who have provided invaluable feedback and encouragement. What an awesome community to be a part of!

    While we wait for v1.1 to be approved by Unity, I thought I would post some more in-depth notes regarding this update, as well as some notes regarding wha'ts next in the roadmap.

    Here we go!

    V1.1 :

    - Added Snap Points. These allow you to snap grabbables to in place to a given trigger area. These are super useful and modular. In the demo I've setup a couple of examples on the player : holsters for weapons / items, (including shoulder slots), a backpack that demonstrates how you can scale items within snap zones, and the new shotgun has a few slots to put shells as well. You can configure what can and cannot be added to a snap point. You could use this for a weapon attachment feature, inventory, puzzles - all kinds of things. They seem simple, but I think this is a very powerful feature not to be overlooked.

    - Weapons can now be held with 2-hands. Added a pump-action shotgun as an example. I plan on expanding upon this in future releases with things like spread and weight.

    - Added a bonus Ammo Dispenser script. In the demo if you equip a gun you'll see an ammo box show up on your waist. Grabbing this will dispense the proper ammo type depending on if you have a pistol or shotgun equipped.

    - Added a "Bullet Insert" component that allows bullets to be inserted directly into a weapon instead of by using a clip.

    - UI Example with sliders and scrolling. This currently relies on using the OVRGazePointer, but I'd like to expand on this to support dual pointers.

    - Better Arm IK : Elbows now bend a bit better.

    - Helper Rings can now fade out if both hands are holding an item.

    - Grapple Shot now pulls Grabbables to you. If the object is kinematic or static then you grapple to it.

    - Hand Collision : Make a fist or point you index finger to enable hand collision. This allows you to punch and poke objects. Check out HandCollision.cs for more info.

    - Added a Reset Button to the demo that will move all of the items back to their starting positions.

    - Added a couple of black pistols to the demo that have infinite ammo .

    - Miscellaneous performance improvements



    Next up :

    - Add some Tooltips Objects

    - Simulate "Heavy Objects". For example,if you grab the shotgun with one hand you can wave it around like it doesn't weigh anything. I'd like to add a setting that allows the front end of a grabbable to lag behind a bit, simulating weight.

    - Hand Pose support with an example

    - Desk drawer or filing cabinet example with sound and haptics

    - Door with Hinge example

    Those are the main items. I'll post again once I see v1.1 has been approved.
     
    Mark_01, MajorThurman, ghafri and 2 others like this.
  19. LaCorbiere

    LaCorbiere

    Joined:
    Nov 11, 2018
    Posts:
    29
    Hello thank you for that. Gave it a go and still slowing down. Slows down almost exclusively when a collision takes place. ie: Pick up a pistol and knock over the cartridges or the initial grabbing of an object, it lags at those particular points. Looking around and movement is fine frame rate wise. Defo something to do with the physics I think. I am using the new XR Management system 3.0.5. That's the only difference I can find between your set-up and my own. I can post screen grabs of my player and quality settings if you think that could help?
     
  20. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Hmm.. I haven't really used the XR Management system, but I suppose there could be some overlap / issues there. You may want to try a fresh project with just Unity 2019.2, Oculus Integration, and VRIF and then work your way up from there. I'm running it on 2019.3 just fine, but I have noticed 2019.2 to be a bit more stable.

    If the slow downs are only happening during things like collisions, then there could be some errors being thrown that you're not seeing when it's running on the Quest. Try running the demo scene in the editor, move / bump some things around and see if any errors come up. Maybe a collision sound is trying to play but the audio spatializer plugin isn't working quite right or something like that.

    Are you using any of the rendering pipelines - URP or HDRP? I'd also try upping your physics timestep back to 0.02 just to see if that makes a difference. Lastly, you can always run the profiler to see what's taking up all that time during physics interactions. Just keep in mind that your game will run a little slower when the profiler is running and game window isn't maximized.

    Also, feel free to email me at beardedninjagames@gmail.com with any screenshots or info and we can continue this conversation there if you'd like.
     
    Mark_01 and LaCorbiere like this.
  21. LaCorbiere

    LaCorbiere

    Joined:
    Nov 11, 2018
    Posts:
    29

    Brilliant thanks. Setting the timestep to 0.02 did the trick. Was 0.138889 previously. Must mention that your VR Framework is excellent as is you documentation and support so thank you.
     
    BeardedNinjaGames likes this.
  22. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Woot! Excellent, glad you got it sorted. That timestep of 0.138889 is very slow. That must have been a typo on my end. It should be 0.0138889 ( 1 / 72 ). And for Rift you could target 90fps which is 1 / 90 or 0.011111.

    Now that you have 0.02 working, I'd recommend trying 0.0138889 and seeing if you can tell the difference. It's worth experimenting around with a bit. If you don't need the extra physics calculations having it at 0.02 may give you a little bit of extra cpu to work with.

    Cheers,
    JP
     
    LaCorbiere likes this.
  23. mbuanno

    mbuanno

    Joined:
    Aug 31, 2019
    Posts:
    1
    Hello! This looks like an excellent resource. I was wondering, is there an email I can contact you at to ask some usage rights questions? I tried your website and it looks like that link is broken. Thank you!

    Edit: Just scrolled up and saw you posted your email, I'll be reaching out to you there!
     
    BeardedNinjaGames likes this.
  24. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    127
    I have practically all assets related to VR controls. This is, without a doubt, the best and best finished. Worth every penny. I hope the author continues with his excellent work.
     
    Mark_01 and BeardedNinjaGames like this.
  25. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Thank you EstudioVR! And thank you for the review - that's super helpful. I will definitely keep working on this - and do let me know if you have any feature requests or suggestions.

    Onwards and upwards!
     
    EstudioVR likes this.
  26. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    127
    Hi, I have a crash on scene EMPTY. I don´t know if in my side only, Unity 2019.3. Everytime i try to run, crash. Not a big deal. :)
     
  27. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Are you using Oculus Link by chance? The new link update has been giving me all sorts of trouble with Unity in general these last few days. If you are, try unplugging the headset and see if the scene loads in the editor then.
     
  28. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    127
    No, I am using Rift S. I have Quest too, but using Rift S for develop. I know the Link is unstable.
     
  29. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    In the Player prefab, try disabling the "OVRHandPrefab" and "OVRHandPrefab (1)" game objects. These are used for hand tracking, and it looks like this new Oculus update is having some problems with toggling that on / off in the Unity editor (or it could certainly be something on my end). I'm 95% sure this should stop the crashing, even if you're on the Rift. Ok maybe 90% sure ;)



    And please let me know if that works for you, as I imagine others will run into this issue as well.
     
    Warspawn and ghafri like this.
  30. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    127

    Bingo! It works. Thanks
     
    BeardedNinjaGames likes this.
  31. GregMadis0n

    GregMadis0n

    Unity Technologies

    Joined:
    Jan 13, 2016
    Posts:
    2
    Hey ^_^ !
    I just tested the 1.1 and I love the snap zone.
    Do you plan to make the UI Example compatible with hands tracking? Means using the fingers tip on sliders, buttons and scrollingUI ?
     
  32. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Hmm.. I honestly hadn't really thought about it, but that would make sense. Do you mean using the pinch pointer like the Quest uses natively? Or to be able to physically scroll / touch elements using just your finger tips? I haven't tried the latter, but I do have some ideas on how that could be done without having to add a bunch of colliders or layers. I'll have to play around with that a bit.
     
  33. joz_nascimento

    joz_nascimento

    Joined:
    Oct 24, 2017
    Posts:
    29
    Excellent asset. A very well done work!
    In the example using the UI, how can I enable the hover cursor behavior? (like change button color on mouse over)
     
  34. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Thank you, joz! For the UI example, you can just change the button's "Highlighted Color". Unity UI events / properties should still function as normal with this setup.
     
  35. joz_nascimento

    joz_nascimento

    Joined:
    Oct 24, 2017
    Posts:
    29
    I tried do this enabling highlited colors on inspector:
    Toggle button:
    highligh_02.jpg
    Silder:
    highligh_03.jpg
    Scrollbar
    highligh_04.jpg
    Button:
    highligh_05.jpg

    But had not effect:


    I tried enable "OVR Headset Emulator"
    highligh_06.jpg

    And worked like a charm:


    should it work that way?
     
  36. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    That's odd. Shouldn't need that OVR Headset Emulator active for hovers to work. It's interesting that the active state worked but not the hovers in the first video. The hovers are working ok for me without the emulator. Hmm.

    Are you using this in the editor or in a build? And is this for Quest or Rift. Lastly, what version of Unity are you running, and are you using the XR Management Package (Windows -> Package Manager), or Oculus Desktop package? If you can give me that info I can try to reproduce and go from there.
     
  37. joz_nascimento

    joz_nascimento

    Joined:
    Oct 24, 2017
    Posts:
    29
    I'm using build for Quest (Oculus ver 13) on Unity 2019.2.15f1

    xr.jpg

    I tested in the editor then worked fine. But on the Quest doesn't work without "OVR Headset Emulator"
    I'll try update Unity.
     
  38. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    I don't see any harm in leaving OVR Headset Emulator enabled if that's working for you. In that module there is a check for whether or not it's running in the Editor (IsEmulationActivated()), so I can't imagine there would be any major performance implications there when running on the headset.

    I recently spent some time working on my own Raycasting UI solution in order to support things like dual UI pointers (or really just supporting more than one), but the built-in Unity EventSystem only supports one instance, and there are a lot of private variables that make extending it quite difficult. It just wasn't designed with multiple instances in mind. For example, if you want to be able to hover over two buttons at a time, or use two sliders at once, you'll have to modify the event system and most likely extend the ui components as well.

    I believe the new UnityXR Input system should fix that, so instead of spending a bunch of time on the current event system, I'm going to see if this new system will solve that problem. I wouldn't be surprised if Oculus releases something that utilizes this as well.

    The new XR system should also allow this framework to much more easily support other devices outside of Oculus. My goal would be to use the XR system for everything outside of Oculus-specific features such as hand tracking and guardian. When you wanted to use these features you would just move the Oculus SDK up in the XR Settings and use a separate player prefab that has any Oculus-specific components on it. That's the theory, anyways..
     
    attaway likes this.
  39. Migueljb

    Migueljb

    Joined:
    Feb 27, 2008
    Posts:
    562
    How do you add enemies to this to be able to practice on with your weapons you can use?
     
  40. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    There is a pretty basic damage system included that should get the job done. Take a look at the breakable targets as an example.

    Basically you would just add your enemies, and then on their hitboxes / colliders add the "Damageable" component. You can set the Health property on this to whatever you'd like. Weapons have a "Damage" property that will be subtracted from their Health on impact.

    Then you just decide what to do with the enemy when it receives damage or dies. For example, you could play an animation, or hide the model and spawn a ragdoll in its place. I do plan on adding a simple npc as an example, but I've got a few more core items to wrap up first. I've also been working on grabbable ragdolls that are pretty hillarious to move around - I'll post a video on that sometimes soon.
     
    LaCorbiere likes this.
  41. Migueljb

    Migueljb

    Joined:
    Feb 27, 2008
    Posts:
    562
    Oh sweet Ya get the ragdoll stuff done first please. Anything ragdolls is always so cool. Slow motion and ragdolls. I'll purchase the system today and start messing with it on the quest. Thx.
     
  42. joz_nascimento

    joz_nascimento

    Joined:
    Oct 24, 2017
    Posts:
    29
    Ok, thats fine. I'll continue using in this way.

    I see. On Oculus home, even have two pointers, but only one works at time (when clicks any button in that controller)

    Thats would be great!

    By the way, how to add exclude zones to teleporter? I dont want move the player to the top of table or below of it.
    Thanks for your support.
     
  43. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    You have a couple of options. One would be to create a new Layer and call it something like "ExcludeTeleport". Then you can just make sure that layer isn't selected under "Valid Layers" in the "PlayerTeleport" component. If you don't want to use Layers, there is also an "InvalidTeleportArea" component you can add to any gameobject / collider that you don't want to be able to teleport on.
     
  44. Migueljb

    Migueljb

    Joined:
    Feb 27, 2008
    Posts:
    562
    How do melee weapons work in terms of inflicting damage and setting them up to use in game on quest?
     
  45. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    There is a component called a "Damage Collider" that you can attach to any collider that has a Rigidbody. Here you can specify how much damage to apply on contact, as well as the minimum amount of force required to apply damage. So with the breakable example shown, you can touch them with the hammer, but you'll need to apply a bit of force to actually break them.

    It's pretty basic, but you can customize it or write your own script to work with the damage system. The only thing I'd really like to add on is the ability to check swing distance, in order to prevent "wiggly weapons". That would encourage wider swings as opposed to fast wrist motions.
     
    DarkCyder9 likes this.
  46. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    85
    Hi, any plans to add 0 gravity movements?
     
  47. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    The handjets currently use zero gravity to fly around. There isn't any momentum when you stop, though. Is there anything in particular you have in mind?
     
  48. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    85
    something like this, but without handjets
     
    FaberVi likes this.
  49. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    No plans for anything quite like that at the moment. That does look interesting, though. I'll have to give Lone Echo a try and see how that movement mechanic feels in person.
     
    DigitalIPete2 likes this.
  50. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Version 1.2 has been submitted and should be available to download within the next few days!

    This update includes :

    1. Custom Hand Pose Support - Grabbables now have a drop down field "Custom Hand Pose" where you can choose a pose to be used when holding the object. Hand Poses can be created using the Unity Animation Window, but really any animation will work.

    If you are using a custom hand asset that has it's own animations, you can specify which "Pose" id to set the current Hand Animator to. Since this uses the Animator component you can easily blend between different animations as well. Try picking up the Ping Pong ball in the demo, or the Grapple Gun to see a new pose I created. I plan on creating a short Youtube video on how to create your own Hand Poses, but generally speaking this uses the same setup Oculus uses, so if you're familiar with that process you should be good to go.






    2. Hands / Fingers now animate instead of instantly rotating into position. You can customize the speed by changing the "Hand Animation Speed" property in HandController.cs

    3. UI Tooltips - New prefab with customizable offset and view distance.



    4. Added Grabbable Ragdoll Example. The demo scene now contains a ragdoll example that allows you to grab it's appendages and move it around. I've also included an example script that allows you to pull off joints / limbs.. Try pulling on the head a bit.. you monster! :p



    5. Collision sounds now scale based on velocity. This feels much more immersive - try throwing / bouncing the ball around and notice how the volume changes based on distance and velocity of impact.

    6. Added Drawer example with open / close sounds. The demo now has a drawer you can slide open with a couple of random objects inside.



    7. Grabbables can now be individually excluded from Snap Zones via new "Can Be Snapped to Snap Zone" property. Use this if you know you'll never want to be able to snap this object. For example, the ragdoll consists of multiple grabbable objects, but you probably wouldn't ever want to snap them to any zones.

    8. Increased Text Quality / resolution in Demo Scene. I simply upped the "Dynamic Pixels Per Unit" property on the Canvas Scaler, but the text looks much sharper now.

    Fixes / Improvements :

    1. Fixed Crash to Desktop issue with Hand Tracking when using Oculus Link / Rift. This fix is really just a bandaid that disable hand tracking in the editor (can be disabled on the component) until Oculus releases a fix.
    2. Fixed issue with swapping hands functionality.
    3. Only enabling hand collision slightly after dropping an item. This prevents the finger colliders from colliding with an object you just threw.

    I will be updating the online documentation and creating a tutorial video for the Hand Poses over the next couple of days, so stay tuned!
     
    Mark_01, FaberVi, LaCorbiere and 4 others like this.