5/25/01 DIRECT **************************************************************************** STARTING DIRECT **************************************************************************** # IN YOUR CONFIGRC want-directtools #t want-tk #t # Optional: GL allows lines of different widths load-display pandagl # IN PYTHON from ShowBaseGlobal import * **************************************************************************** OBJECT MANIPULATION **************************************************************************** All object manipulation is performed with left mouse button (LMB). Objects are selected by clicking on them with the LMB. Objects can be manipulated freely, or manipulation can be constrained using DIRECT widgets. Rotations and scales are relative to the object's Center of Action (COA). If widget is made visible ('v' key), this is the point of intersection of the three axes (red, green, blue lines). FREE MANIPULATION: For free manipulation, the window is divided up into three regions: an outer frame, central region, and the four corners. Object manipulation depends on where mouse interaction begins. Central Region: LMB: Up/Down/Left/Right: Moves object in plane parallel to camera's image plane Shift + LMB: Up/Down: Moves object's COA in camera's XY plane Left/Right: Moves object parallel to camera's X axis Control + LMB: Up/Down: Moves object's COA toward Camera (in Y and Z) Left/Right: Moves object parallel to camera's X axis Alt + LMB (off of widget): Away from COA: scale object up Towards COA: scale object down Outer Region: LMB: Up/Down/Left/Right: Rotates object about current COA (default is model's origin, modified using manipulation widget...see below). If mouse stays within outer frame, motion about COA is constrained to a single axis. (parallel to camera's X axis when in left and right part of the frame and parallel to the camera's Z axis when in the top or bottom part of the frame) Four corners: LMB: Up/Down/Left/Right: Roll object about current center of action. CONSTRAINED/WIDGET MANIPULATION: For constrained/widget manipulation, object motion depends on where the mouse begins: Axis lines: 1D translation along the chosen axis Rotation rings: 1D rotation about orthogonal axis Translation discs: 2D translation in the plane of the disc Pressing 'Tab' toggles between object manipulation or COA manipulation (indictated by widget lines turning grey). When in COA manipulation mode, movement of the widget does not move the object but changes the object's COA. Hit 'Tab' again to return to normal object manipulation mode. **************************************************************************** CAMERA MANIPULATION **************************************************************************** All camera manipulation performed with middle mouse button (MMB). Camera manipulation depends on where mouse interaction begins and the current center of action (COA). The window is divided up into three regions: an outer frame, central region, and the four corners. A different manipulation mode is defined for each region and is described below. The camera center of action (COA) determines the center of rotation of any rotation moves and the scale factor for any translation moves. The COA is set by quickly clicking (less than .25 second or 1 frame) with the MMB in the central region. It is defined as the intersection point of the ray from the camera's origin, through the mouse with the model. If no intersection occurs, the COA is put out along the camera's Y axis. Each time the MMB is clicked with no intersection the COA moves further out along the Y axis. Pressing 'L' toggles COA lock, when on, the COA is locked in its current location. Central Region: MMB: Up/Down: Moves camera towards mouse intersection point Left/Right: Yaws camera Control + MMB: Up/Down: Moves camera along view vector (perpendicular to image plane) Left/Right: Yaws camera Shift + MMB: Up/Down/Left/Right: shifts camera in image plane Outer Region: MMB: Up/Down/Left/Right: Rotates about current COA. If mouse stays within outer frame, motion about COA is constrained to a single axis. (parallel to camera's X axis when in left and right part of the frame and parallel to the camera's Z axis when in the top or bottom part of the frame) Shift + MMB: Up/Down: Pitch about camera's X axis Left/Right: Yaw about camera's Z axis Four corners: MMB: Up/Down/Left/Right: Roll about current center of action. The number keys and plus minus keys can be used for motion relative to the COA (see hot keys below) **************************************************************************** HOTKEYS **************************************************************************** # UNDO/REDO [ undo ] redo # CAMERA MOVES + zoomCam in - zoomCam out 1 front view (render relative) 2 back view (render relative) 3 right view (render relative) 4 left view (render relative) 5 top view (render relative) 6 bottom view (render relative) 7 3/4 view (render relative) 8 roll view about axis relative to camera's axis 9 swing camera about hot point (about render's Z axis) 0 swing camera about hot point (about render's Z axis) c center on hot point f fit on hot point h move camera to home (0,0,0) L toggle hot point lock (if set, hot point stays in current location) n select next possible camera COA (along last intersection ray) u orbit upright cam about hot point U upright cam ` kill camera move task # RENDER STYLE A show all control-f flash selected b toggle backface l toggle lights t toggle texture w toggle wireframe # DIRECT CONTROLS delete delete selected object escape deselect all page_down move down selected objects hierarchy page_up move up selected objects hierarchy tab toggle widget mode (move objects or set center of action) F grow widget to fit current view i plant selected object at cursor intersection point m move widget in front of camera p set active parent to selected object r wrt reparent selected to active parent R reparent selected to active parent s (re)select last selected object v toggle widget visibility V toggle COA marker visibility < shrink widget > expand widget # LEVEL EDITOR insert add new object of current object type space add exact copy of current object right move selected object right (in screen space) left move selected object left (in screen space) down move selected object down (in screen space) up move selected object up (in screen space) a auto position snap point to selected object j move selected object to snap point shift-s place suit point shift-c place battle cell # ROBOT TOON MANAGER f9 take screenshot f10 place new random robot toon f11 toggle visibility of render2d