Reference API Roblox

Engine API

Website

Related

Reference API Roblox

DigitsRigDescription

Maps the 15 phalanx joints of one hand (5 fingers, 3 joints each) and exposes forward- and inverse-kinematics helpers for controlling finger poses at runtime.

Member index 50

HistoryMember
726Index1: Instance
726Index1TposeAdjustment: CFrame
726Index2: Instance
726Index2TposeAdjustment: CFrame
726Index3: Instance
726Index3TposeAdjustment: CFrame
726IndexRange: Vector3
726IndexSize: float
726Middle1: Instance
726Middle1TposeAdjustment: CFrame
726Middle2: Instance
726Middle2TposeAdjustment: CFrame
726Middle3: Instance
726Middle3TposeAdjustment: CFrame
726MiddleRange: Vector3
726MiddleSize: float
726Pinky1: Instance
726Pinky1TposeAdjustment: CFrame
726Pinky2: Instance
726Pinky2TposeAdjustment: CFrame
726Pinky3: Instance
726Pinky3TposeAdjustment: CFrame
726PinkyRange: Vector3
726PinkySize: float
726Ring1: Instance
726Ring1TposeAdjustment: CFrame
726Ring2: Instance
726Ring2TposeAdjustment: CFrame
726Ring3: Instance
726Ring3TposeAdjustment: CFrame
726RingRange: Vector3
726RingSize: float
726Side: DigitsRigDescriptionSide
726Thumb1: Instance
726Thumb1TposeAdjustment: CFrame
726Thumb2: Instance
726Thumb2TposeAdjustment: CFrame
726Thumb3: Instance
726Thumb3TposeAdjustment: CFrame
726ThumbRange: Vector3
726ThumbSize: float
711GetFingerControl(fingerIndex: int): Vector3
711GetFingerTip(fingerIndex: int): Vector3
711GetJoint(label: RigLabel): Instance
711GetJointLabels(): Array
711GetTposeAdjustment(label: RigLabel): CFrame
711SetFingerControl(fingerIndex: int, control: Vector3): null
711SetFingerTip(fingerIndex: int, point: Vector3): null
711SetJoint(label: RigLabel, joint: Instance): null
711SetTposeAdjustment(label: RigLabel, transform: CFrame): null
inherited from Instance
726Archivable: bool
726Capabilities: SecurityCapabilities
726IsInSandbox: bool
726Name: string
726Parent: Instance
726PredictionMode: PredictionMode
726Sandboxed: bool
726UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
726children(): Instances
726clone(): Instance
726destroy(): null
726findFirstChild(name: string, recursive: bool = false): Instance
726getChildren(): Instances
726isDescendantOf(ancestor: Instance): bool
726remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
726childAdded(child: Instance)
inherited from Object
726ClassName: string
726className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
726isA(className: string): bool
647Changed(property: string)

Description

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.

History 92

Members 50

GetFingerControl

Parameters (1)
fingerIndexint
Returns (1)
Vector3

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].

History 1

GetFingerTip

Parameters (1)
fingerIndexint
Returns (1)
Vector3

Returns the world-space position of the fingertip for the finger at the given 1-based index (1 = Thumb … 5 = Pinky). Not yet implemented; currently returns Vector3.zero.

History 1

GetJoint

Parameters (1)
labelRigLabel
Returns (1)
Instance

History 1

GetJointLabels

Parameters (0)
No parameters.
Returns (1)
Array

History 1

GetTposeAdjustment

Parameters (1)
labelRigLabel
Returns (1)
CFrame

History 1

Index1

TypeDefault
Instance

The Motor6D, AnimationConstraint, or Bone instance mapped to the proximal (first) phalanx of the index finger.

History 2

Index1TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Index1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Index2

TypeDefault
Instance

The Instance mapped to the medial (second) phalanx of the index finger.

History 2

Index2TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Index2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Index3

TypeDefault
Instance

The Instance mapped to the distal (third) phalanx of the index finger.

History 2

Index3TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Index3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

