diff --git a/direct/src/directtools/DirectCameraControl.py b/direct/src/directtools/DirectCameraControl.py index 00f7cc2b82..74d54bd8ee 100644 --- a/direct/src/directtools/DirectCameraControl.py +++ b/direct/src/directtools/DirectCameraControl.py @@ -28,7 +28,7 @@ class DirectCameraControl(PandaObject): ['c', self.centerCamIn, 0.5], ['f', self.fitOnWidget], ['h', self.homeCam], - ['i', self.toggleMarkerVis], + ['V', self.toggleMarkerVis], ['m', self.moveToFit], ['n', self.pickNextCOA], ['u', self.orbitUprightCam], diff --git a/direct/src/directtools/DirectManipulation.py b/direct/src/directtools/DirectManipulation.py index b8de08867e..edeac68c7b 100644 --- a/direct/src/directtools/DirectManipulation.py +++ b/direct/src/directtools/DirectManipulation.py @@ -32,7 +32,7 @@ class DirectManipulationControl(PandaObject): [',', self.objectHandles.multiplyScalingFactorBy, 0.5], ['<', self.objectHandles.multiplyScalingFactorBy, 0.5], ['F', self.objectHandles.growToFit], - ['P', self.plantSelectedNodePath], + ['i', self.plantSelectedNodePath], ] def manipulationStart(self): diff --git a/direct/src/doc/DIRECT-hotkeys b/direct/src/doc/DIRECT-hotkeys deleted file mode 100644 index 44b5c17346..0000000000 --- a/direct/src/doc/DIRECT-hotkeys +++ /dev/null @@ -1,59 +0,0 @@ -# UNDO/REDO -[ undo -] redo - -# CAMERA MOVES -+ zoomCam in -- zoomCam out -1 front view -2 back view -3 right view -4 left view -5 top view -6 bottom view -7 3/4 view -8 roll view -9 swing camera about hot point -0 swing camera about hot point -c center on hot point -f fit on hot point -h move camera to home (0,0,0) -u orbit upright cam about hot point -U upright cam -` kill camera move task - -# RENDER STYLE -A show all -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 -F grow widget to fit current view -m move widget in front of camera -p plant selected object at cursor intersection point -s (re)select last selected object -v toggle widget visability -tab toggle widget mode (move objects or set center of action) -< 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 - - - - -================================================== diff --git a/direct/src/doc/howto.DIRECT b/direct/src/doc/howto.DIRECT new file mode 100644 index 0000000000..bd5f4272c0 --- /dev/null +++ b/direct/src/doc/howto.DIRECT @@ -0,0 +1,169 @@ + 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). +Object's are selected by clicking on the 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 towards camera + 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). + +Window is divided up into three regions: an outer frame, central region, and +the four corners. Camera manipulation depends on where mouse interaction +begins. + +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. The COA is set every + time you press 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, no change in the COA + will result). 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) +u orbit upright cam about hot point +U upright cam +` kill camera move task + +# RENDER STYLE +A show all +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 +