FGCamera: Difference between revisions
Jump to navigation
Jump to search
m (→Controls: ...and so do the arrow keys ;-)) |
|||
Line 248: | Line 248: | ||
* {{progressbar|20}} Dynamic view movement; | * {{progressbar|20}} Dynamic view movement; | ||
* {{progressbar|40}} Random camera movement (effects); | * {{progressbar|40}} Random camera movement (effects); | ||
* {{ | * {{progressbar|70}} <s>Alternative config (presets) that supports "keyboard+mouse" flight controls;</s> modifying the script to fully support "keyboard+mouse" flight controls; | ||
* {{done}} View Categories; | * {{done}} View Categories; | ||
* {{done}} Making view name popup-tips optional (customizable for each view); | * {{done}} Making view name popup-tips optional (customizable for each view); |
Revision as of 14:24, 10 October 2014
Started in | 03/2014 |
---|---|
Description | Alternate Camera Manager System |
Contributor(s) |
|
Status | Under active development as of 08/2014 |
FGCamera is an alternative FlightGear view system that adds features similar to „EZdok Camera Addon“ for Flight Simulator X. FGCamera is written in Nasal.
Currently available features:
- 4 camera types:
- Virtual cockpit,
- Aircraft (look-at),
- Aircraft (look-from),
- World (look-from);
- Arbitrary number of preset views;
- Smooth/discrete transition between the views of the same camera type.
Download link / Installation
- Download fgcamera_v1_1.rar
- Delete (if exist) FG HOME/aircraft-data/FGCamera;
- Delete (if exist) FG ROOT/Nasal/fgcamera;
- Copy fgcamera folder (from downloaded archive) to FG ROOT/Nasal;
- Use FG ROOT/Nasal/fgcamera/fgcamera_cfg as config. If you use fgrun, open advanced settings, go to "General" and select config path (point to fgcamera_cfg.xml)
User Interface
Graphical user interface is used to create and manage camera views. FGCamera dialogs can be launched using menubar item View/FGCamera (experimental).
Currently, there are three functional dialogs:
- Main,
- Camera creation,
- Current camera settings.
Main Dialog
- "Options" button opens FGCamera's global settings dialog. This dialog is currently non functional.
- "Copy" button creates a copy of currently selected camera view,
- "Create new camera..." button opens new camera creation dialog.
- The list of cameras shows all the camera views that are created for the currently selected aircraft. Each camera view has its own index. The active view (currently selected view) is marked by square brackets. Category of each camera is displayed as a suffix in square brackets.
- The active view can be renamed using input box below the list of cameras. The second input box is used to define view category.
- Buttons "U" and "D" are used to rearrange camera views.
- "Del" button removes the active camera.
- "Save" button saves all the cameras data to disk.
- "Close" closes the dialog (changes will not be saved to disk).
Camera Creation Dialog
- "Camera type" popup list is used to select camera type. Supported types:
- cockpit,
- aircraft (look at),
- aircraft (look from),
- world (look from);
- "Create" – creates new camera view and selects it as an active camera.
- "Cancel" – closes the dialog.
"Current camera settings" Dialog
- Show popupTip - if selected, shows view name when the camera is selected;
- Show dialog - if selected, shows preferred GUI dialog when the camera is selected;
- FOV – field of view;
- View movement – group of inputs that controls view movement between preset views:
- Transition time – time to move camera from current position to preset position.
- View adjustment – group of inputs that controls view adjustment behavior:
- Linear velocity – translational velocity of camera in meters per second,
- Angular velocity – angular velocity of camera in degrees per second.
- Lowpass filter – "smoothness" of the camera movement.
- Mouse look – group of inputs that controls mouse look behaviour:
- Mouse sensitivity – self explanatory,
- Lowpass filter – "smoothness" of the camera movement.
- "Apply" saves current camera position (does not write to disk).
- "Cancel" – closes the dialog (current camera position will not be saved).
Controls
Preconfigured keys
- select preset views: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.
- adjust camera position: ↑, ↓, ←, →, Page Up, Page Down.
- cycle through categories: ⇧ Shift + ↑, ⇧ Shift + ↓.
- cycle through views in category: ⇧ Shift + ←, ⇧ Shift + →.
Note to People using keyboard to fly (with or without mouse): throttle keys aren't working with the camera if default FGCamera key assignments are used |
Key assignments can be customized by editing FGROOT/Nasal/fgcamera/fgcamera_cfg.xml
Commands
Current version of FGCamera has the following commands:
- fgcamera-select - selects camera by index. If the camera does not exist, switches to camera 0;
- fgcamera-adjust - adjusts view position and orientation;
- fgcamera-next-category - cycles to next view category;
- fgcamera-prev-category - cycles to previous view category;
- fgcamera-next-in-category - cycles to next view in currently selected category;
- fgcamera-prev-in-category - cycles to previous view in currently selected category;
- fgcamera-reset-view - resets currently selected camera's position and orientation.
fgcamera-select
Uses two arguments:
- camera-id - integer number (camera-id ≥ 0);
- camera-type - currently non-functional, suggested value is "aircraft".
Keyboard binding example:
<key n="48">
<name> 0 </name>
<repeatable type="bool">false</repeatable>
<desc>Preset view 0</desc>
<binding>
<command>fgcamera-select</command>
<camera-id>0</camera-id>
<camera-type>aircraft</camera-type>
</binding>
</key>
fgcamera-adjust
Uses two arguments:
- velocity - camera movement velocity. Recommended values -1, 0, 1;
- dof - affected degree of freedom. Valid values:
- x - left/right,
- y - up/down,
- z - back/forward,
- h - heading,
- p - pitch,
- r - roll.
Keyboard binding example:
<key n="360">
<name> PageUp </name>
<desc>Camera Up</desc>
<binding>
<command>fgcamera-adjust</command>
<velocity>1</velocity>
<dof>y</dof>
</binding>
<mod-up>
<binding>
<command>fgcamera-adjust</command>
<velocity>0</velocity>
<dof>y</dof>
</binding>
</mod-up>
</key>
Joystick POV hat binding example:
<axis>
<number><windows>6</windows></number>
<desc>View Direction</desc>
<low>
<binding>
<command>fgcamera-adjust</command>
<velocity>1</velocity>
<dof>h</dof>
</binding>
<mod-up>
<binding>
<command>fgcamera-adjust</command>
<velocity>0</velocity>
<dof>h</dof>
</binding>
</mod-up>
</low>
<high>
<binding>
<command>fgcamera-adjust</command>
<velocity>-1</velocity>
<dof>h</dof>
</binding>
<mod-up>
<binding>
<command>fgcamera-adjust</command>
<velocity>0</velocity>
<dof>h</dof>
</binding>
</mod-up>
</high>
</axis>
fgcamera-next-category
Binding example:
<!-- ... -->
<binding>
<command>fgcamera-next-category</command>
</binding>
<!-- ... -->
fgcamera-prev-category
Binding example:
<!-- ... -->
<binding>
<command>fgcamera-prev-category</command>
</binding>
<!-- ... -->
fgcamera-next-in-category
Binding example:
<!-- ... -->
<binding>
<command>fgcamera-next-in-category</command>
</binding>
<!-- ... -->
fgcamera-prev-in-category
Binding example:
<!-- ... -->
<binding>
<command>fgcamera-prev-in-category</command>
</binding>
<!-- ... -->
fgcamera-reset-view
Binding example:
<!-- ... -->
<binding>
<command>fgcamera-reset-view</command>
</binding>
<!-- ... -->
Development status (Oct 2014)
- Dynamic view movement;
- Random camera movement (effects);
-
Alternative config (presets) that supports "keyboard+mouse" flight controls;modifying the script to fully support "keyboard+mouse" flight controls; - Done View Categories;
- Done Making view name popup-tips optional (customizable for each view);
- Done Each camera view can open GUI dialog;
- Ability to load older version cameras (backward compatibility).