RelaxGrabPoints
: List< HandGrabPose >
[Get] |
Signature
List<HandGrabPose> RelaxGrabPoints |
StrengthDeadzone
: float
[Get][Set] |
Fingers whose strength value is below this dead zone will not be considered as snappers.
Signature
float StrengthDeadzone |
TightGrabPoints
: List< HandGrabPose >
[Get] |
Signature
List<HandGrabPose> TightGrabPoints |
UseFingers
: GrabbingRule
[Get][Set] |
A GrabbingRule specifying the requirements for advancing UseProgress when grabbing and using this interactable.
All required fingers must be using in order to reach maximum progress, when no required fingers are present, the strongest optional finger can drive the progress value.
Signature
GrabbingRule UseFingers |
UseProgress
: float
[Get] |
Value indicating the progress of the use interaction.
This value is in the style of a "strength" as discussed in Input.IHand.GetFingerPinchStrength(Input.HandFinger) and varies from 0 to 1 depending on how weakly or strongly, respectively, this interactable is being used.
Signature
float UseProgress |
UseStrengthDeadZone
: float
[Get] |
This property is a pure alias for StrengthDeadzone, included here to support aliased usage in existing code.
Signature
float UseStrengthDeadZone |
Awake
()
|
Signature
override void Awake() Returns override void |
Reset
()
|
Signature
virtual void Reset() Returns void |
SelectingInteractorAdded
(
interactor
)
|
Signature
override void SelectingInteractorAdded(HandGrabUseInteractor interactor) Parameters interactor: HandGrabUseInteractorReturns override void |
SelectingInteractorRemoved
(
interactor
)
|
Signature
override void SelectingInteractorRemoved(HandGrabUseInteractor interactor) Parameters interactor: HandGrabUseInteractorReturns override void |
ComputeUseStrength
(
strength
)
|
Updates UseProgress.
If an IHandGrabUseDelegate has been provided to this instance (either via the Unity Editor or using InjectOptionalForwardUseDelegate(IHandGrabUseDelegate)), that delegate will be invoked to calculate the new value for UseProgress; otherwise, the provided parameter strength will be set as the new UseProgress.
Signature
float ComputeUseStrength(float strength) Parameters strength: float
The value to which UseProgress should be set if this instance has not bee provided an IHandGrabUseDelegate
Returns float
The new value of UseProgress
|
FindBestHandPoses
(
handScale
, relaxedHandPose
, tightHandPose
, score
)
|
Attempts to find the HandPoses representing both "tight" (maximum UseProgress and "relaxed" (minimum UseProgress) which are most suitable to the current state of the tracked hand.
If this interactable is being used to drive a Input.SyntheticHand or other visualization, that visualization can leverage these poses to produce an interpolated intermediate pose reflective of the current UseProgress.
Signature
bool FindBestHandPoses(float handScale, ref HandPose relaxedHandPose, ref HandPose tightHandPose, out float score) Parameters handScale: float
The scale of the tracked hand
relaxedHandPose: ref HandPose
Output parameter to be populated with the most suitable "relaxed" HandPose
tightHandPose: ref HandPose
Output parameter to be populated with the most suitable "tight" HandPose
score: out float
1 if suitable "relaxed" and "tight" HandPoses could both be found, 0 otherwise
Returns bool
Always returns true
|
InjectOptionalForwardUseDelegate
(
useDelegate
)
|
Adds an IHandGrabUseDelegate to a dynamically instantiated HandGrabUseInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void InjectOptionalForwardUseDelegate(IHandGrabUseDelegate useDelegate) Parameters useDelegate: IHandGrabUseDelegateReturns void |
InjectOptionalRelaxedHandGrabPoints
(
relaxedHandGrabPoints
)
|
Sets the list of "relaxed" HandGrabPoses for a dynamically instantiated HandGrabUseInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void InjectOptionalRelaxedHandGrabPoints(List< HandGrabPose > relaxedHandGrabPoints) Parameters relaxedHandGrabPoints: List< HandGrabPose >Returns void |
InjectOptionalTightHandGrabPoints
(
tightHandGrabPoints
)
|
Sets the list of "tight" HandGrabPoses for a dynamically instantiated HandGrabUseInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void InjectOptionalTightHandGrabPoints(List< HandGrabPose > tightHandGrabPoints) Parameters tightHandGrabPoints: List< HandGrabPose >Returns void |