CancelSelectNormal
: float
[Get][Set] |
If greater than zero, the distance required for a selecting PokeInteractor to cancel selection, measured along the negative normal to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.CancelSelectNormal |
CancelSelectTangent
: float
[Get][Set] |
If greater than zero, the distance required for a selecting PokeInteractor to cancel selection, measured along the tangent plane to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.CancelSelectTangent |
CloseDistanceThreshold
: float
[Get][Set] |
The threshold below which distances near this surface are treated as equal in depth for the purposes of ranking, in world-space meters.
Signature
float Oculus.Interaction.PokeInteractable.CloseDistanceThreshold |
DragThresholds
: DragThresholdsConfig
[Get][Set] |
The DragThresholdsConfig for this interactable instance.
Signature
DragThresholdsConfig Oculus.Interaction.PokeInteractable.DragThresholds |
EnterHoverNormal
: float
[Get][Set] |
The distance required for a PokeInteractor to enter hovering, measured along the tangent plane to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.EnterHoverNormal |
EnterHoverTangent
: float
[Get][Set] |
The distance required for a PokeInteractor to enter hovering, measured along the tangent plane to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.EnterHoverTangent |
ExitHoverNormal
: float
[Get][Set] |
The distance required for a PokeInteractor to exit hovering, measured along the normal to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.ExitHoverNormal |
ExitHoverTangent
: float
[Get][Set] |
The distance required for a PokeInteractor to exit hovering, measured along the tangent plane to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.ExitHoverTangent |
MinThresholds
: MinThresholdsConfig
[Get][Set] |
The MinThresholdsConfig for this interactable instance.
Signature
MinThresholdsConfig Oculus.Interaction.PokeInteractable.MinThresholds |
PositionPinning
: PositionPinningConfig
[Get][Set] |
The PositionPinningConfig for this interactable instance.
Signature
PositionPinningConfig Oculus.Interaction.PokeInteractable.PositionPinning |
RecoilAssist
: RecoilAssistConfig
[Get][Set] |
The RecoilAssistConfig for this interactable instance.
Signature
RecoilAssistConfig Oculus.Interaction.PokeInteractable.RecoilAssist |
SurfacePatch
: ISurfacePatch
[Get] |
An ISurfacePatch, which provides both the backing surface (generally infinite) and pokable area (generally finite) of the interactor.
Signature
ISurfacePatch Oculus.Interaction.PokeInteractable.SurfacePatch |
TiebreakerScore
: int
[Get][Set] |
If a PokeInteractor is positioned near multiple interactables such that it is equally interactable with any of them (i.e., the distances to all of them are within CloseDistanceThreshold of each other), the interactable with the largest TiebreakerScore wins and is targeted for interaction.
If there's a tie for largest TiebreakerScore, one of the interactables will be selected arbitrarily.
Signature
int Oculus.Interaction.PokeInteractable.TiebreakerScore |
Awake
()
|
Signature
override void Oculus.Interaction.PokeInteractable.Awake() Returns override void |
Start
()
|
Signature
override void Oculus.Interaction.PokeInteractable.Start() Returns override void |
ClosestBackingSurfaceHit
(
point
, hit
)
|
Convenience method wrapping a call to ISurface.ClosestSurfacePoint(in Vector3, out SurfaceHit, float) on the ISurfacePatch.BackingSurface of this interactable's SurfacePatch.
Signature
bool Oculus.Interaction.PokeInteractable.ClosestBackingSurfaceHit(Vector3 point, out SurfaceHit hit) Parameters point: Vector3
The point, in world space, for which the nearest point on the surface must be found
hit: out SurfaceHit
The returned hit data in world space if a nearest point could be found, default otherwise
Returns bool
True if the racyast hit the surface, false otherwise
|
ClosestSurfacePatchHit
(
point
, hit
)
|
Convenience method wrapping a call to ISurface.ClosestSurfacePoint(in Vector3, out SurfaceHit, float) on the SurfacePatch.
Signature
bool Oculus.Interaction.PokeInteractable.ClosestSurfacePatchHit(Vector3 point, out SurfaceHit hit) Parameters point: Vector3
The point, in world space, for which the nearest point on the surface must be found
hit: out SurfaceHit
The returned hit data in world space if a nearest point could be found, default otherwise
Returns bool
True if the racyast hit the surface, false otherwise
|
InjectAllPokeInteractable
(
surfacePatch
)
|
Sets all the required values for a PokeInteractable on a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.PokeInteractable.InjectAllPokeInteractable(ISurfacePatch surfacePatch) Parameters surfacePatch: ISurfacePatchReturns void |
InjectSurfacePatch
(
surfacePatch
)
|
Sets a surface patch for a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.PokeInteractable.InjectSurfacePatch(ISurfacePatch surfacePatch) Parameters surfacePatch: ISurfacePatchReturns void |
DragEaseCurve
: ProgressCurve |
The curve that a PokeInteractor will use to ease when transitioning between a press and drag state.
Signature
ProgressCurve Oculus.Interaction.PokeInteractable.DragThresholdsConfig.DragEaseCurve |
DragNormal
: float |
The distance a PokeInteractor must travel to be treated as a press, measured along the normal to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.DragThresholdsConfig.DragNormal |
DragTangent
: float |
The distance a PokeInteractor must travel to be treated as a press, measured along the tangent plane to the surface (in meters
Signature
float Oculus.Interaction.PokeInteractable.DragThresholdsConfig.DragTangent |
Enabled
: bool |
Sets whether or not this config block is enabled.
If disabled, all values will be ignored and default behavior will apply.
Signature
bool Oculus.Interaction.PokeInteractable.DragThresholdsConfig.Enabled |
Enabled
: bool |
Sets whether or not this config block is enabled.
If disabled, all values will be ignored and default behavior will apply.
Signature
bool Oculus.Interaction.PokeInteractable.MinThresholdsConfig.Enabled |
MinNormal
: float |
The minimum distance required for a PokeInteractor to surpass before being able to hover, measured along the normal to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.MinThresholdsConfig.MinNormal |
Enabled
: bool |
Sets whether or not this config block is enabled.
If disabled, all values will be ignored and default behavior will apply.
Signature
bool Oculus.Interaction.PokeInteractable.PositionPinningConfig.Enabled |
MaxPinDistance
: float |
The distance over which a PokeInteractor drag motion will be remapped to the surface (in meters).
If the hand is detected to move along this surface less than this value, those movements will be ignored; this can help to eliminate noise and reduce the degree to which poking feels "slippery."
Signature
float Oculus.Interaction.PokeInteractable.PositionPinningConfig.MaxPinDistance |
PinningEaseCurve
: AnimationCurve |
The PokeInteractor position will be remapped along this curve from the initial touch point to the current position on surface.
Signature
AnimationCurve Oculus.Interaction.PokeInteractable.PositionPinningConfig.PinningEaseCurve |
ResyncCurve
: ProgressCurve |
In cases where a resync is necessary between the pinned position and the unpinned position, this time-based curve will be used.
Signature
ProgressCurve Oculus.Interaction.PokeInteractable.PositionPinningConfig.ResyncCurve |
DynamicDecayCurve
: AnimationCurve |
A Unity AnimationCurve of the normal movement ratio to determine the rate of decay.
Signature
AnimationCurve Oculus.Interaction.PokeInteractable.RecoilAssistConfig.DynamicDecayCurve |
Enabled
: bool |
Sets whether or not this config block is enabled.
If disabled, all values will be ignored and default behavior will apply.
Signature
bool Oculus.Interaction.PokeInteractable.RecoilAssistConfig.Enabled |
ExitDistance
: float |
The distance over which a poke interactor must surpass to trigger an early unselect, measured along the normal to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.RecoilAssistConfig.ExitDistance |
ReEnterDistance
: float |
When in recoil, the distance which a poke interactor must surpass to trigger a subsequent select, measured along the negative normal to the surface (in meters).
Signature
float Oculus.Interaction.PokeInteractable.RecoilAssistConfig.ReEnterDistance |
UseDynamicDecay
: bool |
If true, DynamicDecayCurve will be used to decay the max distance based on the normal velocity.
Otherwise, default behavior will apply.
Signature
bool Oculus.Interaction.PokeInteractable.RecoilAssistConfig.UseDynamicDecay |
UseVelocityExpansion
: bool |
Expand recoil window when fast Z motion is detected.
When poking a surface rapidly, users are much more likely to over-penetrate to move their hands spatially further past the virtual PokeInteractable.SurfacePatch than they might normally do, simply because they're moving fast. Under such circumstances, both motion tracking and user proprioception tend to contain large spatial errors, and typical interaction windows may consequently be inadequate in such scenarios. This leads to the concept of "velocity
expansion," which pads or "expands" the error margins for certain interaction parameters (notably recoil assist) based on the velocity of the user's interaction.
Signature
bool Oculus.Interaction.PokeInteractable.RecoilAssistConfig.UseVelocityExpansion |
VelocityExpansionDecayRate
: float |
Window will contract toward ExitDistance at this rate (in meters) per second when velocity lowers.
See UseVelocityExpansion for a more detailed overview of what "velocity expansion" means.
Signature
float Oculus.Interaction.PokeInteractable.RecoilAssistConfig.VelocityExpansionDecayRate |
VelocityExpansionDistance
: float |
Window will expand by this distance when Z velocity reaches max speed.
See UseVelocityExpansion for a more detailed overview of what "velocity expansion" means.
Signature
float Oculus.Interaction.PokeInteractable.RecoilAssistConfig.VelocityExpansionDistance |
VelocityExpansionMaxSpeed
: float |
Full recoil window expansion reached at this speed.
See UseVelocityExpansion for a more detailed overview of what "velocity expansion" means.
Signature
float Oculus.Interaction.PokeInteractable.RecoilAssistConfig.VelocityExpansionMaxSpeed |
VelocityExpansionMinSpeed
: float |
When average velocity in interactable Z is greater than min speed, the recoil window will begin expanding.
See UseVelocityExpansion for a more detailed overview of what "velocity expansion" means.
Signature
float Oculus.Interaction.PokeInteractable.RecoilAssistConfig.VelocityExpansionMinSpeed |