Training Builder

VR Training Builder allows users to create interactive environments inside the VR Viewer. It can integrate several inputs with built in functions in order to generate desirable reactions. For example when the VR viewer enters a specific area, an alarm sound plays. Inputs can take the form of a Scene State, an Animation Sequence, a Scene Object, or an Action. Functions include events and responses that are logically combined using Boolean operations. For ease of  use, functions are created using diagrams of smart blocks and connections that link the corresponding components together in a visual scripting manner.
Getting Started
When a user selects the “Training Builder” option from the “VR Workbench” ribbon, the dialog box shown below will appear.  It contains the following options:
1) the current/selected Diagram.
2) create a new diagram.
3) edit Variables and initial values.
4) remove selected diagram.
5) all needed Inputs, events and responses functions and Boolean operations.
6) Unlimited work area.
7) Help.
To better understand this system, it should be read as an "If-then" statement. The user can add nodes, events, response functions and Boolean operations by clicking on them or by dragging and dropping into the work area. The connection lines define the information flow of inputs-blocks-events.
Inputs list
Events List
Responses List
Booleans List
Scene Start
Apply Scene State
Variable Equals String
Scene State
Scene State Applied
Play Sequence
Objects Overlap
Scene Node (object)
Sequence Ended
Stop Sequence
Object is Grabbed
Node Entered Node
Glow Object
And Operation
Node Exited Node
Unglow Object
Or Operation
Node Triggered
Teleport to Camera
Not Operation
Node Grab Started
Show Message Box
Node Grab Ended
Change Node Action
Change Node Grabable State
Change Variable Value
Sound Action
Video Action
Point To Object
Remove Point To Object
1. Lets make a simple exercise using the Training Builder. The main aim of the exercise is to run an alarm system (light and buzzer) when the Viewer enters a specific area. To do so, we need to select "Node Entered Node" from Events. Then we add two nodes from the “Inputs” box: The first one is for the user, and the second is for the specific area.
2. Select the Viewer Start Position from the objects tree or directly from 3d area and press on this icon to pick it into the first node, and select the specific area (you can make a specific area by create a box and make Alpha value equal zero for its material) and pick it into the second node.
3. To connect the two nodes with "Node Entered Node" event just hold press on the red point from first node and drop it in the "SceneNodeA" red point in "Node Entered Node" event, and the second node with the "SceneNodeB" red point as shown in the image below.
4. The two nodes are connect with the "Node Entered Node" event as shown below.
5. Now we need to add two different response functions: "Play Sequence" to start the light animation (you need to create an animation sequence before) and "Play Sound" for buzzer, also add two inputs "Sequence" and "Sound File" to pick the light animation and the buzzer sound effect files on them. Connect these inputs blocks with response functions, and "Node Entered Node" event with these two response functions by the same way in the step 3.
  • In edit variables and initial values dialog below, user can define infinite number of variable and get a values for them, the variable values must begin with letters and can only contain letters, numbers and underscores, These variables can be used to maintain certain conditions such as the status of doors (closed/open) windows, garage (empty/busy), engine (working/not working) and many similar examples, then these variables can changes with event functions into VR Viewer. 
The video below shows an example of using VR Training Builder.