Enables interoperability of animations across hand rigs and drives the hand finger solver. Each DigitsRigDescription maps the 15 phalanx joints of one hand (5 fingers with 3 joints each) to engine instances, stores their T-pose adjustments, and exposes forward- and inverse-kinematics helpers for controlling finger poses at runtime.
CoordinateFrame applied to Index1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Index2
The Instance mapped to the medial (second) phalanx of the index finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Index2TposeAdjustment
CoordinateFrame applied to Index2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Index3
The Instance mapped to the distal (third) phalanx of the index finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Index3TposeAdjustment
CoordinateFrame applied to Index3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.IndexRange
A Vector3 describing the motion range of the index finger, used by the finger solver.
Field
Value
type
Vector3
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Range
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.IndexSize
Size of the index finger, used by the finger solver to preserve contacts.
Field
Value
type
float
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Size
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Middle1
The Instance mapped to the proximal (first) phalanx of the middle finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Middle1TposeAdjustment
CoordinateFrame applied to Middle1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Middle2
The Instance mapped to the medial (second) phalanx of the middle finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Middle2TposeAdjustment
CoordinateFrame applied to Middle2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Middle3
The Instance mapped to the distal (third) phalanx of the middle finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Middle3TposeAdjustment
CoordinateFrame applied to Middle3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.MiddleRange
A Vector3 describing the motion range of the middle finger, used by the finger solver and scalable-property system.
Field
Value
type
Vector3
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Range
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.MiddleSize
Scale factor for the middle finger, used when the rig is scaled through the scalable-property system.
Field
Value
type
float
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Size
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Pinky1
The Instance mapped to the proximal (first) phalanx of the pinky finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Pinky1TposeAdjustment
CoordinateFrame applied to Pinky1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Pinky2
The Instance mapped to the medial (second) phalanx of the pinky finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Pinky2TposeAdjustment
CoordinateFrame applied to Pinky2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Pinky3
The Instance mapped to the distal (third) phalanx of the pinky finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Pinky3TposeAdjustment
CoordinateFrame applied to Pinky3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.PinkyRange
A Vector3 describing the motion range of the pinky finger, used by the finger solver and scalable-property system.
Field
Value
type
Vector3
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Range
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.PinkySize
Scale factor for the pinky finger, used when the rig is scaled through the scalable-property system.
Field
Value
type
float
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Size
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Ring1
The Instance mapped to the proximal (first) phalanx of the ring finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Ring1TposeAdjustment
CoordinateFrame applied to Ring1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Ring2
The Instance mapped to the medial (second) phalanx of the ring finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Ring2TposeAdjustment
CoordinateFrame applied to Ring2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Ring3
The Instance mapped to the distal (third) phalanx of the ring finger.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Ring3TposeAdjustment
CoordinateFrame applied to Ring3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.RingRange
A Vector3 describing the motion range of the ring finger, used by the finger solver and scalable-property system.
Field
Value
type
Vector3
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Range
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.RingSize
Scale factor for the ring finger, used when the rig is scaled through the scalable-property system.
Field
Value
type
float
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Size
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Side
Which hand this description belongs to: None, Left, or Right. Used when mapping HandRigLabel joints to the corresponding HumanoidRigLabel entries on the parent HumanoidRigDescription.
Field
Value
type
DigitsRigDescriptionSide
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Data
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Thumb1
The Instance mapped to the proximal (first) phalanx of the thumb.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Thumb1TposeAdjustment
CoordinateFrame applied to Thumb1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Thumb2
The Instance mapped to the medial (second) phalanx of the thumb.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Thumb2TposeAdjustment
CoordinateFrame applied to Thumb2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Thumb3
The Instance mapped to the distal (third) phalanx of the thumb.
Field
Value
type
Instance
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Mapping
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.Thumb3TposeAdjustment
CoordinateFrame applied to Thumb3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.
Field
Value
type
CFrame
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Tpose
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.ThumbRange
A Vector3 describing the motion range of the thumb, used by the finger solver and scalable-property system.
Field
Value
type
Vector3
security
{"read":"None","write":"None"}
thread safety
ReadSafe
category
Range
serialization
{"can_load":true,"can_save":true}
capabilities
["Animation"]
DigitsRigDescription.ThumbSize
Scale factor for the thumb, used when the rig is scaled through the scalable-property system.
Returns the current control Vector3 for the finger at the given 1-based index (1 = Thumb … 5 = Pinky). The components are:
X — extension in [0, 1]: 0 is fully curled, 1 is fully extended.
Y — lateral (side) rotation in [-1, 1].
Z — axial (twist) rotation in [-1, 1].
Parameters
Name
Type
Default
Description
fingerIndex
int
1-based index of the finger to query (1 = Thumb, 2 = Index, 3 = Middle, 4 = Ring, 5 = Pinky).
Returns
Type
Description
Vector3
The control Vector3 whose X is extension [0, 1], Y is lateral rotation [-1, 1], and Z is axial rotation [-1, 1].
Field
Value
security
None
thread safety
Unsafe
capabilities
["Animation"]
DigitsRigDescription:GetFingerTip
Returns the world-space position of the fingertip for the finger at the given 1-based index (1 = Thumb … 5 = Pinky). Currently always returns Vector3.zero.
Parameters
Name
Type
Default
Description
fingerIndex
int
1-based index of the finger to query (1 = Thumb, 2 = Index, 3 = Middle, 4 = Ring, 5 = Pinky).
Returns
Type
Description
Vector3
The world-space Vector3 position of the fingertip. Currently always returns Vector3.zero.
Field
Value
security
None
thread safety
Unsafe
capabilities
["Animation"]
DigitsRigDescription:SetFingerControl
Drives the three-joint chain of the finger at the given 1-based index (1 = Thumb … 5 = Pinky) using forward kinematics. The control components are clamped before application:
X — extension, clamped to [0, 1].
Y — lateral rotation, clamped to [-1, 1] (maps to ±50°).
Z — axial rotation, clamped to [-1, 1] (maps to ±50°).
Joint angles for the three phalanges are computed via Ptolemy's theorem applied to the chain lengths.
Parameters
Name
Type
Default
Description
fingerIndex
int
1-based index of the finger to drive (1 = Thumb, 2 = Index, 3 = Middle, 4 = Ring, 5 = Pinky).
control
Vector3
A Vector3 whose X sets extension [0, 1], Y sets lateral rotation [-1, 1], and Z sets axial rotation [-1, 1]; each component is clamped before application.
Returns
Type
Description
()
void
Field
Value
security
None
thread safety
Unsafe
capabilities
["Animation"]
DigitsRigDescription:SetFingerTip
Moves the fingertip of the finger at the given 1-based index (1 = Thumb … 5 = Pinky) toward the world-space target point using inverse kinematics. The solver computes the required extension, lateral, and axial control values and then calls SetFingerControl internally.
Parameters
Name
Type
Default
Description
fingerIndex
int
1-based index of the finger to solve (1 = Thumb, 2 = Index, 3 = Middle, 4 = Ring, 5 = Pinky).
point
Vector3
World-space Vector3 target position for the fingertip.