Vhi.PredictedHandSkeleton
VHI_godot¶
Vhi¶
PredictedHandSkeleton Class¶
The "predicted" hand - the model-output hand on the right of the scene.
Renders whatever its DOFs are commanded to, whenever they are commanded: each arrives
on a stream of its own (vhi.prediction.index and its eight siblings, via
LSLCommunicationController) and is applied on arrival, so a producer
driving one finger moves one finger and the rest hold. When
EnableSmoothing is on, the rig is spherically interpolated
(Slerp) toward the commanded pose at SmoothingSpeed instead of
snapping - smoother on the eye, but with a small latency cost.
The "right hand" appearance is achieved by a mirrored root transform on the
node; both this node and the control hand instance the same left-hand FBX.
The current pose is published to the VHI_Predict LSL outlet at 60 Hz.
Inheritance System.Object → Godot.GodotObject → Godot.Node → Godot.Node3D → HandSkeleton → PredictedHandSkeleton
Fields¶
PredictedHandSkeleton.EnableSmoothing Field¶
Spherically interpolate (Slerp) toward each incoming
pose at SmoothingSpeed instead of snapping. Smoother on
the eye, slight latency cost. Toggle live via the control panel or
the gRPC SetSmoothing RPC.
Field Value¶
PredictedHandSkeleton.SmoothingSpeed Field¶
Interpolation speed when EnableSmoothing is on. Higher is snappier. Ignored when smoothing is off.
Field Value¶
Methods¶
PredictedHandSkeleton.AnimatedJointDegrees() Method¶
Signed rotation in degrees of every joint any channel drives, read back off the skeleton so a caller can see what actually moved rather than what was asked for.
Returns¶
System.Collections.Generic.Dictionary<System.Int32,Godot.Vector3>
PredictedHandSkeleton.JointsMovableOnAxis(int, int) Method¶
The joints a channel can actually move on one axis: those whose gain on that axis is non-zero.
Parameters¶
channel System.Int32
A pose channel, 0-8.
axisIndex System.Int32
0 for X, 2 for Z — an index into the gain triple.
Returns¶
Remarks¶
Not the same as every joint the channel drives, and the difference is real. Thumb abduction drives all three thumb bones through channel 1, but the distal one has a Z gain of 0 — so only two of them can move, and an expectation built from the channel alone would report a correct sweep as a mismatch.
PredictedHandSkeleton.SetSmoothing(bool, float) Method¶
Programmatic smoothing control. Used by the UI panel and the gRPC control service. A non-positive smoothingSpeed leaves the speed unchanged.
Parameters¶
enabled System.Boolean
true to spherically interpolate
(Slerp) toward each incoming sample; false to
snap to it.
smoothingSpeed System.Single
Interpolation speed when smoothing is on. Higher is snappier. Values \<= 0 leave the current speed unchanged.
delta System.Double
delta System.Double