Vhi.HandSkeleton
VHI_godot¶
Vhi¶
HandSkeleton Class¶
The 16-joint hand rig both hands drive, and the pose read-back both publish.
Inheritance System.Object → Godot.GodotObject → Godot.Node → Godot.Node3D → HandSkeleton
Derived
↳ ControlHandSkeleton
↳ PredictedHandSkeleton
Remarks¶
Two hands, one FBX, one bone map, one set of rotations. This existed twice, member for member, and the copies were the reason a direction bug could be fixed in one hand and not the other. What differs is only what drives the joints — a movement state machine on one, a set of per-DOF LSL inlets on the other — and which outlet the read-back goes to.
Methods¶
HandSkeleton.BoneNameForJoint(int) Method¶
The model's own name for a joint — the rig's identity claim, not a label.
Returns¶
HandSkeleton.RestStandardPose() Method¶
Every channel back to standard rest, snapped to immediately.
Remarks¶
Also the neutraliser: a zero pose renders every animated joint to identity, so this is what a hand released back to its own movements is put through. It has to clear Vhi.HandSkeleton.pose and not just the rig — otherwise the next single DOF to arrive would call Vhi.HandSkeleton.RenderPose and bring a departed producer's other eight values back with it.
HandSkeleton.SetStandardValue(int, float) Method¶
Command one channel and show it, leaving every other channel where it was.
Parameters¶
channel System.Int32
A pose channel, 0-8. Anything else is ignored.
standard System.Single
A standard value; clamped to [-1, 1] before it is stored.
Remarks¶
The only way a value reaches either hand: one DOF, applied when it arrives. Its
callers are the per-DOF LSL inlets and VhiControlService.SetControl, and a
client driving both will fight itself over whichever channels they share.