3D Touch Simulator | Simulates a 3D Touch device to interact with Interaction Nodes. |
The 3D Touch Simulator is able to produce Touch Events on Interaction Nodes. It is placed and rotated in 3D space with the help of Axes and triggers the Touch Events of objects that have an Interaction Node in front. To do this it provides several different Touch Methods, like a volume trigger or an infinitely long ray. The 3D Touch Simulator is used very similar to the Tracked Vive Controller Node.
The 3D Touch Simulator can be used to either trigger Touch Events with your Scene's logic or to build a VR Scene with 3D Controllers without having the Equipment yet.
In order to use the Touch Simulator you will need to place it in 3D space in your Scene simply by using Axis Nodes. Define an Id that should be used to reference this Node with a Draw Touch Ray Node. It can be used to visualize the Ray it is casting in the respective Touch Modes.
Like with the Tracked Controller the Draw Touch Ray Node will search for the 3D Touch Simulator Node with the same Id and visualize its Touch Method with the chosen DrawTouch property group. The Cube Node in the screenshot is used to visualize the Controller itself but you can use any other Geometry as well.
By default the Id is set to 10. This is to prevent conflicts with VR-Controllers, since these real controllers already have Id's assigned.
The TouchGroups property defines to which Touch Groups this Node should generate Touch Events.
The TouchMethod defines which part of the controller interacts with the Interaction Nodes.
Touch Method | Behavior |
None | The interaction of the controller is disabled |
Volume | The controller itself has to intersect with the volume of the touchable object |
Infinite Ray | An infinitely long, straight ray |
Limited Ray | A straight ray that can be limited in world space with the TouchRange property |
Parabolic Ray | A ray that can be limited in world space with the TouchRange property and that is affected by Gravity - changeable with TouchGravity |
TouchTrigger represents whether the Touch Event just hovers (false) over the Objects or if it presses (true) them. The Outputs reflect the current state: TriggerPressed shows whether the trigger is currently hovering or pressed. TriggerBegin and TriggerEnd are fired in the moment the trigger was pressed down and released respectively. Basically, the TouchTrigger behaves like the Left Mouse Button and can be used to simulate it.
The Client Mode allows for Clustering with 3D Touch. When turned on the Touch Simulator will listen to TUIO Events coming from a Touch Master with the same Controller Id. The Id can be taken from a Tracked Vive Controller Node or a 3D Touch Simulator with the Client Mode turned off. The 3D Touch Simulator will adjust its World Matrix according to the TUIO Inputs allowing for listening to the exact position, rotation and scaling of the Controller on the Touch Master and replicate that on a second machine - e.g. a machine showing the VR Interactions from 3rd person perspective on a big video wall.
Note that the 3D Touch Simulator will not generate any Touch Events while in Client Mode.