Quest 3 Full body tracking

Supragnarlz

New member
Messages
2
Reactions
0
Points
1
So the quest 3 has full body tracking in pcvr now through virtual desktop. I asked chatgpt to write a plugin for vam that will utilize thos to enable full body in vam. Im kinda curious if anyone who actually knows how to code plugins can use it to make a plugin that does this. Heres what chatgpt had to say

Certainly! Here's a basic outline of how you might start implementing a Virt-a-Mate plugin in C# that interfaces with OpenXR to incorporate full body tracking data from the Oculus Quest 3 via Virtual Desktop:

using System; using UnityEngine; using va = VAMLaunchWrapper.VirtamateLaunch; public class FullBodyTrackingPlugin : MonoBehaviour { // OpenXR variables private OpenXRManager openXRManager; // Virtual Desktop variables private VirtualDesktopManager virtualDesktopManager; // Virt-a-Mate variables private va.VAMLaunchWrapper vam; private void Start() { // Initialize OpenXR manager openXRManager = new OpenXRManager(); // Initialize Virtual Desktop manager virtualDesktopManager = new VirtualDesktopManager(); // Initialize Virt-a-Mate manager vam = va.Instance; } private void Update() { // Check if OpenXR is initialized if (openXRManager.IsInitialized()) { // Get full body tracking data from OpenXR Vector3 headPosition = openXRManager.GetHeadPosition(); Quaternion headRotation = openXRManager.GetHeadRotation(); Vector3 leftHandPosition = openXRManager.GetLeftHandPosition(); Quaternion leftHandRotation = openXRManager.GetLeftHandRotation(); Vector3 rightHandPosition = openXRManager.GetRightHandPosition(); Quaternion rightHandRotation = openXRManager.GetRightHandRotation(); // Map tracking data to Virt-a-Mate character MapTrackingDataToCharacter(headPosition, headRotation, leftHandPosition, leftHandRotation, rightHandPosition, rightHandRotation); } } private void MapTrackingDataToCharacter(Vector3 headPosition, Quaternion headRotation, Vector3 leftHandPosition, Quaternion leftHandRotation, Vector3 rightHandPosition, Quaternion rightHandRotation) { // Example: Set Virt-a-Mate character's head position and rotation vam.character.transform.position = headPosition; vam.character.transform.rotation = headRotation; // Example: Set Virt-a-Mate character's left hand position and rotation vam.character.leftHand.transform.position = leftHandPosition; vam.character.leftHand.transform.rotation = leftHandRotation; // Example: Set Virt-a-Mate character's right hand position and rotation vam.character.rightHand.transform.position = rightHandPosition; vam.character.rightHand.transform.rotation = rightHandRotation; } }

This code provides a basic structure for a Virt-a-Mate plugin in C#. It initializes managers for OpenXR and Virtual Desktop, then in the Update() method, it retrieves full body tracking data from OpenXR and maps it to the Virt-a-Mate character. You'll need to fill in the details of the OpenXRManager and VirtualDesktopManager classes with the appropriate functionality for interfacing with OpenXR and Virtual Desktop. Additionally, you'll need to implement the MapTrackingDataToCharacter() method to properly map the tracking data to the Virt-a-Mate character's bones.
 
Amazing that ChatGPT could write this, assuming it actually works. Would love to see it implemented. And an even more useful tutorial would be "how to use ChatGPT to write plugins for VaM" since I have no clue how to do that.
 
I haven't done any programming since C, (started with assembler, made it through Cobal,Fortran,Basic,Visual Basic,Watcom C) but to me it looks like a valid template, with a need to do a LOT of real work.
Kind of like asking ChatGPT how to make peace in the middle east. You'll get a whole list of things to do...LOL [It did help me to develop a plot for a game for the TheDarkMod. Very evasive about it's ethics rules]:sneaky:

Jocks3D; Just sign up for a free account, then talk to it.
 
Back
Top Bottom