{"_id":"5b1f8f829c68300003297a68","project":"571fa55ca0acd42000af9545","version":{"_id":"5b1f8576c2505d00031254db","project":"571fa55ca0acd42000af9545","__v":4,"forked_from":"594949e52be16d0026ec04cd","createdAt":"2017-06-20T16:14:29.816Z","releaseDate":"2017-06-20T16:14:29.816Z","categories":["5b1f8576c2505d0003125424","5b1f8576c2505d0003125425","5b1f8576c2505d0003125426","5b1f8576c2505d0003125427","5b1f8576c2505d0003125428","5b1f8576c2505d0003125429","5b1f8576c2505d000312542a","5b1f8576c2505d000312542b","5b1f8576c2505d000312542c","5b1f8576c2505d000312542d","5b1f8576c2505d000312542e","5b1f8576c2505d000312542f","5b1f8576c2505d0003125430","5b1f8576c2505d0003125431","5b1f8576c2505d0003125432","5b1f8576c2505d0003125433","5b1f8576c2505d0003125434","5b1f8576c2505d0003125435","5b1f8576c2505d0003125436","5b1f8576c2505d0003125437","5b1f8576c2505d0003125438","5b1f8aab9c683000032979e7","5b1f8b2f3073470003ffa5da","5b1f8bd9fd653400031d94f4","5b1f900bd4c5f000036b57bd"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"Mangalica","version_clean":"3.3.0","version":"3.3.0"},"category":{"_id":"5b1f8576c2505d0003125428","version":"5b1f8576c2505d00031254db","project":"571fa55ca0acd42000af9545","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-01-01T16:41:26.797Z","from_sync":false,"order":4,"slug":"locomotion","title":"Locomotion"},"user":"571fa519db52d01700f5cf3d","githubsync":"","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-06-12T09:16:50.461Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":14,"body":"## Overview\n\nProvides the ability to move, rotate and scale the PlayArea by dragging the world with the controllers.\n\n**Script Usage:**\n * Place the `VRTK_DragWorld` script on any active scene GameObject.\n\n  > If only one controller is being used to track the rotation mechanism, then the rotation will be based on the perpendicual (yaw) axis angular velocity of the tracking controller.\n  > If both controllers are being used to track the rotation mechanism, then the rotation will be based on pushing one controller forward, whilst pulling the other controller backwards.\n\n## Inspector Parameters\n\n * **Movement Activation Button:** The controller button to press to activate the movement mechanism.\n * **Movement Activation Requirement:** The controller(s) on which the activation button is to be pressed to consider the movement mechanism active.\n * **Movement Tracking Controller:** The controller(s) on which to track position of to determine if a valid move has taken place.\n * **Movement Multiplier:** The amount to multply the movement by.\n * **Movement Position Lock:** The axes to lock to prevent movement across.\n * **Rotation Activation Button:** The controller button to press to activate the rotation mechanism.\n * **Rotation Activation Requirement:** The controller(s) on which the activation button is to be pressed to consider the rotation mechanism active.\n * **Rotation Tracking Controller:** The controller(s) on which to determine how rotation should occur. `BothControllers` requires both controllers to be pushed/pulled to rotate, whereas any other setting will base rotation on the rotation of the activating controller.\n * **Rotation Multiplier:** The amount to multply the rotation angle by.\n * **Rotation Activation Threshold:** The threshold the rotation angle has to be above to consider a valid rotation amount.\n * **Scale Activation Button:** The controller button to press to activate the scale mechanism.\n * **Scale Activation Requirement:** The controller(s) on which the activation button is to be pressed to consider the scale mechanism active.\n * **Scale Tracking Controller:** The controller(s) on which to determine how scaling should occur.\n * **Scale Multiplier:** The amount to multply the scale factor by.\n * **Scale Activation Threshold:** The threshold the distance between the scale objects has to be above to consider a valid scale operation.\n * **Minimum Scale:** the minimum scale amount that can be applied.\n * **Maximum Scale:** the maximum scale amount that can be applied.\n * **Controlling Transform:** The transform to apply the control mechanisms to. If this is left blank then the PlayArea will be controlled.\n * **Use Offset Transform:** Uses the specified `Offset Transform` when dealing with rotational offsets.\n * **Offset Transform:** The transform to use when dealing with rotational offsets. If this is left blank then the Headset will be used as the offset.\n\n## Class Variables\n\n * `public enum ActivationRequirement` - The controller on which to determine as the activation requirement for the control mechanism.\n   * `LeftControllerOnly` - Only pressing the activation button on the left controller will activate the mechanism, if the right button is held down then the mechanism will not be activated.\n   * `RightControllerOnly` - Only pressing the activation button on the right controller will activate the mechanism, if the left button is held down then the mechanism will not be activated.\n   * `LeftController` - Pressing the activation button on the left controller is all that is required to activate the mechanism.\n   * `RightController` - Pressing the activation button on the right controller is all that is required to activate the mechanism.\n   * `EitherController` - Pressing the activation button on the either controller is all that is required to activate the mechanism.\n   * `BothControllers` - Pressing the activation button on both controllers is required to activate the mechanism.\n * `public enum TrackingController` - The controllers which to track when performing the mechanism.\n   * `LeftController` - Only track the left controller.\n   * `RightController` - Only track the right controller.\n   * `EitherController` - Track either the left or the right controller.\n   * `BothControllers` - Only track both controllers at the same time.","excerpt":"","slug":"vrtk_dragworld","type":"basic","title":"VRTK_DragWorld"}
## Overview Provides the ability to move, rotate and scale the PlayArea by dragging the world with the controllers. **Script Usage:** * Place the `VRTK_DragWorld` script on any active scene GameObject. > If only one controller is being used to track the rotation mechanism, then the rotation will be based on the perpendicual (yaw) axis angular velocity of the tracking controller. > If both controllers are being used to track the rotation mechanism, then the rotation will be based on pushing one controller forward, whilst pulling the other controller backwards. ## Inspector Parameters * **Movement Activation Button:** The controller button to press to activate the movement mechanism. * **Movement Activation Requirement:** The controller(s) on which the activation button is to be pressed to consider the movement mechanism active. * **Movement Tracking Controller:** The controller(s) on which to track position of to determine if a valid move has taken place. * **Movement Multiplier:** The amount to multply the movement by. * **Movement Position Lock:** The axes to lock to prevent movement across. * **Rotation Activation Button:** The controller button to press to activate the rotation mechanism. * **Rotation Activation Requirement:** The controller(s) on which the activation button is to be pressed to consider the rotation mechanism active. * **Rotation Tracking Controller:** The controller(s) on which to determine how rotation should occur. `BothControllers` requires both controllers to be pushed/pulled to rotate, whereas any other setting will base rotation on the rotation of the activating controller. * **Rotation Multiplier:** The amount to multply the rotation angle by. * **Rotation Activation Threshold:** The threshold the rotation angle has to be above to consider a valid rotation amount. * **Scale Activation Button:** The controller button to press to activate the scale mechanism. * **Scale Activation Requirement:** The controller(s) on which the activation button is to be pressed to consider the scale mechanism active. * **Scale Tracking Controller:** The controller(s) on which to determine how scaling should occur. * **Scale Multiplier:** The amount to multply the scale factor by. * **Scale Activation Threshold:** The threshold the distance between the scale objects has to be above to consider a valid scale operation. * **Minimum Scale:** the minimum scale amount that can be applied. * **Maximum Scale:** the maximum scale amount that can be applied. * **Controlling Transform:** The transform to apply the control mechanisms to. If this is left blank then the PlayArea will be controlled. * **Use Offset Transform:** Uses the specified `Offset Transform` when dealing with rotational offsets. * **Offset Transform:** The transform to use when dealing with rotational offsets. If this is left blank then the Headset will be used as the offset. ## Class Variables * `public enum ActivationRequirement` - The controller on which to determine as the activation requirement for the control mechanism. * `LeftControllerOnly` - Only pressing the activation button on the left controller will activate the mechanism, if the right button is held down then the mechanism will not be activated. * `RightControllerOnly` - Only pressing the activation button on the right controller will activate the mechanism, if the left button is held down then the mechanism will not be activated. * `LeftController` - Pressing the activation button on the left controller is all that is required to activate the mechanism. * `RightController` - Pressing the activation button on the right controller is all that is required to activate the mechanism. * `EitherController` - Pressing the activation button on the either controller is all that is required to activate the mechanism. * `BothControllers` - Pressing the activation button on both controllers is required to activate the mechanism. * `public enum TrackingController` - The controllers which to track when performing the mechanism. * `LeftController` - Only track the left controller. * `RightController` - Only track the right controller. * `EitherController` - Track either the left or the right controller. * `BothControllers` - Only track both controllers at the same time.