PyVDLib
A library to make it easy to use the body tracking information from Virtual Desktop in Python
Installation
PyVDLib can be installed with pip install pyvdlib and imported with import PyVDLib
Usage
AwaitVirtualDesktopSyncEvent(timeout)
- timeout (optional) The duration in milliseconds to wait before timing out (default is 1000 ms).
Performs a blocking wait, halting the execution until an update is received from Virtual Desktop's event synchronization pulse, or until the specified timeout duration is reached.
GetVirtualDesktopBodyDict()
Returns a dict with the following keys:
- FaceIsValid (bool)
- IsEyeFollowingBlendshapesValid (bool)
- ExpressionWeights (dict of 70 floats, keys from 0-69)
- ExpressionConfidences (dict of 2 floats, keys from 0-1)
- LeftEyeIsValid (bool)
- RightEyeIsValid (bool)
- LeftEyePose (pose)
- RightEyePose (pose)
- LeftEyeConfidence (float)
- RightEyeConfidence (float)
- LeftHandActive (bool)
- RightHandActive (bool)
- LeftHandJointStates (dict of 26 FingerJointState's, keys from 0-25)
- RightHandJointStates (dict of 26 FingerJointState's, keys from 0-25)
- LeftAimState (HandTrackingAimState)
- RightAimState (HandTrackingAimState)
- BodyTrackingCalibrated (bool)
- BodyTrackingHighFidelity (bool)
- BodyTrackingConfidence (float)
- BodyJoints (dict of 84 BodyJointLocation's, keys from 0-83)
- SkeletonJoints (dict of 84 SkeletonJoints's, keys from 0-83)
- SkeletonChangedCount (Uint32)
Quaternion
x: float
y: float
z: float
w: float
Vector3
x: float
y: float
z: float
Pose
Orientation: Quaternion
Position: Vector3
FingerJointState
Pose: Pose
Radius: float
AngularVelocity: Vector3
LinearVelocity: Vector3
HandTrackingAimState
AimStatus: np.uint64
AimPose: Pose
PinchStrengthIndex: float
PinchStrengthMiddle: float
PinchStrengthRing: float
PinchStrengthLittle: float
BodyJointLocation
LocationFlags: np.uint64
Pose: Pose
The active joint locations.
Location flags function similarly to a boolean, but instead of being 0 or 1, they are either 0 or 15. These flags include bits for position and orientation, as well as a valid and tracked bit. As it currently stands, these are either all activated or all deactivated.
SkeletonJoint
Joint: np.uint32
ParentJoint: np.uint32
Pose: Pose
A static T-Pose of the users proportions.
List of joint mappings can be found here: LINK
Release files for PyVDLib 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyvdlib-1.1.0.tar.gz | 25.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyvdlib-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.6 MB
Release files / pyvdlib-1.1.0.tar.gz
| Download URL | pyvdlib-1.1.0.tar.gz |
|---|---|
| Size | 25.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d16126f694c5e1ea486cac17e606d895ace83bc80e39427ee2260748db251909
|
|
BLAKE2b-256 checksum How to use checksums |
6ebac4761da4cdcea87dcb644876a7e54dc5a7ab07b323ef4c84bf018e5c0c91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.8.10
|
Release files / pyvdlib-1.1.0-py3-none-any.whl
| Download URL | pyvdlib-1.1.0-py3-none-any.whl |
|---|---|
| Size | 4.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c2fd6fa529ebeb288e91464dbe7a1628992dd98f0d7656e1bcc03129eda8326
|
|
BLAKE2b-256 checksum How to use checksums |
478cfcd7e4527bba0bbe8802a058a6b20c8a1b80332ae2b0f07f1c1ebcb10df5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.8.10
|