{"id":20586597,"url":"https://github.com/ebadier/vivetrackers","last_synced_at":"2025-04-14T21:26:54.035Z","repository":{"id":79014473,"uuid":"271091523","full_name":"ebadier/ViveTrackers","owner":"ebadier","description":"A simple library to use HTC Vive Tracker devices in Unity","archived":false,"fork":false,"pushed_at":"2024-11-28T11:08:43.000Z","size":6457,"stargazers_count":41,"open_issues_count":5,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T09:36:22.522Z","etag":null,"topics":["csharp","htc-vive","motion-capture","openvr","steamvr","tracking","unity3d","virtual-reality","vive-trackers"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ebadier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-09T19:27:38.000Z","updated_at":"2025-02-04T11:59:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"4aaa76ac-e2f0-4bdd-b65f-f34f3cabbd00","html_url":"https://github.com/ebadier/ViveTrackers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebadier%2FViveTrackers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebadier%2FViveTrackers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebadier%2FViveTrackers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebadier%2FViveTrackers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebadier","download_url":"https://codeload.github.com/ebadier/ViveTrackers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248962276,"owners_count":21190174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","htc-vive","motion-capture","openvr","steamvr","tracking","unity3d","virtual-reality","vive-trackers"],"created_at":"2024-11-16T07:12:16.005Z","updated_at":"2025-04-14T21:26:54.013Z","avatar_url":"https://github.com/ebadier.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![alt text](Doc/ViveTrackers_Doc.png)\n\n## Use HTC Vive Tracker devices in Unity3D with the following benefits\n- Directly use OpenVR API for best performance\n- Current features include update of positions, rotations, and Pogo-Pins buttons\n- Small library, easy to integrate in any projects\n- A simulator, to develop without having a Vive tracking system connected\n- A complete test scene to understand the use of the library\n- Some [documentation](Doc/ViveTrackersDocumentation.pdf) to setup Unity3D, SteamVR (**with \u0026 without an HMD connected**), and Windows to get the best tracking quality from your Vive Trackers\n\n## Getting Started\n#### 1. Open SteamVR, configure your tracking space, connect your Vive Trackers, and leave SteamVR running in the background.\n#### 2. Open the ViveTrackersTest scene in Unity and press Play.\n#### 3. Hotkeys used to control the application:\n- **F1** : show/hide local reference frames of ViveTrackers.\n- **F5** : refresh the list of currently connected ViveTrackers.\n- **F8** : calibrate the ViveTrackers (make their local reference frames aligned with the **O**rigin reference frame).\n- **F6** : save the last calibration.\n- **F7** : load the last calibration.\n#### 4. Understanding the code: \n- The update of all ViveTrackers (position, rotation, and optionally buttons) happens at the first line in [ViveTrackersTest.Update()](Scripts/ViveTrackersTest.cs#L52-L77), see [ViveTrackersManager.UpdateTrackers()](Scripts/ViveTrackersManager.cs#L117-L144) for more details.\n- ViveTrackersManager contains a list of all connected ViveTrackers.\n- Optionally, ViveTrackersManager can create only a restricted set of ViveTrackers declared in the file [ViveTrackers.csv](Scripts/ViveTrackers.csv) (see [documentation/\"Keep Vive Trackers identification consistent during runtime\"](Doc/ViveTrackersDocumentation.pdf)).\n- To log your ViveTrackers serial numbers in the console, ensure ViveTrackersManager.logTrackersDetection is enabled in Unity editor.\n- You can access the last position/rotation of ViveTrackers using their transform.localPosition/localRotation.\n- You can also register to some [actions](Scripts/ViveTracker.cs#L190-L197) to know if the pogo-pins corresponding to Grip/Trigger/TouchPad/Menu buttons are pressed or released.\n\n## System requirements\nUnity ***2017.4.35f1*** and newer versions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febadier%2Fvivetrackers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febadier%2Fvivetrackers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febadier%2Fvivetrackers/lists"}