IndexRange

TypeDefault
Vector3

A Vector3 describing the motion range of the index finger, used by the finger solver.

History 2

IndexSize

TypeDefault
float

Size of the index finger, used by the finger solver to preserve contacts.

History 2

Middle1

TypeDefault
Instance

The Instance mapped to the proximal (first) phalanx of the middle finger.

History 2

Middle1TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Middle1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Middle2

TypeDefault
Instance

The Instance mapped to the medial (second) phalanx of the middle finger.

History 2

Middle2TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Middle2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Middle3

TypeDefault
Instance

The Instance mapped to the distal (third) phalanx of the middle finger.

History 2

Middle3TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Middle3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

MiddleRange

TypeDefault
Vector3

A Vector3 describing the motion range of the middle finger, used by the finger solver and scalable-property system.

History 2

MiddleSize

TypeDefault
float

Scale factor for the middle finger, used when the rig is scaled through the scalable-property system.

History 2

Pinky1

TypeDefault
Instance

The Instance mapped to the proximal (first) phalanx of the pinky finger.

History 2

Pinky1TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Pinky1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Pinky2

TypeDefault
Instance

The Instance mapped to the medial (second) phalanx of the pinky finger.

History 2

Pinky2TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Pinky2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Pinky3

TypeDefault
Instance

The Instance mapped to the distal (third) phalanx of the pinky finger.

History 2

Pinky3TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Pinky3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

PinkyRange

TypeDefault
Vector3

A Vector3 describing the motion range of the pinky finger, used by the finger solver and scalable-property system.

History 2

PinkySize

TypeDefault
float

Scale factor for the pinky finger, used when the rig is scaled through the scalable-property system.

History 2

Ring1

TypeDefault
Instance

The Instance mapped to the proximal (first) phalanx of the ring finger.

History 2

Ring1TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Ring1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Ring2

TypeDefault
Instance

The Instance mapped to the medial (second) phalanx of the ring finger.

History 2

Ring2TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Ring2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Ring3

TypeDefault
Instance

The Instance mapped to the distal (third) phalanx of the ring finger.

History 2

Ring3TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Ring3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

RingRange

TypeDefault
Vector3

A Vector3 describing the motion range of the ring finger, used by the finger solver and scalable-property system.

History 2

RingSize

TypeDefault
float

Scale factor for the ring finger, used when the rig is scaled through the scalable-property system.

History 2

SetFingerControl

Parameters (2)
fingerIndexint
controlVector3
Returns (1)
null

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.

History 1

SetFingerTip

Parameters (2)
fingerIndexint
pointVector3
Returns (1)
null

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.

History 1

SetJoint

Parameters (2)
labelRigLabel
jointInstance
Returns (1)
null

History 1

SetTposeAdjustment

Parameters (2)
labelRigLabel
transformCFrame
Returns (1)
null

History 1

Side

TypeDefault
DigitsRigDescriptionSide

Which hand this description belongs to: None, Left, or Right. Used when mapping HandRigLabel joints to the corresponding HumanoidRigLabel entries on the parent HumanoidRigDescription.

History 2

Thumb1

TypeDefault
Instance

The Instance mapped to the proximal (first) phalanx of the thumb.

History 2

Thumb1TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Thumb1 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Thumb2

TypeDefault
Instance

The Instance mapped to the medial (second) phalanx of the thumb.

History 2

Thumb2TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Thumb2 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

Thumb3

TypeDefault
Instance

The Instance mapped to the distal (third) phalanx of the thumb.

History 2

Thumb3TposeAdjustment

TypeDefault
CFrame

CoordinateFrame applied to Thumb3 to normalize the joint into its canonical T-pose orientation before retargeting or solving.

History 2

ThumbRange

TypeDefault
Vector3

A Vector3 describing the motion range of the thumb, used by the finger solver and scalable-property system.

History 2

ThumbSize

TypeDefault
float

Scale factor for the thumb, used when the rig is scaled through the scalable-property system.

History 2

Settings