VRTK_AxisScaleGrabAction
extends VRTK_BaseGrabAction
Overview
Scales the grabbed Interactable Object along the given axes based on the position of the secondary grabbing Interact Grab.
Script Usage:
- Place the
VRTK_AxisScaleGrabAction
script on either:- The GameObject of the Interactable Object to detect interactions on.
- Any other scene GameObject and then link that GameObject to the Interactable Objects
Secondary Grab Action Script
parameter to denote use of the secondary grab action.
Inspector Parameters
- Ungrab Distance: The distance the secondary grabbing object must move away from the original grab position before the secondary grabbing object auto ungrabs the Interactable Object.
- Lock Axis: Locks the specified checked axes so they won't be scaled
- Uniform Scaling: If checked all the axes will be scaled together (unless locked)
Class Methods
Initialise/5
public override void Initialise(VRTK_InteractableObject currentGrabbdObject, VRTK_InteractGrab currentPrimaryGrabbingObject, VRTK_InteractGrab currentSecondaryGrabbingObject, Transform primaryGrabPoint, Transform secondaryGrabPoint)
- Parameters
VRTK_InteractableObject currentGrabbdObject
- The Interactable Object script for the object currently being grabbed by the primary grabbing object.VRTK_InteractGrab currentPrimaryGrabbingObject
- The Interact Grab script for the object that is associated with the primary grabbing object.VRTK_InteractGrab currentSecondaryGrabbingObject
- The Interact Grab script for the object that is associated with the secondary grabbing object.Transform primaryGrabPoint
- The point on the Interactable Object where the primary Interact Grab initially grabbed the Interactable Object.Transform secondaryGrabPoint
- The point on the Interactable Object where the secondary Interact Grab initially grabbed the Interactable Object.
- Returns
- none
The Initalise method is used to set up the state of the secondary action when the Interactable Object is initially grabbed by a secondary Interact Grab.
ProcessUpdate/0
public override void ProcessUpdate()
- Parameters
- none
- Returns
- none
The ProcessUpdate method runs in every Update on the Interactable Object whilst it is being grabbed by a secondary Interact Grab.
ProcessFixedUpdate/0
public override void ProcessFixedUpdate()
- Parameters
- none
- Returns
- none
The ProcessFixedUpdate method runs in every FixedUpdate on the Interactable Object whilst it is being grabbed by a secondary Interact Grab and performs the scaling action.
Example
VRTK/Examples/043_Controller_SecondaryControllerActions
demonstrates the ability to grab an object with one controller and scale it by grabbing and pulling with the second controller.
Updated less than a minute ago