# Overview
# HandTracking
- Hand Tracking Specifications (opens new window)
- Describes two types of hand tracking specifications in VRChat.
- Index-Emulated HandTracking:
Cannot bend fingers at each joint, butcan use ContactGlove without modifying the avatar.- As of VRChat(Open-Beta)2024.3.1 (opens new window) on 2024/7/25, finger bending at each joint using SteamVR skeletal hand tracking in this mode is supported. For more details, please refer to this link (opens new window).
- ContactGlove-OSC HandTracking:
- Can move the fingers of a Humanoid avatar using VRChat's OSC API.
Unlike Index-Emulated,can reproduce finger bending at each joint.- As of VRChat(Open-Beta)2024.3.1 (opens new window) on 2024/7/25, finger bending at each joint using SteamVR skeletal hand tracking in Index-Emulated mode is supported. For more details, please refer to this link (opens new window).
- Can reflect unique Avatar Gesture (hand sign) judgments from DivingStation onto the avatar.
- ContactGloveOSC needs to be integrated into the avatar.
- Uses 177 (107) bit of VRChat's ExpressionParameter synchronization parameters.
- Index-Emulated HandTracking:
- Describes two types of hand tracking specifications in VRChat.
ContactGloveOSC Synchronization Parameters Detailed Table
- Parameter Details
Type | Div (Step) | Min (Curl) | Max (Stretch) | Smoothness (Local) | Smoothness (Global) | SyncRate (Global)[3] |
---|---|---|---|---|---|---|
float[1] | 0.01 | 0.00 | 1.00 | 0.00 | 0.70 | ~10FPS |
bool[2] | 1 | 0 | 1 | 0.40 | 0.70 | ~10FPS |
[1]: Excludes CGGestureLeftWeight / CGGestureRightWeight.
[2]: Excludes [ContactGloveOSC]. Smoothness is applied to the value after float conversion.
[3]: Global only. According to VRChat's specifications.
- Use bit Details
Full ver (177bit) | Lite ver (107bit) | ||||
---|---|---|---|---|---|
Parameter Name | type | use bit | Parameter Name | type | use bit |
[ContactGloveOSC] | bool | 1 | [same] | bool | 1 |
CGGestureLeft | int | 8 | [same] | int | 8 |
CGGestureRight | int | 8 | [same] | int | 8 |
CGGestureLeftWeight | float | 8 | [same] | float | 8 |
CGGestureRightWeight | float | 8 | [same] | float | 8 |
LHThumb2 | float | 8 | LHThumb2B | bool | 1 |
LHIndex1 | float | 8 | [same] | float | 8 |
LHIndex2 | float | 8 | [same] | float | 8 |
LHMiddle1 | float | 8 | [same] | float | 8 |
LHMiddle2 | float | 8 | [same] | float | 8 |
LHRing1 | float | 8 | LHRing1B | bool | 1 |
LHRing2 | float | 8 | LHRing2B | bool | 1 |
LHLittle1 | float | 8 | LHLittle1B | bool | 1 |
LHLittle2 | float | 8 | LHLittle2B | bool | 1 |
RHThumb2 | float | 8 | RHThumb2B | bool | 1 |
RHIndex1 | float | 8 | [same] | float | 8 |
RHIndex2 | float | 8 | [same] | float | 8 |
RHMiddle1 | float | 8 | [same] | float | 8 |
RHMiddle2 | float | 8 | [same] | float | 8 |
RHRing1 | float | 8 | RHRing1B | bool | 1 |
RHRing2 | float | 8 | RHRing2B | bool | 1 |
RHLittle1 | float | 8 | RHLittle1B | bool | 1 |
RHLittle2 | float | 8 | RHLittle2B | bool | 1 |
- Role Details
Left | Right | Finger | Joint |
---|---|---|---|
[ContactGloveOSC] | [same] | ContactGloveOSC Enabled/Disabled | - |
CGGestureLeft | CGGestureRight | Expression | - |
CGGestureLeftWeight | CGGestureRightWeight | Expression Weighting | - |
LHThumb2 | RHThumb2 | Thumb | All Joints |
LHIndex1 | RHIndex1 | Index Finger | 3rd Joint |
LHIndex2 | RHIndex2 | Index Finger | 1st & 2nd Joints |
LHMiddle1 | RHMiddle1 | Middle Finger | 3rd Joint |
LHMiddle2 | RHMiddle2 | Middle Finger | 1st & 2nd Joints |
LHRing1 | RHRing1 | Ring Finger | 3rd Joint |
LHRing2 | RHRing2 | Ring Finger | 1st & 2nd Joints |
LHLittle1 | RHLittle1 | Little Finger | 3rd Joint |
LHLittle2 | RHLittle2 | Little Finger | 1st & 2nd Joints |
- ContactGloveOSC Setup (opens new window)
Describes how to introduce ContactGlove-OSC HandTracking.
You can access avatars with ContactGloveOSC already set up here (opens new window).
# BodyTracking
- Troubleshooting BodyTracking (opens new window)
- Explains BodyTracking with 3-point/FBT when using ContactGlove.
# AvatarHaptics
- AvatarHaptics (opens new window)
- Explains AvatarHaptics usage when using ContactGlove.