Navigation and Object Manipulation

The keyboard and/or the mouse can be used to nagivate in the 3D world, and to choose and manipulate objects. Each Canvas View has its own configurable mouse & keyboard controls. This means that in one view, the mouse may be in navigation mode, while another view may be in a 'pick' mode.

Navigate Mode

When the navigate button is toggled 'on' (the default), the mouse and/or keyboard navigate the user. The mouse and keyboard can be used separately or together to enhance navigation.

Mouse Navigate

Button Left/Right Motion Forward/Backward Motion
left look left/right move forward/backward
middle* tilt around Z axis** OR orbit Y axis look up/down OR orbit X axis
right move left/right move up/down

The arrow keys UP/DOWN and LEFT/RIGHT are equivalent to moving the mouse in those directions. Pressing the CTRL key with arrow keys equates to mouse motion with the middle button. Pressing the ALT key equates to the right mouse button.

Navigate Keyboard Equivalents

Key Option Left/Right Arrow Up/Down Arrow
none look left/right move forward/backward
Ctrl* tilt around Z axis** OR orbit Y axis look up/down OR orbit X axis
Alt move left/right move up/down

* Orbit mode is selected in the Properties View (INPUT_USE_ORBIT) for each Canvas View. If there is a currently selected object in the Scenegraph View when orbiting, the orbit takes place around the selected object. Otherwise, the orbit takes place around the world origin (0,0,0).

** By default , rotation around Z axis is disabled through the nested property TRANSFORM --> ROTATION_FACTORS. To activate it, change the Z rotation to a value other than zero (e.g. 1).

Pick Modes

When not in navigate mode, the mouse and keyboard are used to pick and manipulate object in the scene, according to one of the four selected pick modes.
The simplest pick mode is Pick Only , used only for selecting an object in the scene using the mouse and clicking. Mouse motion with buttons has no effect.

The other pick modes are described below. For each mode, the keyboard equivalents described above apply:

Pick Move

Button Left/Right Motion Forward/Backward Motion
left move left/right move forward/backward
middle n/a n/a
right move left/right move up/down

Pick Rotate

Button Left/Right Motion Forward/Backward Motion
left rotate around Y axis rotate around X axis
middle n/a n/a
right rotate around Z axis n/a

Pick Navigate

Button Left/Right Motion Forward/Backward Motion
left rotate left/right move forward/backward
middle rotate around Z axis rotate around X axis
right move left/right move up/down

Pick Scale

Button Left/Right Motion Forward/Backward Motion
left scale along X axis n/a
middle n/a scale along Y axis
right n/a scale along Z axis

Hint: Keyboard arrows are accelerated with time--the longer you hold a particular key pressed, the faster the movement becomes. Use the keyboard to navigate or manipulate objects over greater distances, and then use the mouse to fine-tune object placement.

Hint: Each View has a property called INPUT_AUTO_MOUSE_MODE (no activated by default), which, when activated, will attempt to automatically switch between navigation mode, and the last pick mode used (e.g pick-translate, pick-rotate, etc.). If the user clicks on an object, this pick mode is switched on. If the user clicks onto the window where there is no onbject, navigation mode is switched on.

Lock/unlock Children

This toggle button controls whether or not the child nodes of a root node can be selected. When children are "locked", clicking with the mouse on a (pickable) object in the Canvas View will effectively select its root parent node in the Scenegraph View.

For example, this is helpful in cases where there is a hierarchal model (e.g. human figure with head, torso, appendages, etc.) and the user wishes to move the whole figure. When the children are 'locked', clicking on any part of the figure's body will select the whole figure. When children are not locked, only the clicked element is selected. The same behavior can be acheived by changing the property MOUSE_SELECTABLE to 'false' on all children of the root object.