WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Vizconnect and HTC Vive Trackers (https://forum.worldviz.com/showthread.php?t=6150)

Vaquero 06-05-2018 12:09 PM

Vizconnect and HTC Vive Trackers
 
Hi!
For a study, we wanted to replicate the full body tracking with IK that you demonstrate in this short clip: https://youtu.be/Hf-oRZF5mGw
Unfortunately, in Vizconnect I couldn't find a way to add the HTC Vive trackers, because there are only entries for the SteamVR HMD and the SteamVR Controllers, which both work. I tried those entries to connect to the extra trackers with different IDs, but to no avail.
On the other hand, steamvr.getTrackerList() lists the trackers when the script is running. But I would need them in Vizconnect to set up the IK for the avatar, right?
Since you show off a running demo, can you please tell me what need's to be done to be able to use the extra HTC Vive trackers?

Vaquero 06-11-2018 10:40 AM

figured it out
 
I went at it again today and figured it out. For now, I added a few lines of code to the file that vizconnect saves. In the initTrackers() function, add these lines of code, if you want to track the extra HTC Vive trackers that are not controllers in vizconnect:

Code:

        #VC: initialize a new tracker
        _name = 'extra_tracker_1'
        if vizconnect.isPendingInit('tracker', _name, initFlag, initList):
                #VC: init the raw object
                if initFlag&vizconnect.INIT_RAW:
                        #VC: set some parameters
                        index = 0

                        #VC: create the raw object
                        import steamvr
                        try:
                                tracker = steamvr.getTrackerList()[index]
                        except IndexError:
                                viz.logWarn("** WARNING: Not able to connect to tracker at index {0}. It's likely that not enough trackers are connected.".format(index))
                                tracker = viz.addGroup()
                                tracker.invalidTracker = True
                        rawTracker[_name] = tracker

                #VC: init the wrapper (DO NOT EDIT)
                if initFlag&vizconnect.INIT_WRAPPERS:
                        vizconnect.addTracker(rawTracker[_name], _name, make='Valve', model='SteamVR Controller Tracker')

You can, of course, change the name. Add this snippet again with another name and index to add additional trackers.

sado_rabaudi 06-13-2018 10:00 AM

Hi, here is the vizconnect link for what I used to do the full body tracking:
https://drive.google.com/file/d/1Dju...ew?usp=sharing

You just have to change getControllerList to getTrackerList in vizconnect. If you want to change the offsets, you also have to do that manually in the code. The way it's set up in this vizconnect is Right Hand, Left Hand, Left Foot, Right Foot, and Pelvis (with the lights facing towards you on the trackers). Also, note that you don't want to press "merge" if running the vizconnect GUI afterwards. Let me know if that works for you. In the next version of Vizard the ViveTrackers will be able to be added as their own tracker.

Vaquero 06-13-2018 02:39 PM

Thanks a lot for sharing! I was going to figure out the offsets later this week, and your setup will hopefully be a good starting point.
I didn't know about the merging causing issues, so thanks again for this information.
Good to know, that there'll be a next version. I wasn't sure about that since you released Vizible.


All times are GMT -7. The time now is 10:54 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Copyright 2002-2018 WorldViz LLC