Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] VR Interaction Framework

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

  1. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    Hey, I read this and I'm trying to find where this is located. I'm using the 'PlayerAdvanced Variant Variant'. Is it on that, or the 'PlayerController', and which script? Thanks!
     
  2. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    That's on the "BNGPlayerController" which will be on the "PlayerController" Transform :


    (This is from 1.5 which is a little cleaner than 1.4 settings :p )
     
    attaway likes this.
  3. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    Thanks, I'll wait for the update. :)
     
  4. lcaExtende

    lcaExtende

    Joined:
    Sep 2, 2019
    Posts:
    25
    Thank for update ;)
     
  5. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    Just watched the 1.5 vid on youtube. Those physical hands and the ghosting effect looks awesome, that will stop players from reaching through walls to open doors from the other side :D

    Now I just need to finish my AI so i can go back to the VR stuff :p
     
    atomicjoe likes this.
  6. OmnifariousStudios

    OmnifariousStudios

    Joined:
    Mar 12, 2018
    Posts:
    46
    YEEESSSSS!
    I was just looking through interaction system alternatives because I really wanted to use this one and bought it a month ago (but I use steamVR and an Index and I couldn't get it to work.) None of the alternatives compared to this one. SO glad you've updated, it looks incredible!

    Could you post a walkthrough of how to set it up to work with the Index / SteamVR?

    Currently I have about 20 errors from the InputBridge.cs script. All different versions of:

    Assets\BNG Framework\Scripts\Core\InputBridge.cs(558,39): error CS0117: 'SteamVR_Actions' does not contain a definition for 'vRIF_YButton'
     
    Last edited: Aug 29, 2020
  7. Starmind01

    Starmind01

    Joined:
    May 23, 2019
    Posts:
    78
    Trying your new update and took some restarts to update, not a big deal. Problem I am having is every build my head is on the floor. Using the quest is there a fix for that??

    Edit:
    I found the y offset var. Is there a way to auto adjust the player height?? For example when I test I am sitting down to check code and geo, with the fixed offset it appears that I am, well, sitting down.
     
    Last edited: Aug 29, 2020
  8. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    Started playing with 1.5 in a fresh project, went in without a problem. Some questions/feedback;
    • What's the difference between the xr demo and the physics hands demo other than the starting hand model already having the physics hands selected?
    • The physics hands work really well, but you mentioned in your previous post that there is "trade offs".. I'd like to know more about them if you can.
    • Also noticed the ghost hands do not seem to appear, I thought this might be a URP thing but they show up in the editor just not in-game. If you pause the game and look in the editor they are there but you can't see them in game, weird. You can see it in the video below at the start.
    • Curious about the colliders on the ghost hand, why are they there? I understand why the actual hand model has colliders but is there a reason the ghost hand has them also?
    • Suggestion, have a "teleport" setting for the hands so when the ghost hand gets a certain distance from the physics hand the latter will teleport to the correct hand position. Otherwise I can see the physics hand getting stuck somewhere and then the player being able to walk for miles without it :D It should be just enough so you get the impression/realize your hand is not coming with you so you can readjust your reach and "unstuck" your hand.
    • The throwing seems to be a bit off too (seems better in 1.4). I thought this could be a "tradeoff" you mentioned whereby the colliders on the hand interfere with the object that is being thrown but i'm not sure. For example, in the physics hand demo you can grab a box and throw it and it does not go far (i think this is the rigidbody and collision material at work which is fine), you can grab the ball and throw it and its fine. You can grab one of the guns and throw it and its fine. But if you grab one of the pistol clips, you can throw it under-arm and its fine but if you try to throw over-arm it just falls to the ground. Almost as if there is a brick wall when you release it, so it just falls to the ground. Seems to be only in the physics hand demo, works alright in the XR demo but i get inconsistent results. Not sure why it only happens with the clips and not the other objects. I'll check into it later when I replace the prefabs. I couldn't reproduce it in the video which was filmed in the XR demo.
    • There's a weird behavior when grabbing items occasionally. I think it's related to the "velocity tracking". You can kinda replicate it by grabbing an item and moving your hand around at the same time, basically quickly start moving before the item reaches your hand. So you grip and then move your hand around immediately and the object will try and get to your hand position but instead just constantly spin around your hand. You can see it at the end of the video.
    There's also an error in HandModelSelector.cs on line 74 "out of bounds" when trying to press the right thumb stick in to swap hand models. This should be easy to fix i'll look at it later.



    Your asset is looking really good though and very useful :)
     
  9. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    im bumped thinking of buying either humanoid control VR or your plugin... does your do mixamo's autorig well? does your plugin do snappable equipment on the body?
     
  10. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    I believe we got this figured out on Discord, but I figured I'd answer here as well in case anyone else runs across this. There is a .unityPackage located in /BNG Framework/Integrations/SteamVR/ that contains a set of bindings that Steam will import. Extract that package and Steam should automatically ask if you want to import them. More info on that in the docs.

    Ah, apparently Unity 2020 requires a different call to set the Tracking Origin than 2019.4. I'll get this into an update right away (v1.51), but for now you can put this in the Start() method of InputBridge :

    Code (CSharp):
    1. SetTrackingOrigin(TrackingOriginModeFlags.Floor);
    The Player Y Offset variable you mentioned is provided as a means to alter the character's given height - it is added to the player after all other calculations have been done. For example, if you wanted to add a "sitting" mode to your game, you could adjust the YOffset to increase the player's height by a given amount. You can use this to make the player a bit taller or shorter than they actually are in real life.

    Hope that helps!
     
  11. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    There are a couple of examples included that demonstrate how to rig up a character using UnityIK or even FinalIK, but this asset (VRIF) doesn't really do any full-body IK work on it's own. VRIF is a bit more focused on the individual interactions, as well as getting vr to play nicely with Unity physics, rather than the humanoid rig. As for snappable objects, you can definitely do that in VRIF using Snap Points. The demo has a player prefab equipped with a couple of these : two hip holsters, a head / hat snap point, and two shoulder slots.

    Wow, thanks for all of the feedback! A few comments in no particular order :

    - There isn't much of a difference in the scene used for the physical hands demo. It's just for there convenience.
    - The biggest tradeoff for physical hands is in climbing : Climbing currently uses the Grabber as an origin point, so if you grab a climbable point there could be a bit of disorientation as the grabber physically moves around. Can probably fix this by using the actual controller Transform as the origin point.

    Other tradeoffs are just generally due to the fact that the hands are now physical objects and that needs to be accounted for in the game / application design. Levers now need to account for physical hand space, grates, doors, drawers, and other objects might cause the hand to get stuck, it may be harder to grab certain objects due to hand shape, etc.

    - I'm not 100% sure why the ghost hand isn't showing up. Seems like a shader issue, but I'll look into it a bit more.

    - Yes, will add a teleport setting to the physical hands :) For the throwing, that could be an issue with the clip's collider colliding with the hands on release. I have the two objects ignoring each other's collision for about .1 seconds right after releasing the item, but something else may be going on for the clips in general. I'll have to dig into that a bit more as well.
     
    AshyB likes this.
  12. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    thanks for your reply!
     
  13. Starmind01

    Starmind01

    Joined:
    May 23, 2019
    Posts:
    78
    Have some big questions. I made a hand rig in blender using the oculus hand and and bones as reference. I have a new hand model I will rig later, but need to know how to integrate in VRIF first. I imported it, assigned right hand animation and nothing. Tried several things to make it work, but still nothing. The model appears and looks fine, just no animations.

    Is it an IK thing or bone names(use all names from oculus bones via site, ma file and fbx file)?

    Is there a way to make the hand to work with your system? I found alot of people asking about blender vr hands, but it seems that most have given up or kept the secret of how to do it. I found one tutorial that looked promising, but it had a new animation controller and script. Great if I wanted to start from scratch, but not with your system.

    Here is the blend file. Feel free to look it over and possibly help with reasons as to why it is not working and how to fix it.
     
  14. Starmind01

    Starmind01

    Joined:
    May 23, 2019
    Posts:
    78
    So I purchased a vr hand from the asset store and brought it into the xr demo scene and it also doesn't work with your system. I made a new project and used just the oculus integration scene and to my surprise both the asset store and the one I made didn't work. It has to be the setup.
    Would you be able to tell me if the asset Auto Hand - VR works with your system or are we stuck with whatever is given??
     
  15. BeardedNinjaGames

    BeardedNinjaGames

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

    You can use whatever hand models you would like, though it most likely won't work with the provided animator as is since it's a different skeletal rig. There is no standard setup for hand models like there is for humanoid animations, so you'll most likely need to do a bit of custom work (it is likely that every hand asset on the asset store uses an entirely different animator and hand rig).

    You can also model over the existing rig to keep the animations. You would open up the hand models in a 3d editor, hide the current mesh, and the attach your model to the rig that's there. There is a HandController.cs script that shows how to setup the grip / trigger animations / blends. The hand controller is independent and shows how to change animations depending on controller inputs or if there is a Grabbable currently being held. And just to further clarify - this isn't a VRIF-specific limitation, it's just how hand models / animations work in Unity and the fact that there isn't a standard for hand rigging like there is for humanoid models. If you were to import hand models into any other framework you would have to go through a similar process.
     
  16. Starmind01

    Starmind01

    Joined:
    May 23, 2019
    Posts:
    78
    Thank you I will animate and try again!
     
  17. bcv

    bcv

    Joined:
    Sep 1, 2012
    Posts:
    34
    I'm using the valve index , I don' t think I should be able to import the Oculus integration with the index ?
     
  18. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Hi everyone! Version 1.51 has been released - it contains a various bug fixes such as floor tracking height being offset in Unity 2020, as well as some UI issues that were occurring, such as the pointer being offset. If you check in the prefab folder you may also notice a new interactable object as well.. An exploding barrel! A fun staple for the shooter genre, and a fun way to see how damageable and physics objects can interact with each. The primary goal of the barrel will be to demonstrate upcoming features such as two-handed grabbing and simulated weight (for example, barrels will require two-hands to pick up), but for now it's fun to just blow them up!



    I've also updated the online documentation and created a new installation video that shows how to install VRIF on 2019.4 for either Legacy or the newer plugin system :



    Cheers!
    -BNG
     
  19. DirtyBong

    DirtyBong

    Joined:
    May 29, 2020
    Posts:
    2
    Hi, I purchased this package earlier this evening. I'm having a issue where both the XR Rig Advanced and XR Rig go through my floors and get stuck halfway almost like they don't have a proper collider on them. I've lifted the prefabs enough to give space between the platform their supposed to be standing on incase they were getting stuck inside and that's not the issue. Am I supposed to add my own collider or is there something I'm missing?
     
  20. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Try adding a kinematic rigidbody to your floor. That should help register the collision sooner. You may not need one for the entire floor, just the area where your player is meant to spawn.
     
    Mark_01 likes this.
  21. DirtyBong

    DirtyBong

    Joined:
    May 29, 2020
    Posts:
    2
    I tried that its still giving the same issue. I did however catch a couple of warnings in my logs that might help us out. I even tried setting the kinematic body to Continuous Speculative as it suggested, that still didn't solve the issue. Funny thing is the problem not only occurs in my scene but ends up happening in your XR Demo. Capture.PNG

    Edit: I found out I didn't have oculus integration installed, so I installed that. I ended up raising the Player Y Offset and it seems to be working now? Not sure if its a temp solution but it seems to be working now.
     

    Attached Files:

    Last edited: Sep 10, 2020
  22. uz986

    uz986

    Joined:
    Oct 29, 2017
    Posts:
    12
    Hello,

    I need to implement force based sword fight, basically what I need if the use swing the controller hard enough ( in game swing sword fast) only then enemy gets damage, otherwise if weapon (sword) is being held and not moved and it touches the enemy then it should not do any damage.

    As far as I can understand I would need to calculate velocity of controllers but I am not able to do it right.

    edit: figure it out at the end, the code is really clean, I am able to get velocity of the grabber from the function
     
    Last edited: Sep 13, 2020
  23. uz986

    uz986

    Joined:
    Oct 29, 2017
    Posts:
    12
    Hi,

    Is there any way I can move the steering wheel forward and backward while steering it left and right.

    There is steering wheel setup in demo scene, but I need it to be move forward and backward as well, similar to lever interaction. Basically I need to make steering wheel for airplane, and airplane wheel normally move back forth as well for brakes.

    Any help would be appreciated.
     
  24. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Hmm, that doesn't sound right. Try updating to version 1.51 if you haven't already - there was a fix there for a floor offset issue for certain versions of Unity (such as 2020), perhaps that was your issue. The "PlayerYOffset" variable is meant more for configuring your own sit / standing configuration, or making slight offsets to the player height.

    Glad to hear you got it sorted. There is also a component included called "DamageCollider" that will damage objects if it's impact force ( "MinForce") is great enough. For example, if you just tap the pink target with a hammer it shouldn't break, but if you give it a good swing it will break in one hit.

    That's an interesting mechanic. I don't have anything built-in that would do that automatically, but you could do that with just a bit of scripting. You can get the grab state of the steering wheel by checking the "BeingHeld" property of the Grabbable component. If it is being held, then move the steering wheel forward / backward towards the grabber that's holding it (steeringGrabbable.GetPrimaryGrabber()) making sure to keep it within your given range.
     
  25. Starmind01

    Starmind01

    Joined:
    May 23, 2019
    Posts:
    78
    I have a few questions that i have spent little time working on, but could use a push in the right direction.

    Question 1:
    Is there a way to freeze the player(no movement/no controller use)?? Basically, I want to freeze the player in a spot/trigger to add cutscenes, gameplay elements/dialogue, etc.

    Question 2:
    Also is there a way to limit walk areas, sorta like vacation simulator? In vacation simulator, the player can only go where the dev wants you to go mark by green areas.

    Question 3:
    Last one, for now, will you be doing a tutorial on how to setup grabbables, weapons and such?? I tried to setup a grab point and the hand kept flipping around like I was being handed the item and not carrying the item. Flipped the grab point in all axis and no luck. Ended up just using something you had already setup and just turning off the mesh renderer. It worked, but the ring helper would not scale. Had to turn it off as well.

    The more I dig into your system, I am finding little glitches that are fixable and some that goes beyond my coding skills. As a base I love this system, but needs some good tutorials for setups.

    Thank you!
     
  26. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    630
    About Quest 2 .. off topic post for those who do not want to have to have a face book account.
    Read the comments on this article https://www.roadtovr.com/fake-facebook-account-oculus-headset-community-standards/

    They also say that as of 2023 All Oculus hardware will not work with out having a FB account. And if they say for any reason your FB account is disabled, you will not be able to use any of it. I see court cases coming...
    This is just a heads up for any one interested... I just did a more informed post in another forum here ..
    I know it is bad form to post a competing asset in a competing asset .. So it was just me taking away what I got from it.

    Some of the comments are pretty scary if true.
    P.S if requested I will delete this post, no problem.
     
    StevenPicard likes this.
  27. Starmind01

    Starmind01

    Joined:
    May 23, 2019
    Posts:
    78
    So I was working with the knob from the system that moves 10 degrees at a time and I am unable to get the value to make another game object rotate. Do you have any suggestion on how to grab the value?

    Edit:
    So I was able to get gameobject to rotate using a value, but not the value of the knob.
    This little bit of code works, but it doesn't work well.
    Code (CSharp):
    1. ObjectToRotate.transform.Rotate(rotation1, rotationSpeed * Time.deltaTime);
    The value "rotation1" is a Vector3 value that can be edited in the editor. "ObjectToRotate" is the game object to, well, rotate.

    When I say the code works, I mean, if you rotate the knob to the right the gameobject rotates according to the Vector3 value and not the knob value, as the knob value "degrees" in a public class.
    Without the knob value, the gameobject rotates continuously in the postive value and stops only if the knob is rotated in a negative value.

    I know I am not seeing something here as my mind is pretty occupied today, but is there a fix to rotate the gameobject to the knob value??
     
    Last edited: Sep 20, 2020
  28. Starmind01

    Starmind01

    Joined:
    May 23, 2019
    Posts:
    78
    Eureka! I have it! With help from discord, I was able to get a gameobject to rotate using one of the knobs.

    Here is a base code for anyone who needs it.
    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class RotateObject : MonoBehaviour
    6. {
    7.     public HingeJoint knob; // assign hinge joint "knob handle"
    8.     public GameObject ObjectToRotate; // assign gameobject with or without rigidbody
    9.     public float rotationSpeed; // smoothness of rotation Keep above 5 or it will jitter
    10.     private Quaternion targetRotation;
    11.  
    12.     void Update()
    13.     {
    14.         targetRotation = knob.transform.localRotation; // get knob rotation
    15.  
    16.     }
    17.  
    18.     public void Target1() // assign this in hingejoint change on knob
    19.      {
    20.         transform.rotation = Quaternion.Slerp(ObjectToRotate.transform.localRotation, targetRotation, 10 * rotationSpeed * Time.deltaTime);
    21.     }
    22. }
     
    StevenPicard and Mark_01 like this.
  29. mentalgear

    mentalgear

    Joined:
    Jul 19, 2019
    Posts:
    23
    I see that this packages support Final IK, does it also support Puppet Master ?
    Also, could you explain (or add to the guide) how to use keyboard / mouse control ?
     
  30. LIVENDA_LABS

    LIVENDA_LABS

    Joined:
    Sep 23, 2013
    Posts:
    377
    Can you please provide samples/ Demo's working with the SteamVR Unity Plugin v2.6.0b4 (sdk 1.13.10) , this is imperative to target all other HMD's. As it stands there is heavy dependency on the Oculus integration.
     
  31. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Heyo! Just wanted to quickly address these in case they weren't addressed on Discord -
    1. You could freeze the player by disabling any movement components such as SmoothLocomotion and PlayerRotation. Alternatively, you could also potentially lower the timestep in order to "pause" the game.

    2. You can limit areas by using a box collider with no mesh renderer. You could place the object on the IgnoreRaycast Layer to make sure bullets and other raycasts still move through. If you need to make sure an area can't be teleported to there is an InvalidTeleport component you can place on the object, or set up your layers so that you can't teleport there.

    3. I do have some tutorials planned, though the best place to learn is to look at the existing demo objects and use those as a starting point. All you technically need for a Grabbable is a collider, a Rigidbody, and the Grabbable component.

    You can use Puppet Master, though I believe that's used more for the NPC's? I've seen some Discord users using it for enemies and such. As for the keyboard / mouse control, I'll be making that easier to enable in the next update. For now, just make sure smooth locomotion is enabled and then you can move around using WSAD.

    There is a Steam integration located in /Integrations/SteamVR, though maybe you're looking for something more. Next update (1.52) will include some additional bindings for the Vive Cosmos and Valve Index. I'll look into adding some additional documentation and resources for that.

    I'd also like to clarify that as of v1.5 there are no dependencies on Oculus Integration - that is entirely optional. By default VRIF uses XRInput for everything, and then you can use SteamVR SDK with bindings if you require Steam for input support. AFAIK there is no other way to get input from certain Steam devices (such as the Index) without using the SteamVR SDK action system.
     
    Starmind01 and LIVENDA_LABS like this.
  32. INGTONY

    INGTONY

    Joined:
    Oct 13, 2014
    Posts:
    24
    testing quite good but , i have no input with thtc vive controlers it dosent grab or interact it only tracks , can you please tell me what is happening thank you
     
  33. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Hey there - what type of Vive do you have? The original, or the Cosmos? I only ask because I know the Cosmos requires SteamVR for input to work properly. For the original Vive / Wands you just need OpenVR Desktop Package (Windows -> Package Manager), and make sure that it is listed in the SDK list. There is more info on how use OpenVR here : http://beardedninjagames.com/vr-framework/docs/#OpenVR

    On a related note - I created a walkthrough video for users looking to use the SteamVR Integration, in case you need SteamVR to support special controllers such as the knuckles. The Vive Cosmos and Index Knuckles won't fully work with OpenVR alone, so you need to include the SteamVR asset. Hopefully that will change once Unity supports OpenXR.

     
    LIVENDA_LABS and Mark_01 like this.
  34. joz_nascimento

    joz_nascimento

    Joined:
    Oct 24, 2017
    Posts:
    29
    Hi,
    How to get cursor position (x,y) from specific canvas?
    I want to perform a drag in an UI screen. The framework have something to help with this?
     
  35. BeardedNinjaGames

    BeardedNinjaGames

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

    Version 1.52 has been submitted to the asset store for review. Check out the changelog below :
    1. Fixed issue with throwing objects : Velocity tracking has been moved out of the Grabber and into it's own "VelocityTracker" component. Instead of only calculating velocity per frame, it is now retrieved from the physical controller if it is available, but will fall back to per frame tracking if not (if using an emulator, for example).
    2. Better moving platform support - The player should now move around on the moving platforms more smoothly and consistently. Player gravity was moved into to a separate "PlayerGravity" component.
    3. Fixed issue with Photon example not using the proper name for hands
    4. Included example SteamVR bindings for Vive Cosmos controllers.
    5. Valve Index / Knuckles controller will now automatically switch to SteamVR input if detected (Knuckle input only works with SteamVR).
    6. RaycastWeapon : Eject Mag / Release Slide commands are now bindable from the editor
    7. Automatic weapons will only play an empty sound once on trigger pull instead of repeatedly
    8. Levers now have a handy editor tool that should making configuration much more intuitive :
    More to come! :)

    -BNG
     
    uz986 likes this.
  36. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    Take a look at UIPointer.cs to see how to access event data. You should be able to get the X/Y coordinates from the there :

    Code (CSharp):
    1. PointerEventData data = uiSystem.EventData;
    2.  
    3. if(data != null) {
    4.     Debug.Log(data.pointerCurrentRaycast.screenPosition);
    5. }
     
  37. superjayman

    superjayman

    Joined:
    May 31, 2013
    Posts:
    185
    1) So 1.52 does not depend on ovr sdk? Is ovr raycaster required on a canvas to interact with it, what did you replace it with?

    2)The grab behavior is acting strange (Wobbly) if the grabbed item is colliding, is there a way to turn this feature off?

    3) How can I force the hands to go to a specific pose and stay that way? e.g. When my app starts I want the hands to be always clenched holding a stick?

    4) Is there a way to grab items with a raycast from a distance (Like a laser-beam picking grabbing an object) and manupulate?

    Cheers
     
  38. gkara

    gkara

    Joined:
    Sep 7, 2013
    Posts:
    12
    On PlayerTeleport.cs there is a MaxRange variable which is not used.
    Is there another way to set a maximum range for teleport?
     
  39. joz_nascimento

    joz_nascimento

    Joined:
    Oct 24, 2017
    Posts:
    29
    Great! Many thanks.
    I have another problem. I tried update my actual project with VRi, but controls doesnt work and and my head sent to floor level. The tracking of control and HMD works fine. Just the buttons doesnt work. VR emulator works perfectly.

    groundlevel.jpg
    The BNG demo scene works fine, even into my project.
    I have copied every configuration as XR Plugin management, installed packages, XRRig Advanced, Event systems and Rigid Floor.
    Tried reimport Oculus Integration and VRI.
    I'm using Oculus Quest.
     
    Last edited: Oct 12, 2020
  40. superjayman

    superjayman

    Joined:
    May 31, 2013
    Posts:
    185
    What about Unity 2020??
     
  41. LIVENDA_LABS

    LIVENDA_LABS

    Joined:
    Sep 23, 2013
    Posts:
    377
    Thanks but Unity 2020.1 there is no interaction with VIVE Hmd
     
  42. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    You can use VRIF with Unity 2020, though I'm not sure what the benefit would be. I would recommend sticking with LTS (Long Term Support) versions unless you have a good reason to switch.

    I would recommend using 2019.4 LTS - then you can use either OpenVR or the SteamVR plugin. Unity 2020 / Valve do not have an OpenVR plugin that supports input at the moment (afaik).
     
    LIVENDA_LABS likes this.
  43. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    214
    Are there any plans to add gesture recognition to VRIF? If not can you give an overview of how it might be added?
     
  44. superjayman

    superjayman

    Joined:
    May 31, 2013
    Posts:
    185
    WHO IS DOING VR WITHOUT INPUT?? You should make it clear in your description of your Asset That IT DOES NOT WORK WITH THE LASTEST OFFICIAL RELEASE OF UNITY!!.. There are important bug fixes for 2020, 2020.2 will also be out soon.
     
  45. superjayman

    superjayman

    Joined:
    May 31, 2013
    Posts:
    185
    Can you answer some of the above questions?
     
  46. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    This asset does work with Unity 2020. I was referring to the Steam OpenVR Unity XR plugin - it only supports rendering. This is not something I have any control over and is not at all specific to my asset. I recommend using 2019.4 LTS as it supports the most options and is the more stable Unity version of the two by design. There are some notes on this in the docs as well.

    1. As of version 1.5 VRIF no longer depends on the Oculus Integration asset. There is no longer an OVRRaycaster, but a custom UI system (VRUISystem.cs and UIPointer.cs) that extends Unity's Input system. The demo scene has an example ui setup this way. You just need to put a VRCanvas component on any Canvas you want to be able to interact with. That isn't strictly necessary, but a good practice to get into.

    2. For the wobbly grab, that can depend on which grab physics you are using. If you are using a physics joint you can adjust the Spring / Slerp values. If you don't want any springiness you could use a kinematic or fixed joint type. Using velocity movement should give a pretty smooth movement as well.

    3. You can force the hands into a specific pose either directly through the hand animator, through a script (to set an animator property - see HandController.cs for an example), or by having your hand's default animation be your grip pose. All hands currently use the LeftHandAnimator / RightHandAnimator components found in the /Animations directory.

    4. Like a gravity manipulator type object? I believe someone on the Discord channel created something along those lines, where you could rotate and fling objects from a distance, but vrif doesn't have that as a demo item or anything. Could be a useful addition, though :)
     
    Mark_01 likes this.
  47. joz_nascimento

    joz_nascimento

    Joined:
    Oct 24, 2017
    Posts:
    29
    I solved the problem. I haven't noticed before that I put an InputBridge in other Gameobject. Even with this script disabled (unchecked) causes that problem.
     
  48. LIVENDA_LABS

    LIVENDA_LABS

    Joined:
    Sep 23, 2013
    Posts:
    377
    Thanks, managed to get it working however the Default Bindings are NOT working with the standard VIVE Controller, would appreciate if you can clarify how we go about setting up bindings to BNG for all supported HMD's with our executable, thank you.
     
  49. BeardedNinjaGames

    BeardedNinjaGames

    Joined:
    Jan 26, 2020
    Posts:
    176
    If you're using 2019.4 and OpenVR then you don't need any bindings - XRInput can read those just fine. However, if you're using SteamVR for input (only really necessary for Valve Index or Vive Cosmos type HMD's), then you'll need to install the VRIF Steam Bindings found in /Integrations/SteamVR. This will essentially map inputs to actions. Here is a video that walks through that process :


    Hope that helps! Let me know if you need any clarification on any of that. I'm looking forward to OpenXR so we won't have to keep pulling our hairs out with all of this :p
     
    Mark_01 likes this.
  50. jangomoose

    jangomoose

    Joined:
    Feb 17, 2016
    Posts:
    40
    I'm being dim I know, but how do I use the buttons independently by hand, HTC VIVE, so the A button on the left hand is not the same as the A button on the right hand?