class MAGES::Interaction::HandPoser¶
Overview¶
A class to be attached on a hand to pose it. More…
class HandPoser: public MonoBehaviour { public: // properties int HandIndex; List<FingerPoser> FingerPosers; // methods void LerpPose(HandPose p1, HandPose p2, float t); void SetHandPose( HandPose pose, Action<HandPose> onInterpolationFinished = null, float interpolationTime = 0.2f ); bool GetAutomaticHandPose( int layerMask, QueryTriggerInteraction triggerInteraction, HandPose extendedPose, HandPose retractedPose, HandPose hitPose, int iterations = 5, int subSteps = 10, PhysicsScene? physicsScene = null ); void GetCurrentPose(HandPose currentPose); };
Detailed Documentation¶
A class to be attached on a hand to pose it.
Properties¶
int HandIndex
Gets or sets the finger index for this finger poser.
List<FingerPoser> FingerPosers
Gets or sets the finger posers this hand poser is composed of.
Methods¶
void LerpPose(HandPose p1, HandPose p2, float t)
Lerps between the two poses.
Parameters:
p1 |
Pose 1. |
p2 |
Pose 2. |
t |
Interpolation factor. A value between 0 and 1. |
void SetHandPose( HandPose pose, Action<HandPose> onInterpolationFinished = null, float interpolationTime = 0.2f )
Sets the finger with the given pose.
This will stop any ongoing interpolation.
Parameters:
pose |
The pose to use for the finger. |
onInterpolationFinished |
Action to be called when the interpolation finished. i.e. after interpolationTime seconds. |
interpolationTime |
The time to interpolate between current pose and the given new one. |
bool GetAutomaticHandPose( int layerMask, QueryTriggerInteraction triggerInteraction, HandPose extendedPose, HandPose retractedPose, HandPose hitPose, int iterations = 5, int subSteps = 10, PhysicsScene? physicsScene = null )
Creates an automatic finger pose at the position the finger hits something by interpolating between the extended and retracted poses.
Parameters:
layerMask |
The collision layer mask. Use -1 for everything. |
triggerInteraction |
Whether or not to check for tirgger collisions. |
extendedPose |
The pose to start the interpolation from. |
retractedPose |
The pose to end the interpolation to. |
hitPose |
The hand pose output at the hit position. Function expects to get a valid HandPose instance to populate. |
iterations |
The iteractions to perform. |
subSteps |
The backwards substeps to perform in each iteration. |
physicsScene |
The physics scene to use for the simulation. If |
Returns:
true
if the finger hits something in the layerMask layer.
void GetCurrentPose(HandPose currentPose)
Gets the current pose of the finger.
Parameters:
currentPose |
The instance in which to store the pose. |