Jump to content

InfiniteVR

Verified Members
  • Posts

    4
  • Joined

  • Last visited

Posts posted by InfiniteVR

  1. Hi @chengnay,

    I posted some screenshots of my manager vive trackers in steam VR Settings, please se my first post on page3..

    Concerning the json changes, i reverted them, so the tracker i as tracker again and not a controller 😉

    VIU Plugin version : yes i did a mistake, it was 1.11.0 and not 1.0.11

    Here is a link to download the Unity Project :https://we.tl/t-6O96Vz2mjs

    I started from a blank unity project, imported VIU, then, Steam VR.

    The scene you should open is named "MultiTrackers" and is under the "Assets/_MultiTrackers/Scenes/" folder

    I took the VUI example scene "Assets\HTC.UnityPlugin\ViveInputUtility\Examples\7.RoleBindingExample\RoleBindingExample.unity" as a start and added some cubes and the "TrackerFollow.cs" script i made to track the different trackers.

    I associated the trackers roles with the VIU roles panel (VIUBindingInterface) then tested the pogo pin input on the trackers :

    When using only two trackers (without controllers), connecting pin 2 and 6 (menu button) with a wire works nicely on both of them (The cubes scale up )

    When i add more trackers or the controllers, the pogopin input will not work consistently anymore.

    If you need more info i can make a video to show exactly the problem and how it is reproduced step by step

     

     

     

     

     

     

  2. I did some further investigation with 6 trackers at the same time.

    Here are the results :

    The tests are with the two controllers turned off.

    • Test1 Connect all the trackers at the same time, launch my Unity App : No input at all is detetected (reproduced 3 times)
    • Test 2 : turn off all the tracker, turn on tracker n°1 : Trigger is detected on tracker 1 : OK
    • Test 2 : turn on tracker n°2 ; Trigger is detected on tracker 1 & tracker 2 : OK
    • Test 3 Turn on tracker n°3 ; Trigger is only detected on Tracker 1 & 2 not the n°3 : NOK
    • Test 4 : Turn on tracker n°4 : trigger is only detected on Tracker 1 and tracker 3 !!!??!! : NOK
    • Test 5 : Turn on tracker n°5 trigger is only detected on Tracker 1 and tracker 4 !!!??!! : NOK
    • Test 6 : Turn on tracker n°6 trigger is only detected on Tracker 1 and tracker 5 !!!??!! : NOK

    So thats very strange behaviour.... and i could reproduce it with different tracker orders.

    I have only 2 trackers at the same time that can trigger input with pogo pins 

    Sometimes they don't work at all( when i start all the trackers simultaneously before playing the Unity App)

     

    Some more precisions : i used the VIU RoleBindingExample scene to assign tracker numbers from one to 6.

    The 6 trackers are correctly positionned in the scene.

    I use the following code  to detect trigger press

    bool triggerPressed = ViveInput.GetPress(m_ViveRole, ControllerButton.Trigger);

    as it does not always work, i also use 

    bool menuPressed = ViveInput.GetPress(m_ViveRole, ControllerButton.Menu); 

    which works in all scenarios when there are only 2 trackers at the same time.

    The m_ViveRole variable is assigned in the inspector :

    public ViveRoleProperty m_ViveRole;

    overall the code looks like this

    public class TrackerFollow : MonoBehaviour
    {
    
        public ViveRoleProperty m_ViveRole;
    
    
        private void Update()
        {
            gameObject.transform.position = VivePose.GetPose(m_ViveRole).pos;
            gameObject.transform.rotation = VivePose.GetPose(m_ViveRole).rot;
    
            bool menuPressed = ViveInput.GetPress(m_ViveRole, ControllerButton.Menu);
            if (menuPressed)
            {
                Debug.Log("MenuPressed");
            }
    
            bool triggerPressed = ViveInput.GetPress(m_ViveRole, ControllerButton.Trigger);
            
            float scale = 0.2f;
            if (triggerPressed || menuPressed)
            {
                Debug.Log("Scale!" + name);
                scale = 0.4f;
            }
            gameObject.transform.localScale = Vector3.one * scale;
        }
    
    }

    This script is attached to cubes in the scene, each cube has its ViveRole property set to its corresponding tracker id. See screenshot in attachement.

    05.jpg

  3. I have quite a similar problem and despite all my efforts i could'nt fix it.

    I can only get input from two devices at the same time.

    It depends of the order i connect them.

    If i connect my two controllers, then my two trackers. Then I will only get trigger input from the controllers.

    If i turn the controllers off, then i will be able to get the trigger input from the trackers using the Pogo Pins (by connecting the pin 2 and 4 with a wire)

    My problem seems a bit different than the one you got @chengnay because it doesn't seem to be a unity problem : i can reproduce it using the input debuger tool of steam VR. (see attached screenshot) 

    I tried your fix Chengnay, but it didnt work. I also found this method on this post :https://www.reddit.com/r/beatsaber/comments/bn6e4u/ragesaqs_school_of_making_a_vive_tracker_maul/ involving changing the tracker json configuration file but it didn't work either.

    Here are the versions i use

    Unity version : 2019.3.7.f1

    VIU plugin : could reproduce the problem on v1.0.6, v1.0.7 and v1.0.11 (downloaded directly on Github page)

    SteamVR Plugin : 2.5.0 (sdk 1.8.19)

    SteamVR Utility : 1.12.5

    If needed i can send the Unity Project.
    Help would be really appreciated as this limitation is a blocker for our project.

    Thank you

    bug.jpg

×
×
  • Create New...