HandPosing
A tool for quickly authoring hand poses to objects in VR using hand-tracking
HandPosing.OVRIntegration.GrabberHybridOVR Class Reference

Custom grabber for the Oculus Plugin This Grabber supports grabbing with both Oculus Hand tracking, using Pinch gesture and grabbing using Oculus Touch controllers, using the Primary Hand Trigger. More...

Inheritance diagram for HandPosing.OVRIntegration.GrabberHybridOVR:
HandPosing.Interaction.BaseGrabber HandPosing.Interaction.IGrabNotifier

Public Member Functions

override float CurrentFlex ()
 Current normalised value of the grabbing gesture. 1 for a fully realised gesture, 0 for no gesture detected. More...
 
- Public Member Functions inherited from HandPosing.Interaction.BaseGrabber
Snappable FindClosestSnappable ()
 The snappable with the best score that can be reached at the current pose. Typically all grabbable objects will also have snappables, and the Grabber would already implement a metho to find the nearest grabbable,this could be very similar. More...
 
void ForceRelease (Grabbable grabbable)
 Release a grabbable from this grabber. More...
 
void ForceUntouch (Grabbable grabbable)
 Unsuscribe an object from the list of touched grabbables. The object will not be a grabbing candidate until it is touched again. More...
 
virtual void OffhandGrabbed (Grabbable grabbable)
 Release an object without throwing it. More...
 
void OnTriggerEnter (Collider otherCollider)
 
void OnTriggerExit (Collider otherCollider)
 

Protected Member Functions

override void Grab (Grabbable closestGrabbable)
 Attach a given grabbable to the hand, storing the offset to the hand so it can be kept while holding. More...
 
void LateUpdate ()
 
 override (Vector3, Vector3) HandRelativeVelocity(Pose offsetPose)
 
- Protected Member Functions inherited from HandPosing.Interaction.BaseGrabber
virtual void Reset ()
 
virtual void Awake ()
 
virtual void OnEnable ()
 
virtual void OnDisable ()
 
virtual void OnDestroy ()
 
virtual void Update ()
 
void CheckForGrabOrRelease (float prevFlex, float currentFlex)
 Checks the current grabbing gesture and tries to grab/release/approach a grabbable. This key method triggers the callbacks for the snapping system. More...
 
virtual void GrabFailed ()
 When a grab attempt fails, set the state accordingly and trigger the relevant callbacks like OnGrabAttemptFail More...
 
void NearGrab (float factor)
 Triggers how close the grabber is to start grabbing a nearby object, informing the snapping system. More...
 
virtual void GrabBegin ()
 Search for a nearby object and grab it. More...
 
virtual void MoveGrabbedObject (Vector3 pos, Quaternion rot)
 Update the grabbed object position/rotation using the offset recorded when the grab started. More...
 
virtual void GrabEnd (bool canGrab=true)
 Releases the current grabbed object More...
 
void ReleaseGrabbedObject (Vector3 linearVelocity, Vector3 angularVelocity)
 Throw the current grabbed object. More...
 
Grabbable FindClosestGrabbable ()
 

Properties

FlexInterface Flex [get]
 
override Vector2 GrabFlexThreshold [get]
 
override Vector2 GrabAttemptThreshold [get]
 
override float ReleasedFlexThreshold [get]
 
- Properties inherited from HandPosing.Interaction.BaseGrabber
Grabbable GrabbedObject = null [get]
 Current grabbed object. More...
 
Action< bool > OnIgnoreTriggers [get, set]
 Callback that indicates that the detection trigger has been enabled/disabled More...
 
Action< GameObject > OnGrabStarted [get, set]
 
Action< GameObject, float > OnGrabAttemp [get, set]
 
Action< GameObject > OnGrabEnded [get, set]
 
Action< GameObject > OnGrabAttemptFail [get, set]
 
abstract Vector2 GrabFlexThreshold [get]
 
abstract Vector2 GrabAttemptThreshold [get]
 Range for detecting that grab failed. Typically narrower than GrabFlexThreshold. More...
 
abstract float ReleasedFlexThreshold [get]
 Indicates the minimum value for a grab Typically a bit higher than the minimum GrabFlexThreshold More...
 
- Properties inherited from HandPosing.Interaction.IGrabNotifier
Action< GameObject > OnGrabStarted [get, set]
 Event triggered when a Grab is started at a GameObject. More...
 
Action< GameObject, float > OnGrabAttemp [get, set]
 Event triggered when a Grab is attempted at a GameObject. More...
 
Action< GameObject > OnGrabAttemptFail [get, set]
 Event triggered when a grabbed GameObjec if user tried to make a grab attempt sometime in the past More...
 
Action< GameObject > OnGrabEnded [get, set]
 Event triggered when a grabbed GameObject is released. More...
 
Vector2 GrabFlexThreshold [get]
 Min - Max value for the grab thresold. X indicates the release point, Y the grab point. Typically [0.33,0.9] or even [0,1] More...
 

Additional Inherited Members

- Static Public Member Functions inherited from HandPosing.Interaction.BaseGrabber
static void ClearAllGrabs (Grabbable grabbable)
 Unsuscribe all the objects grabbed by all hands. More...
 
- Public Attributes inherited from HandPosing.Interaction.BaseGrabber
Action< GameObject, float > OnGrabTimedEnded
 Callback indicating that a grab finished and how long it was held. More...
 
- Protected Attributes inherited from HandPosing.Interaction.BaseGrabber
abstract Vector3
 Relative velocities of the hand for throwing. More...
 

Detailed Description

Custom grabber for the Oculus Plugin This Grabber supports grabbing with both Oculus Hand tracking, using Pinch gesture and grabbing using Oculus Touch controllers, using the Primary Hand Trigger.

Member Function Documentation

◆ CurrentFlex()

override float HandPosing.OVRIntegration.GrabberHybridOVR.CurrentFlex ( )
virtual

Current normalised value of the grabbing gesture. 1 for a fully realised gesture, 0 for no gesture detected.

Returns
Normalised value for the grab gesture detection.

Implements HandPosing.Interaction.BaseGrabber.

◆ Grab()

override void HandPosing.OVRIntegration.GrabberHybridOVR.Grab ( Grabbable  closestGrabbable)
protectedvirtual

Attach a given grabbable to the hand, storing the offset to the hand so it can be kept while holding.

Parameters
closestGrabbableThe object to be grabbed.

Reimplemented from HandPosing.Interaction.BaseGrabber.


The documentation for this class was generated from the following file: