13,212
edits
(→"Current camera settings" Dialog: updating to v1.1) |
m (Very minor layout change; +-cat: FlightGear add-ons → FlightGear addons) |
||
(31 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{WIP}} | |||
{{See also|FGCamera API}} | |||
{{infobox subsystem | {{infobox subsystem | ||
<!-- | <!-- | ||
Line 14: | Line 16: | ||
{{#ev:youtube|DMZB7QXpR9I|400|right|FGCamera v1.0 in action}} | {{#ev:youtube|DMZB7QXpR9I|400|right|FGCamera v1.0 in action}} | ||
'''FGCamera''' is an alternative FlightGear view system that adds features similar to | '''FGCamera''' is an alternative FlightGear view system, written in Nasal, that adds features similar to [http://www.ezdok-software.com/ EZdok Camera Addon] for Flight Simulator X. | ||
'''Currently available features:''' | '''Currently available features:''' | ||
Line 26: | Line 28: | ||
== Download link / Installation == | == Download link / Installation == | ||
# [https://drive.google.com/file/d/ | {{caution|create backup copies before overwriting.}} | ||
# [https://drive.google.com/file/d/0B7ZpQgmbsSZGY183eDJBdEpZYXM/view?usp=sharing Download fgcamera_v1_2.zip] | |||
# Delete (if exist) FG HOME/aircraft-data/FGCamera; | # Delete (if exist) FG HOME/aircraft-data/FGCamera; | ||
# Delete (if exist) FG ROOT/Nasal/fgcamera; | # Delete (if exist) FG ROOT/Nasal/fgcamera; | ||
# Copy fgcamera folder (from downloaded archive) to FG ROOT/Nasal; | # Copy fgcamera folder (from downloaded archive) to FG ROOT/Nasal; | ||
# Copy modified mice.xml from "FG ROOT/nasal/fgcamera" to "FG ROOT/"; | |||
# 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) | # 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) | ||
{{note|make sure that ''File>Input Configuration>Click right mouse to cycle mouse behaviour'' (FG menu) is selected}} | |||
{{note| FGCamera uses dedicated views with names "FGCamera1", "FGCamera2", "FGCamera3", "FGCamera4", "FGCamera5" with view numbers 120, 121, 122, 123, 124. | |||
Some aircraft models check for specific view name, and other check for specific view numbers. To be fully compatible with fgcamera, aircraft model should check the property "/sim/current-view/internal" instead of view name or view number.}} | |||
Current (development) version of FGCamera can be downloaded [https://drive.google.com/open?id=0B7ZpQgmbsSZGNkJOYzZFb1RZUnc here] | |||
== User Interface == | == User Interface == | ||
Line 89: | Line 98: | ||
* select preset views: {{key press|1}}, {{key press|2}}, {{key press|3}}, {{key press|4}}, {{key press|5}}, {{key press|6}}, {{key press|7}}, {{key press|8}}, {{key press|9}}, {{key press|0}}. | * select preset views: {{key press|1}}, {{key press|2}}, {{key press|3}}, {{key press|4}}, {{key press|5}}, {{key press|6}}, {{key press|7}}, {{key press|8}}, {{key press|9}}, {{key press|0}}. | ||
* adjust camera position: {{key press| | * adjust camera position: {{key press|up}}, {{key press|down}}, {{key press|left}}, {{key press|right}}, {{key press|Page Up}}, {{key press|Page Down}}. | ||
{{note|'''to People using keyboard to fly (with or without mouse):''' throttle keys aren't working with the camera }} | * cycle through categories: {{key press|Shift}} + {{key press|up}}, {{key press|Shift}} + {{key press|down}}. | ||
* cycle through views in category: {{key press|Shift}} + {{key press|left}}, {{key press|Shift}} + {{key press|right}}. | |||
{{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'' | Key assignments can be customized by editing ''FGROOT/Nasal/fgcamera/fgcamera_cfg.xml'' | ||
=== Commands === | === Commands === | ||
Current version of FGCamera has | 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-select'' - selects camera by index. If the camera does not exist, switches to camera 0; | ||
* ''fgcamera-adjust'' - adjusts view position and orientation; | * ''fgcamera-adjust'' - adjusts view position and orientation; | ||
Line 192: | Line 205: | ||
==== fgcamera-next-category ==== | ==== fgcamera-next-category ==== | ||
Binding example: | |||
<syntaxhighlight> | |||
<!-- ... --> | |||
<binding> | |||
<command>fgcamera-next-category</command> | |||
</binding> | |||
<!-- ... --> | |||
</syntaxhighlight> | |||
==== fgcamera-prev-category ==== | ==== fgcamera-prev-category ==== | ||
Binding example: | |||
<syntaxhighlight> | |||
<!-- ... --> | |||
<binding> | |||
<command>fgcamera-prev-category</command> | |||
</binding> | |||
<!-- ... --> | |||
</syntaxhighlight> | |||
==== fgcamera-next-in-category ==== | ==== fgcamera-next-in-category ==== | ||
Binding example: | |||
<syntaxhighlight> | |||
<!-- ... --> | |||
<binding> | |||
<command>fgcamera-next-in-category</command> | |||
</binding> | |||
<!-- ... --> | |||
</syntaxhighlight> | |||
==== fgcamera-prev-in-category ==== | ==== fgcamera-prev-in-category ==== | ||
Binding example: | |||
<syntaxhighlight> | |||
<!-- ... --> | |||
<binding> | |||
<command>fgcamera-prev-in-category</command> | |||
</binding> | |||
<!-- ... --> | |||
</syntaxhighlight> | |||
==== fgcamera-reset-view ==== | ==== fgcamera-reset-view ==== | ||
Binding example: | |||
<syntaxhighlight> | |||
<!-- ... --> | |||
<binding> | |||
<command>fgcamera-reset-view</command> | |||
</binding> | |||
<!-- ... --> | |||
</syntaxhighlight> | |||
== Replay timestamps == | |||
{{WIP}} | {{WIP}} | ||
[FGCamera v1.2.1] | |||
<syntaxhighlight> | |||
<PropertyList> | |||
<timestamp> | |||
... | |||
</timestamp> | |||
<timestamp> | |||
... | |||
</timestamp> | |||
... | |||
</PropertyList> | |||
</syntaxhighlight> | |||
<syntaxhighlight> | |||
<timestamp> | |||
<time-str>0:00.0</time-str> | |||
<jump-to>7:15.0</jump-to> <!-- optional --> | |||
<camera-id>0</camera-id> | |||
</timestamp> | |||
</syntaxhighlight> | |||
<syntaxhighlight> | |||
<timestamp> | |||
<time-str>0:00.0</time-str> | |||
<jump-to>5:25.8</jump-to> <!-- optional --> | |||
<click-camera> | |||
<latitude-deg>37.62122627018694</latitude-deg> | |||
<longitude-deg>-122.3981490730425</longitude-deg> | |||
<altitude-ft>27.42773406108862</altitude-ft> | |||
</click-camera> | |||
</timestamp> | |||
</syntaxhighlight> | |||
== Development status ( | == Development status (Apr 2015) == | ||
* {{progressbar| | * {{progressbar|60}} "AI/MP [[Scripted AI Missiles|Missile]] view" mode [http://forum.flightgear.org/viewtopic.php?f=27&t=24491]; | ||
* {{ | * {{progressbar|80}} Dynamic view movement; | ||
* {{ | * {{done}} Random camera movement (effects). Effects can be copied/pasted and imported from external files. New dialogs for RND effects management. | ||
* {{done}} <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); | ||
* {{done}} Each camera view can open GUI dialog; | * {{done}} Each camera view can open GUI dialog; | ||
* {{progressbar| | * {{progressbar|100}} Ability to load older version cameras (backward compatibility); | ||
* {{progressbar|40}} Each camera view can open 2d panel; | |||
* {{progressbar|40}} dedicated [[FGCamera API]] (e.g. for aircraft developers wanting to use fgcamera directly), intended to support versioning for stable APIs, without introducing regressions; | |||
* {{progressbar|80}} reimplement current FGCamera functionality using [[Property rules]] (reduce Nasal usage); | |||
== Gallery == | == Gallery == | ||
Line 225: | Line 312: | ||
{{#ev:youtube|x-JPzLox-gI|300}} | {{#ev:youtube|x-JPzLox-gI|300}} | ||
{{#ev:youtube|YUG7G0IMpXc|300}} | {{#ev:youtube|YUG7G0IMpXc|300}} | ||
{{#ev:youtube|xsnWJe_xUgw|300}} | |||
== Support == | == Support == | ||
Line 232: | Line 320: | ||
[[Category:Recording]] | [[Category:Recording]] | ||
[[Category:Nasal]] | [[Category:Nasal]] | ||
[[Category:FlightGear | [[Category:FlightGear addons]] |