FlightGear用の気泡六分儀
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
FlightGear用の気泡六分儀
msg# 1
toshi
投稿数: 1540
toshi です。
以前、hide さんが「Nasalを知ろう、使おう!」スレッドで航空機用六分儀の提案をされて、手探り航法・旅日記の記事「天測航法に挑む(前編)」「天測航法に挑む(後編)」でご自身でも天測航法に挑戦していらっしゃいましたよね。
この時は位置の精度が悪くて期待していたほどの結果が得られなかったようで、私も残念に思っていました。
ところが最近、FlightGear-devel メーリングリストに Anders Gidenstam が8/31付けで投稿した「Bubble sextant model for FlightGear (FlightGear 用の気泡六分儀モデル)」という記事を見ました。
同記事によると各種の機体モデルに六分儀を比較的簡単に組み込めるようです。
(スクリーンショット)
・http://www.gidenstam.org/FlightGear/Celestial_navigation_in_fgfs/fgfs-RAFmk9-506.jpg
・http://www.gidenstam.org/FlightGear/Celestial_navigation_in_fgfs/fgfs-RAFmk9-507.jpg
(ドキュメントとダウンロード)
・http://www.gidenstam.org/FlightGear/Celestial_navigation_in_fgfs/
六分儀のモデルの他、Boeing314とb29に六分儀を組み込むためのサンプルファイルと、マウスを微小に動かすためのファイルがdiff(差分)として提供されています。
ドキュメントをざっと読んだだけですが、結構面白そうです。
2つ以上の星の天体高度と正確な時刻が分かっていれば、六分儀での観測から自機の位置を計算できるそうです。
v1.0.0 で動作するのか、またどの程度の位置精度が得られるのかは不明なのですが、試してみる価値はありそうですので、挑戦してみた方がいらっしゃれば是非レポートをお願いします。
もしうまく動けば、夜間飛行時に自機の位置をロストしてやむなく道路に不時着して Atlas を開く、ということもなくなるかもしれませんね > hide さん
※気泡六分儀とは航空機用の六分儀のことで、航海用とは形が異なるそうです。
簡単な説明が山梨県立科学館のページ内の
http://www.kagakukan.pref.yamanashi.jp/space_the/060408vega.html
にあります。
以前、hide さんが「Nasalを知ろう、使おう!」スレッドで航空機用六分儀の提案をされて、手探り航法・旅日記の記事「天測航法に挑む(前編)」「天測航法に挑む(後編)」でご自身でも天測航法に挑戦していらっしゃいましたよね。
この時は位置の精度が悪くて期待していたほどの結果が得られなかったようで、私も残念に思っていました。
ところが最近、FlightGear-devel メーリングリストに Anders Gidenstam が8/31付けで投稿した「Bubble sextant model for FlightGear (FlightGear 用の気泡六分儀モデル)」という記事を見ました。
同記事によると各種の機体モデルに六分儀を比較的簡単に組み込めるようです。
(スクリーンショット)
・http://www.gidenstam.org/FlightGear/Celestial_navigation_in_fgfs/fgfs-RAFmk9-506.jpg
・http://www.gidenstam.org/FlightGear/Celestial_navigation_in_fgfs/fgfs-RAFmk9-507.jpg
(ドキュメントとダウンロード)
・http://www.gidenstam.org/FlightGear/Celestial_navigation_in_fgfs/
六分儀のモデルの他、Boeing314とb29に六分儀を組み込むためのサンプルファイルと、マウスを微小に動かすためのファイルがdiff(差分)として提供されています。
ドキュメントをざっと読んだだけですが、結構面白そうです。
2つ以上の星の天体高度と正確な時刻が分かっていれば、六分儀での観測から自機の位置を計算できるそうです。
v1.0.0 で動作するのか、またどの程度の位置精度が得られるのかは不明なのですが、試してみる価値はありそうですので、挑戦してみた方がいらっしゃれば是非レポートをお願いします。
もしうまく動けば、夜間飛行時に自機の位置をロストしてやむなく道路に不時着して Atlas を開く、ということもなくなるかもしれませんね > hide さん
※気泡六分儀とは航空機用の六分儀のことで、航海用とは形が異なるそうです。
簡単な説明が山梨県立科学館のページ内の
http://www.kagakukan.pref.yamanashi.jp/space_the/060408vega.html
にあります。
投票数:29
平均点:5.52
Re: FlightGear用の気泡六分儀
msg# 1.1
hide
居住地: 兵庫県
投稿数: 650
hideです。
toshiさん、凄いものをご紹介頂きまして、大変ありがとうございま
した。いやぁ…これはまさに、私が求めていた通りのものです!!
作られた方が、やはり世界中のどこかには、いたのですね。
この六分儀は天体の高度角しか測れないでしょうから、方位角も使う
私の簡易法よりも、かなり本格的な天測計算が必要になりそうですが、
ちょっとクラシックな洋上航法が、極めてリアルな形で可能になりそう
で、非常にわくわくしています。
○
さっそくダウンロードしまして、ブロンコ改にインストールを試みた
のですが、実はどうやって組み込めばいいのか、よく分かりませんでし
た。取りあえずReadmeを頼りに…
(1)解凍内容をAircraft/Instruments-3d/BubbleSextantフォルダへ。
(2)Models/USAFE/OV10.xmlに、READMEにある、以下の例文を挿入。
<!-- Star observer's instruments -->
<model>
<name>Bubble_sextant</name>
<path>Aircraft/Instruments-3d/BubbleSextant/RAF_Mk9_bubble
_sextant.xml</path>(長いので改行しています)
<offsets>
<x-m> 100.00 </x-m>
<y-m> 0.00 </y-m>
<z-m> 21.00 </z-m> ※(数値は適当に変更しています)
</offsets>
</model>
(3)OV10_USAFE-set.xmlに、READMEにある、以下の例文を挿入。
<nasal>
<RAFmk9sextant>
<file>Aircraft/Instruments-3d/BubbleSextant/RAF_Mk9_bubble
_sextant.nas</file>
<script>
var VIEW_NAME = "Star Observation View";
var STOWED = { position : {x:-0.3, y: 0.0, z: -0.2},
orientation : {heading : 320.0,
pitch : -45.0,
roll : 0.0}
};
</script>
</RAFmk9sextant>
</nasal>
…という操作を加えまして、※マークの数値を適当に変更したところ、
ブロンコの後席の、ちょうど副操縦士の顔の前あたりに、気泡六分儀を
出現させることができました。しかし(3)の内容は、六分儀の位置座
標も含んでいるようですので、一部(2)と矛盾します。またマウスや
Viewの設定も必要なので、少なくとも私の知識では、やはり差分ファイ
ルを使わないと、インストールは難しいようです。
その差分ファイルですが、不勉強にして使い方が分からずにいます。
恐縮ですが、Boeing314_add_sextant.diff と mice.xml.diff の取り扱
い方を、ご教示いただけましたら幸せです。
山梨県立科学館のHPは、私も拝見しました。この戦時中の、「銀河」
の天文航法の話は、プラネタリウムの番組の一つだったのですね。どう
いう種類の施設であれ、日本の航空機の天文航法を紹介するのは、非常
に珍しいことでしょうから、もし各地のプラネタリウムで上映されるの
なら、ぜひ観てみたいものです。
追伸:何かと忙しい上、先日は少々体調を崩して2日ほど入院し、なか
なかFlightGearを立ち上げる機会がありませんでしたが、この六分儀の
テストで Boeing314(クリッパー飛行艇)がさっそく必要になると思い
まして、今日インストールして、少しだけ飛ばしてみました。
舵の効きが鈍く、重くて慣性が大きく、あまり操縦しやすい機体とは言い
難いのですが、胴体上部の天測席を始め、機関士席や通信士席など、多数
のViewが設けられており、乗員は多いし内部は広いし、まさに「空飛ぶ船」
の貫禄があって、ちょっと面白い機体だと思いました。
toshiさん、凄いものをご紹介頂きまして、大変ありがとうございま
した。いやぁ…これはまさに、私が求めていた通りのものです!!
作られた方が、やはり世界中のどこかには、いたのですね。
この六分儀は天体の高度角しか測れないでしょうから、方位角も使う
私の簡易法よりも、かなり本格的な天測計算が必要になりそうですが、
ちょっとクラシックな洋上航法が、極めてリアルな形で可能になりそう
で、非常にわくわくしています。
○
さっそくダウンロードしまして、ブロンコ改にインストールを試みた
のですが、実はどうやって組み込めばいいのか、よく分かりませんでし
た。取りあえずReadmeを頼りに…
(1)解凍内容をAircraft/Instruments-3d/BubbleSextantフォルダへ。
(2)Models/USAFE/OV10.xmlに、READMEにある、以下の例文を挿入。
<!-- Star observer's instruments -->
<model>
<name>Bubble_sextant</name>
<path>Aircraft/Instruments-3d/BubbleSextant/RAF_Mk9_bubble
_sextant.xml</path>(長いので改行しています)
<offsets>
<x-m> 100.00 </x-m>
<y-m> 0.00 </y-m>
<z-m> 21.00 </z-m> ※(数値は適当に変更しています)
</offsets>
</model>
(3)OV10_USAFE-set.xmlに、READMEにある、以下の例文を挿入。
<nasal>
<RAFmk9sextant>
<file>Aircraft/Instruments-3d/BubbleSextant/RAF_Mk9_bubble
_sextant.nas</file>
<script>
var VIEW_NAME = "Star Observation View";
var STOWED = { position : {x:-0.3, y: 0.0, z: -0.2},
orientation : {heading : 320.0,
pitch : -45.0,
roll : 0.0}
};
</script>
</RAFmk9sextant>
</nasal>
…という操作を加えまして、※マークの数値を適当に変更したところ、
ブロンコの後席の、ちょうど副操縦士の顔の前あたりに、気泡六分儀を
出現させることができました。しかし(3)の内容は、六分儀の位置座
標も含んでいるようですので、一部(2)と矛盾します。またマウスや
Viewの設定も必要なので、少なくとも私の知識では、やはり差分ファイ
ルを使わないと、インストールは難しいようです。
その差分ファイルですが、不勉強にして使い方が分からずにいます。
恐縮ですが、Boeing314_add_sextant.diff と mice.xml.diff の取り扱
い方を、ご教示いただけましたら幸せです。
山梨県立科学館のHPは、私も拝見しました。この戦時中の、「銀河」
の天文航法の話は、プラネタリウムの番組の一つだったのですね。どう
いう種類の施設であれ、日本の航空機の天文航法を紹介するのは、非常
に珍しいことでしょうから、もし各地のプラネタリウムで上映されるの
なら、ぜひ観てみたいものです。
追伸:何かと忙しい上、先日は少々体調を崩して2日ほど入院し、なか
なかFlightGearを立ち上げる機会がありませんでしたが、この六分儀の
テストで Boeing314(クリッパー飛行艇)がさっそく必要になると思い
まして、今日インストールして、少しだけ飛ばしてみました。
舵の効きが鈍く、重くて慣性が大きく、あまり操縦しやすい機体とは言い
難いのですが、胴体上部の天測席を始め、機関士席や通信士席など、多数
のViewが設けられており、乗員は多いし内部は広いし、まさに「空飛ぶ船」
の貫禄があって、ちょっと面白い機体だと思いました。
投票数:24
平均点:3.75
Re: FlightGear用の気泡六分儀
msg# 1.1.1
sambar
居住地: 岡山
投稿数: 484
toshiさん、hideさん、こんばんわ。
diffファイルは、単にpatchコマンドを使用してください・・・
と言ってもWindowsには標準で含まれていないので、cygwinをインストールされていないなら[ur=http://unxutils.sourceforge.net/]GNU utilities for Win32[/url]をインストールしてください。
GNU utiities for Win32をC:\GNUにインストールしていて、FlightGearをC:\FlightGearにインストールしていると仮定して、mice.xmlを例にpatchの使用方法を簡潔に説明します。
1:コマンドプロンプトを開いて、以下のコマンドを入力してください。
#違うフォルダにインストールしている場合、適当に読み替えてください。
引用:
#実際のところ、Boeing314_add_sextant.diffをBoeing314-set.xmlとBoeing314A.xmlのどちらに当てるべきなのかは・・・私も分りません。
PS:入院ですか・・・お早い回復をお祈りします。お大事に。
私も夏風邪がなかなか治らないんですが、仕事の合間にコッソリと飛んだりAirRaceの新コースを作ろうと模索しています。
diffファイルは、単にpatchコマンドを使用してください・・・
と言ってもWindowsには標準で含まれていないので、cygwinをインストールされていないなら[ur=http://unxutils.sourceforge.net/]GNU utilities for Win32[/url]をインストールしてください。
GNU utiities for Win32をC:\GNUにインストールしていて、FlightGearをC:\FlightGearにインストールしていると仮定して、mice.xmlを例にpatchの使用方法を簡潔に説明します。
1:コマンドプロンプトを開いて、以下のコマンドを入力してください。
#違うフォルダにインストールしている場合、適当に読み替えてください。
引用:
cd C:\FlightGear\data
C:\GNU\patch mice.xml < mice.xml.diff
#実際のところ、Boeing314_add_sextant.diffをBoeing314-set.xmlとBoeing314A.xmlのどちらに当てるべきなのかは・・・私も分りません。
PS:入院ですか・・・お早い回復をお祈りします。お大事に。
私も夏風邪がなかなか治らないんですが、仕事の合間にコッソリと飛んだりAirRaceの新コースを作ろうと模索しています。
--
Powerd by Phenom X4_9350e, nVidia GeForce GTX550Ti,Linux(x86_64)
旧callsign=sambar
新callsign=JA26FB
投票数:26
平均点:3.85
Re: FlightGear用の気泡六分儀
msg# 1.1.1.1
toshi
投稿数: 1540
toshi です。
まずはdiffファイルの話から。
sambar さんの解説にあるように patch コマンドを使うのが正統な方法です。
ただし、変換前のファイルに既に手を加えてしまっており、変更箇所の行番号がオリジナルから変わってしまっている場合などには、patch コマンドでパッチをあてることが出来ないかもしれません。
また私の場合は、あまり複雑なパッチをあてる機会が無いので、手作業での修正で済ませてしまう場合ががほとんどです。
patch コマンドを使わずに手作業で修正するには、diff ファイルの行頭に注目し、いくつかのルールを知っておけば大丈夫かと思います。
mice.xml.diff を例にすると、こんな感じです。
引用:--- は修正前のファイルの情報です。
+++ は修正後のファイルの情報です。
これにより、修正すべきファイル名を確認できます。
引用:修正前のファイルでは50行目から6行分(-50,6)、修正後のファイルでは50行目から30行分(+50,30)に相当する部分の内容がこれ以降に記述されていることを表しています。
引用:行頭が半角スペースで始まる行は、変更する必要の無い行です。
引用:+で始まる行は、追加すべき行です。
-で始まる行は、削除すべき行です(この例にはありませんが)。
それから、私も六分儀アドオンのインストールに挑戦してみました。
私の場合は手堅くサンプルのある b29 に対してトライしたのですが、コンソール画面にエラーが表示されてしまいました。
1. FlightGear\data\Aircraft\Instruments-3d\BubbleSextant の中でpngファイルを使っている
→ v1.0.0 ではpngファイルに未対応のはずなので、ImageMagick に同梱のツールで rgbファイルに変換する事で回避できました。
2. 以下のNasal runtime error が発生する。
引用:→ これは、ちょっとまずい感じです。
今のところ、v1.0.0 で対応する方法は不明です。
もし対応できそうも無い場合は、
・cvs版の FlightGear を使う
・六分儀アドオンのサイトのoldディレクトリにある旧版を使う
のどちらかを選択することになるかと思います(どちらもまだ試したわけではありません)。
まずはdiffファイルの話から。
sambar さんの解説にあるように patch コマンドを使うのが正統な方法です。
ただし、変換前のファイルに既に手を加えてしまっており、変更箇所の行番号がオリジナルから変わってしまっている場合などには、patch コマンドでパッチをあてることが出来ないかもしれません。
また私の場合は、あまり複雑なパッチをあてる機会が無いので、手作業での修正で済ませてしまう場合ががほとんどです。
patch コマンドを使わずに手作業で修正するには、diff ファイルの行頭に注目し、いくつかのルールを知っておけば大丈夫かと思います。
mice.xml.diff を例にすると、こんな感じです。
引用:
--- mice.xml 1 Aug 2007 21:10:04 -0000 1.20
+++ mice.xml 30 Aug 2008 13:52:57 -0000
+++ は修正後のファイルの情報です。
これにより、修正すべきファイル名を確認できます。
引用:
@@ -50,6 +50,30 @@
引用:
current mode for each mouse is held in t
</binding>
</button>
引用:
+ <!-- Mouse left/right motion. -->
+ <x-axis>
+ <!-- Alt pressed: sextant control -->
+ <binding>
+ <command>nasal</command>
+ <script>
+ if (props.globals.getNode("/instrumentation/sextant/servicable") != nil)
+ RAFmk9sextant.mouseX();
+ </script>
+ </binding>
+ </x-axis>
+
+ <!-- Mouse up/down motion -->
+ <y-axis>
+ <!-- Alt pressed: sextant control -->
+ <binding>
+ <command>nasal</command>
+ <script>
+ if (props.globals.getNode("/instrumentation/sextant/servicable") != nil)
+ RAFmk9sextant.mouseY();
+ </script>
+ </binding>
+ </y-axis>
+
-で始まる行は、削除すべき行です(この例にはありませんが)。
それから、私も六分儀アドオンのインストールに挑戦してみました。
私の場合は手堅くサンプルのある b29 に対してトライしたのですが、コンソール画面にエラーが表示されてしまいました。
1. FlightGear\data\Aircraft\Instruments-3d\BubbleSextant の中でpngファイルを使っている
→ v1.0.0 ではpngファイルに未対応のはずなので、ImageMagick に同梱のツールで rgbファイルに変換する事で回避できました。
2. 以下のNasal runtime error が発生する。
引用:
RAF Mk9 bubble sextant ... initialized
Nasal runtime error: No such member: display
at C:/Program Files/FlightGear/data/Aircraft/Instruments-3d/BubbleSextant/RAF_
Mk9_bubble_sextant.nas, line 292
called from: C:/Program Files/FlightGear/data/Aircraft/Instruments-3d/BubbleSe
xtant/RAF_Mk9_bubble_sextant.nas, line 384
called from: C:/Program Files/FlightGear/data/Nasal/globals.nas, line 79
今のところ、v1.0.0 で対応する方法は不明です。
もし対応できそうも無い場合は、
・cvs版の FlightGear を使う
・六分儀アドオンのサイトのoldディレクトリにある旧版を使う
のどちらかを選択することになるかと思います(どちらもまだ試したわけではありません)。
投票数:24
平均点:5.42
Re: FlightGear用の気泡六分儀
msg# 1.1.1.1.1
sambar
居住地: 岡山
投稿数: 484
引用:注意書きをよく読むと、「FlightGear1.0.0では動作しない」旨と、「.pngを.rgbに変換して、"display"と書かれた行を全てコメントアウトすると動くかもしれない」旨書かれていました。
・・・ですが、私の場合はBoeing314は上手く行きませんでした。ただ単に、patchを正しく当てられていない可能性が大きいですけど。
時間があれば、もう一度Boeing314をダウンロードして、手動で修正したいと思います。
2. 以下のNasal runtime error が発生する。
引用:→ これは、ちょっとまずい感じです。RAF Mk9 bubble sextant ... initialized
Nasal runtime error: No such member: display
at C:/Program Files/FlightGear/data/Aircraft/Instruments-3d/BubbleSextant/RAF_
Mk9_bubble_sextant.nas, line 292
called from: C:/Program Files/FlightGear/data/Aircraft/Instruments-3d/BubbleSe
xtant/RAF_Mk9_bubble_sextant.nas, line 384
called from: C:/Program Files/FlightGear/data/Nasal/globals.nas, line 79
今のところ、v1.0.0 で対応する方法は不明です。
・・・ですが、私の場合はBoeing314は上手く行きませんでした。ただ単に、patchを正しく当てられていない可能性が大きいですけど。
時間があれば、もう一度Boeing314をダウンロードして、手動で修正したいと思います。
--
Powerd by Phenom X4_9350e, nVidia GeForce GTX550Ti,Linux(x86_64)
旧callsign=sambar
新callsign=JA26FB
投票数:26
平均点:5.00
Re: FlightGear用の気泡六分儀
msg# 1.1.1.1.1.1
toshi
投稿数: 1540
toshiです。
sambarさん、ご指摘ありがとうございました。
確かに、FlightGear v1.0.0 では簡単に動かすことはできなさそうですね。
工夫して動かす方法がもし見つかったらまたご報告します。
また、hideさんの最新投稿「天文航法でロビンソンの島へ(前編) 」を拝見しました。
マウスの視点移動時の分解能については、$FG_ROOT/mice.xml を改造することで、一応微調整ができるようになります。
ただし、私が試した方法にはちょっと癖があります。
Altキーを押しながらマウスを動かしたときの視点方向の変化量が1/10になるよう設定しようとしたのですが、実際には、Altキーを押しながら他の視点関連のキー(v/V やx/Xなど)を押したときに変化量が1/10になる、という挙動を示します。
ちょっと使いにくい方法ですが、もしよろしければお試しください。
ちなみに、操縦に関するマウス操作の分解能については、tetsuさんがかなり昔にお書きになった「マウスの操縦桿感度設定について」をご参照ください。
以下、$FG_ROOT/mice.xml の修正点を赤字で示します。
mice.xml 214行目付近 - x軸の設定
mice.xml 256行目付近 - y軸の設定
factorタグの値を変えると、もっと細かくすることができます。
sambarさん、ご指摘ありがとうございました。
確かに、FlightGear v1.0.0 では簡単に動かすことはできなさそうですね。
工夫して動かす方法がもし見つかったらまたご報告します。
また、hideさんの最新投稿「天文航法でロビンソンの島へ(前編) 」を拝見しました。
マウスの視点移動時の分解能については、$FG_ROOT/mice.xml を改造することで、一応微調整ができるようになります。
ただし、私が試した方法にはちょっと癖があります。
Altキーを押しながらマウスを動かしたときの視点方向の変化量が1/10になるよう設定しようとしたのですが、実際には、Altキーを押しながら他の視点関連のキー(v/V やx/Xなど)を押したときに変化量が1/10になる、という挙動を示します。
ちょっと使いにくい方法ですが、もしよろしければお試しください。
ちなみに、操縦に関するマウス操作の分解能については、tetsuさんがかなり昔にお書きになった「マウスの操縦桿感度設定について」をご参照ください。
以下、$FG_ROOT/mice.xml の修正点を赤字で示します。
mice.xml 214行目付近 - x軸の設定
<!-- Mouse left/right motion -->
<x-axis>
<!-- No buttons pressed: rotate the view left or right -->
<binding>
<condition>
<and>
<not>
<property>/devices/status/mice/mouse[0]/button[0]</property>
</not>
<not>
<property>/devices/status/mice/mouse[0]/button[1]</property>
</not>
<not>
<property>/devices/status/keyboard/alt</property>
</not>
</and>
</condition>
<command>property-adjust</command>
<property>/sim/current-view/heading-offset-deg</property>
<factor type="double">-360</factor>
<min type="double">0</min>
<max type="double">360</max>
<wrap type="bool">true</wrap>
</binding>
<!-- Alt pressed: rotate the view left or right precisely -->
<binding>
<condition>
<and>
<not>
<property>/devices/status/mice/mouse[0]/button[0]</property>
</not>
<not>
<property>/devices/status/mice/mouse[0]/button[1]</property>
</not>
<property>/devices/status/keyboard/alt</property>
</and>
</condition>
<command>property-adjust</command>
<property>/sim/current-view/heading-offset-deg</property>
<factor type="double">-36</factor>
<min type="double">0</min>
<max type="double">360</max>
<wrap type="bool">true</wrap>
</binding>
mice.xml 256行目付近 - y軸の設定
<!-- Mouse up/down motion -->
<y-axis>
<!-- No buttons pressed: tilt the view up and down -->
<binding>
<condition>
<and>
<not>
<property>/devices/status/mice/mouse[0]/button[0]</property>
</not>
<not>
<property>/devices/status/mice/mouse[0]/button[1]</property>
</not>
<not>
<property>/devices/status/keyboard/alt</property>
</not>
</and>
</condition>
<command>property-adjust</command>
<property>/sim/current-view/pitch-offset-deg</property>
<factor type="double">-180</factor>
<min type="double">-90</min>
<max type="double">90</max>
<wrap type="bool">false</wrap>
</binding>
<!-- Alt pressed: tilt the view up and down precisely -->
<binding>
<condition>
<and>
<not>
<property>/devices/status/mice/mouse[0]/button[0]</property>
</not>
<not>
<property>/devices/status/mice/mouse[0]/button[1]</property>
</not>
<property>/devices/status/keyboard/alt</property>
</and>
</condition>
<command>property-adjust</command>
<property>/sim/current-view/pitch-offset-deg</property>
<factor type="double">-18</factor>
<min type="double">-90</min>
<max type="double">90</max>
<wrap type="bool">false</wrap>
</binding>
投票数:32
平均点:5.00
Re: FlightGear用の気泡六分儀
msg# 1.1.1.1.1.1.1
hide
居住地: 兵庫県
投稿数: 650
hideです。
toshiさん。貴重なご教示を、大変ありがとうございました。
また分かりやすいご説明で助かりました。さっそくmice.xmlを
修正してみましたところ、HUD中央の◇マークが、するすると
太陽の中央に重なり、感激しました。
デフォルトではカーソルが、マウス1ドットあたり約6.6分
移動します。改造で移動量は10分の1になるので、約0.66分の
分解能となったわけですね。1ドットあたり1分未満なら実用
になりますので、このままでよろしいのですが、操作の滑らか
さを考えますと、もうひと声、分解能を上げてみようと思い、
移動量をデフォルトの40分の1にしました。とても快適です。
修正計算なしに、測定結果を直読できるのは嬉しいですし、
もちろん天体の照準作業自体が楽になります。これで実質的に
は、六分儀が使えるようになったのと、ほぼ同じですね。
toshiさん。貴重なご教示を、大変ありがとうございました。
また分かりやすいご説明で助かりました。さっそくmice.xmlを
修正してみましたところ、HUD中央の◇マークが、するすると
太陽の中央に重なり、感激しました。
デフォルトではカーソルが、マウス1ドットあたり約6.6分
移動します。改造で移動量は10分の1になるので、約0.66分の
分解能となったわけですね。1ドットあたり1分未満なら実用
になりますので、このままでよろしいのですが、操作の滑らか
さを考えますと、もうひと声、分解能を上げてみようと思い、
移動量をデフォルトの40分の1にしました。とても快適です。
修正計算なしに、測定結果を直読できるのは嬉しいですし、
もちろん天体の照準作業自体が楽になります。これで実質的に
は、六分儀が使えるようになったのと、ほぼ同じですね。
投票数:21
平均点:5.24
Re: FlightGear用の気泡六分儀
msg# 1.2
toshi
投稿数: 1540
toshiです。
2008-10-6付けの「Re: FlightGear用の気泡六分儀」の中で、ビューモード時のマウス操作でaltキーを押した時に視点方向が細かく動くように設定する方法をご紹介しましたが、v2.12では正常に動作しないとのご報告をhideさんより頂きました(参考: Ver.2.12で風景が進化)。
そこで、shiftキーを押したときに機能するように修正してみました。
mice.xml の302行目にある
</y-axis-ctrl>
の下に、青字の部分を追加してください。
factorの部分を初期値の1/36の値とすることで、shiftキーを押した時のマウスの視点方向の動きが36倍細かくなるようにしてありますので、お好みに応じて修正してください。
2008-10-6付けの「Re: FlightGear用の気泡六分儀」の中で、ビューモード時のマウス操作でaltキーを押した時に視点方向が細かく動くように設定する方法をご紹介しましたが、v2.12では正常に動作しないとのご報告をhideさんより頂きました(参考: Ver.2.12で風景が進化)。
そこで、shiftキーを押したときに機能するように修正してみました。
mice.xml の302行目にある
</y-axis-ctrl>
の下に、青字の部分を追加してください。
factorの部分を初期値の1/36の値とすることで、shiftキーを押した時のマウスの視点方向の動きが36倍細かくなるようにしてありますので、お好みに応じて修正してください。
<!-- Middle button and Ctrl pressed: move the view forward and backward -->
<y-axis-ctrl>
<binding>
<condition>
<and>
<not>
<property>/devices/status/mice/mouse[0]/button[0]</property>
</not>
<property>/devices/status/mice/mouse[0]/button[1]</property>
</and>
</condition>
<command>property-adjust</command>
<property>/sim/current-view/z-offset-m</property>
<factor type="double">1</factor>
<wrap type="bool">false</wrap>
</binding>
</y-axis-ctrl>
<!-- No buttons and Shift pressed: rotate the view left or right precisely -->
<x-axis-shift>
<binding>
<condition>
<and>
<not>
<property>/devices/status/mice/mouse[0]/button[0]</property>
</not>
<not>
<property>/devices/status/mice/mouse[0]/button[1]</property>
</not>
</and>
</condition>
<command>property-adjust</command>
<property>/sim/current-view/heading-offset-deg</property>
<factor type="double">-10</factor>
<min type="double">0</min>
<max type="double">360</max>
<wrap type="bool">true</wrap>
</binding>
</x-axis-shift>
<!-- No buttons and Shift pressed: tilt the view up and down precisely -->
<y-axis-shift>
<binding>
<condition>
<and>
<not>
<property>/devices/status/mice/mouse[0]/button[0]</property>
</not>
<not>
<property>/devices/status/mice/mouse[0]/button[1]</property>
</not>
</and>
</condition>
<command>property-adjust</command>
<property>/sim/current-view/pitch-offset-deg</property>
<factor type="double">-5</factor>
<min type="double">-90</min>
<max type="double">90</max>
<wrap type="bool">false</wrap>
</binding>
</y-axis-shift>
</mode>
<!-- Mode 3: spring-loaded-view mode -->
<mode n="3">
<cursor>left-right</cursor>
<constrained type="bool">true</constrained>
<pass-through type="bool">false</pass-through>
投票数:11
平均点:6.36
Re: FlightGear用の気泡六分儀
msg# 1.2.1
hide
居住地: 兵庫県
投稿数: 650
toshiさん、hideです。
さっそくのご対応を頂きまして、本当にありがとうございました。マウス視点方向移動の速度を落とす件、大変快適に動いております。
現在は設定いただいた factor から、試験的に速度を更に4分の1に落としましたので、マウス移動1ドットあたり6秒角の分解能になっているかと思いますが、お陰様で非常に滑らかです。最小測定値の目標は一応、実物の六分儀並みの12秒角ですが、マウスの移動速度そのものは、さらに小さくした方が計測しやすいので、私が最初に試した、デフォルトの速度を単に落とす固定的な方法では、正直申し上げれば無理がありました。
また、前回ご提供頂きました、Altキーを使う修正プログラムをアクティベートするには、Altキーを押したまま視野を一度ズームアップ(もしくはダウン)する必要がありましたが、今回の方式はシフトキーを押すだけで計測可能ですので、一段と便利になりました。これで2.12の世界でも、天測に道か開けました。感激です! まずは取り急ぎ、御礼を申し上げます。
さっそくのご対応を頂きまして、本当にありがとうございました。マウス視点方向移動の速度を落とす件、大変快適に動いております。
現在は設定いただいた factor から、試験的に速度を更に4分の1に落としましたので、マウス移動1ドットあたり6秒角の分解能になっているかと思いますが、お陰様で非常に滑らかです。最小測定値の目標は一応、実物の六分儀並みの12秒角ですが、マウスの移動速度そのものは、さらに小さくした方が計測しやすいので、私が最初に試した、デフォルトの速度を単に落とす固定的な方法では、正直申し上げれば無理がありました。
また、前回ご提供頂きました、Altキーを使う修正プログラムをアクティベートするには、Altキーを押したまま視野を一度ズームアップ(もしくはダウン)する必要がありましたが、今回の方式はシフトキーを押すだけで計測可能ですので、一段と便利になりました。これで2.12の世界でも、天測に道か開けました。感激です! まずは取り急ぎ、御礼を申し上げます。
投票数:10
平均点:5.00
Re: FlightGear用の気泡六分儀
msg# 1.2.1.1
toshi
投稿数: 1540
hideさん、こんばんは。
toshiです。
うまく動作したとのこと、何よりです。
以下は全て余談なのですが、自分で良く理解できていなかった点を少し詳しく調べてみました。
先の私の投稿では、視点方向の分解能とfactor値との関係について理解していなかったため、初期値よりも「36倍細かくなる」というような曖昧な書き方をしていました。
そこで、改めて調べてみたところ、factor値だけでなく、実行中のシミュレータ画面のサイズにも依存することが分かりました。
x方向とy方向の画面サイズをそれぞれxsize、ysizeとすると、
・視点のx軸方向分解能 (度) =x方向のfactor / xsize
・視点のy軸方向分解能 (度) =y方向のfactor / ysize
になります。
具体例として、画面サイズが800x600、factorが初期値(x方向:-360,y方向:-180)の場合は、
x方向の分解能=360/800=0.45度=27分=1620秒
y方向の分解能=180/600=0.30度=18分=1080秒
です。
FlightGearのデフォルト画面サイズは800x600ですが、起動後にウィンドウを最大化すると、(中途半端なサイズで)画面が大きくなります。
ビューモードでマウスを少しずつ動かしてみると、画面サイズに応じた分解能で視点方向が変化することを、プロパティブラウザを使って確認できます。
・現在の視点方向
(x方向) /sim/current-view/heading-offset-deg
(y方向) /sim/current-view/pitch-offset-deg
・現在のシミュレータ画面サイズ
(x方向) /sim/startup/xsize
(y方向) /sim/startup/ysize
それからもう1つの余談になりますが、従来は
mode0 標準モード(ポインタカーソル)
mode1 操縦モード(十字形カーソル)
mode2 ビューモード(両矢印カーソル)
の3段階のマウスモードをマウスの右ボタンで切り替えていましたが、FlightGear v2.12からは
Mode 3: spring-loaded-view mode
という4つ目のマウスモードに対応できるようになったっぽいです。
※4つ目のモードが何のために作られたのかはよく分かりません...
今回の視点方向の分解能に関する改造は、mice.xmlのmode2のセクション内に記述することで意図したとおりに動きましたが、ひょっとすると将来のリリースでは、4つ目のモードを活用した新しい機能が出てくるかもしれませんので、また動きがおかしくなった場合にはMode 3も注意して見てみてください。
toshiです。
うまく動作したとのこと、何よりです。
以下は全て余談なのですが、自分で良く理解できていなかった点を少し詳しく調べてみました。
先の私の投稿では、視点方向の分解能とfactor値との関係について理解していなかったため、初期値よりも「36倍細かくなる」というような曖昧な書き方をしていました。
そこで、改めて調べてみたところ、factor値だけでなく、実行中のシミュレータ画面のサイズにも依存することが分かりました。
x方向とy方向の画面サイズをそれぞれxsize、ysizeとすると、
・視点のx軸方向分解能 (度) =x方向のfactor / xsize
・視点のy軸方向分解能 (度) =y方向のfactor / ysize
になります。
具体例として、画面サイズが800x600、factorが初期値(x方向:-360,y方向:-180)の場合は、
x方向の分解能=360/800=0.45度=27分=1620秒
y方向の分解能=180/600=0.30度=18分=1080秒
です。
FlightGearのデフォルト画面サイズは800x600ですが、起動後にウィンドウを最大化すると、(中途半端なサイズで)画面が大きくなります。
ビューモードでマウスを少しずつ動かしてみると、画面サイズに応じた分解能で視点方向が変化することを、プロパティブラウザを使って確認できます。
・現在の視点方向
(x方向) /sim/current-view/heading-offset-deg
(y方向) /sim/current-view/pitch-offset-deg
・現在のシミュレータ画面サイズ
(x方向) /sim/startup/xsize
(y方向) /sim/startup/ysize
それからもう1つの余談になりますが、従来は
mode0 標準モード(ポインタカーソル)
mode1 操縦モード(十字形カーソル)
mode2 ビューモード(両矢印カーソル)
の3段階のマウスモードをマウスの右ボタンで切り替えていましたが、FlightGear v2.12からは
Mode 3: spring-loaded-view mode
という4つ目のマウスモードに対応できるようになったっぽいです。
※4つ目のモードが何のために作られたのかはよく分かりません...
今回の視点方向の分解能に関する改造は、mice.xmlのmode2のセクション内に記述することで意図したとおりに動きましたが、ひょっとすると将来のリリースでは、4つ目のモードを活用した新しい機能が出てくるかもしれませんので、また動きがおかしくなった場合にはMode 3も注意して見てみてください。
投票数:7
平均点:5.71
Re: FlightGear用の気泡六分儀
msg# 1.2.1.1.1
hide
居住地: 兵庫県
投稿数: 650
あっ…(゚ ゚)/。
そう言うわけだったのですね。「36倍細かくなる」という分解能のお話が出たとき、私も極めて漠然と、
「toshiさんとは多分、実感しているレシオが少しだけ違う。どうしてだろ」
と感じました。しかしそれ以上、問題を煮詰めるには至りませんでした。画面サイズが絡んでいるという、思いもよらぬご指摘を頂き、大変すっきりしております。ご教示ありがとうございました。
また、「Mode 3」につきましては、mice.xml の18行目、
<mode-count type="int">4</mode-count>
という記述の「>4<」部分が、旧バージョンでは「>3<」だったことを、エディタを使ったファイル比較によって確認しましたので、私もちょっと気になると同時に、spring-loaded-view mode とは何なのか、首をひねっていました。字面から憶測しますと、Gフォースによるブラックアウト・レッドアウトの再現などに似た何か、例えば…機体がある種の振動モードに入ったときの、パイロットの不快感を映像的に模倣する機能、などを思いつきます(人間の目玉は、30〜80Hzの振動に共振してしまうそうですね)。とは言え、実機に触れる人が多いアメリカと言えども、こんな変な機能にまで需要があるかどうか、自信はありません(^^;)。
そう言うわけだったのですね。「36倍細かくなる」という分解能のお話が出たとき、私も極めて漠然と、
「toshiさんとは多分、実感しているレシオが少しだけ違う。どうしてだろ」
と感じました。しかしそれ以上、問題を煮詰めるには至りませんでした。画面サイズが絡んでいるという、思いもよらぬご指摘を頂き、大変すっきりしております。ご教示ありがとうございました。
また、「Mode 3」につきましては、mice.xml の18行目、
<mode-count type="int">4</mode-count>
という記述の「>4<」部分が、旧バージョンでは「>3<」だったことを、エディタを使ったファイル比較によって確認しましたので、私もちょっと気になると同時に、spring-loaded-view mode とは何なのか、首をひねっていました。字面から憶測しますと、Gフォースによるブラックアウト・レッドアウトの再現などに似た何か、例えば…機体がある種の振動モードに入ったときの、パイロットの不快感を映像的に模倣する機能、などを思いつきます(人間の目玉は、30〜80Hzの振動に共振してしまうそうですね)。とは言え、実機に触れる人が多いアメリカと言えども、こんな変な機能にまで需要があるかどうか、自信はありません(^^;)。
投票数:8
平均点:3.75
Re: FlightGear用の気泡六分儀
msg# 1.2.1.1.1.1
toshi
投稿数: 1540
toshiです。
Mode 3: spring-loaded-view mode
という4つ目のマウスモードについて調べました。
FlightGearメニューの
Debug > User-Interface options
でInterface Configurationダイアログを開き、
Right-click cycles mouse mode
のチェックを外すと、例の「spring-loaded-view mode」なる第4のマウスモードに固定され、マウスの右ボタンを押しても他のマウスモードに遷移しなくなります。
その代わりに、右ボタンを押しながらマウスを動かすと視点方向が移動します。
従来の2番目のマウスモード(操縦モード)が不要な方は、この新しいモードにしておくと、いちいちマウスモードを切り替えることなく視点方向を移動することが出来ますので、覚えておくと便利かもしれません。
もちろんこの場合、mice.xml をカスタマイズするには、
<!-- Mode 3: spring-loaded-view mode -->
<mode n="3">
から
</mode>
までの間を内容を修正することになります。
なお、v2.12のデフォルト状態では、v2.10までと同様に右クリックでマウスモードが遷移しますが、その設定は preferences.xml にある
<right-button-mode-cycle-enabled type="bool" userarchive="y">true</right-button-mode-cycle-enabled>
に書かれています。
ちなみに、なぜ「spring-loaded」という名前なのかは、良く分かりません。
「ばねで留められた」って、どういうことでしょうね。
(参考)
git の mice.xml のcommit 内容
https://gitorious.org/fg/fgdata/commit/272bd0800bb6e768aff6d4e06e3727dd1a960434
- spring-loaded-view mode を James が導入
FlightGear-devel の James の投稿
http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg39701.html
- 2)の部分で、この「Belnder風の」モードの方を本当はデフォルトにしたいと発言しています。
Mode 3: spring-loaded-view mode
という4つ目のマウスモードについて調べました。
FlightGearメニューの
Debug > User-Interface options
でInterface Configurationダイアログを開き、
Right-click cycles mouse mode
のチェックを外すと、例の「spring-loaded-view mode」なる第4のマウスモードに固定され、マウスの右ボタンを押しても他のマウスモードに遷移しなくなります。
その代わりに、右ボタンを押しながらマウスを動かすと視点方向が移動します。
従来の2番目のマウスモード(操縦モード)が不要な方は、この新しいモードにしておくと、いちいちマウスモードを切り替えることなく視点方向を移動することが出来ますので、覚えておくと便利かもしれません。
もちろんこの場合、mice.xml をカスタマイズするには、
<!-- Mode 3: spring-loaded-view mode -->
<mode n="3">
から
</mode>
までの間を内容を修正することになります。
なお、v2.12のデフォルト状態では、v2.10までと同様に右クリックでマウスモードが遷移しますが、その設定は preferences.xml にある
<right-button-mode-cycle-enabled type="bool" userarchive="y">true</right-button-mode-cycle-enabled>
に書かれています。
ちなみに、なぜ「spring-loaded」という名前なのかは、良く分かりません。
「ばねで留められた」って、どういうことでしょうね。
(参考)
git の mice.xml のcommit 内容
https://gitorious.org/fg/fgdata/commit/272bd0800bb6e768aff6d4e06e3727dd1a960434
- spring-loaded-view mode を James が導入
FlightGear-devel の James の投稿
http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg39701.html
- 2)の部分で、この「Belnder風の」モードの方を本当はデフォルトにしたいと発言しています。
投票数:10
平均点:7.00
Re: FlightGear用の気泡六分儀
msg# 1.2.1.1.1.1.1
hide
居住地: 兵庫県
投稿数: 650
toshiさん、hideです。
またまた、ありがとうございました。spring-loaded-view mode は、そんな仕掛けだったのですか…。
最近はジョイスティックを常用していますので、「あっ、このアイディアはいい!」と思いました。
右クリック・マウスモード遷移方式では、視点移動の「⇔」モードのつもりでマウスを大きく操作したら、実は操縦「+」モードになっていて機体は大揺れ、なんてことがたまにありますね。せっかく巡航速度が安定して、そろそろ燃費計算や天測が出来るぞ…と思ったら、また数分待つ羽目になるとガッカリです。が、spring-loaded 方式ですと、この心配はないわけですね。
実際に試してみると、せっかくご教示いただいた、シフトキーで視点移動の速度を落とす機能が無効になるようですので、取りあえずはこれを使う変わりに、同じメニューにある「Disable mouse flight-controls mode」にチェックを入れてみました。これですと、操縦「+」モードが消滅する点は同じで、通常のポインタと「⇔」の切り替えは従来通り、右ボタンのトグルとなります。カーソルを見なくてもモードが分かる、spring-loaded 方式ほど便利ではありませんが、デフォルトよりは良さそうです。xml ファイルを特に変更しなくて済みますので、しばらくこれで行ってみようかと思っています。
なお spring-loaded の意味ですが、ひょっとすると…無線マイクのプレストーク式スタンバイ・スイッチのように、「押している間だけ有効。放すとバネで元に戻る」というニュアンスなのかな、とも想像しております。
またまた、ありがとうございました。spring-loaded-view mode は、そんな仕掛けだったのですか…。
最近はジョイスティックを常用していますので、「あっ、このアイディアはいい!」と思いました。
右クリック・マウスモード遷移方式では、視点移動の「⇔」モードのつもりでマウスを大きく操作したら、実は操縦「+」モードになっていて機体は大揺れ、なんてことがたまにありますね。せっかく巡航速度が安定して、そろそろ燃費計算や天測が出来るぞ…と思ったら、また数分待つ羽目になるとガッカリです。が、spring-loaded 方式ですと、この心配はないわけですね。
実際に試してみると、せっかくご教示いただいた、シフトキーで視点移動の速度を落とす機能が無効になるようですので、取りあえずはこれを使う変わりに、同じメニューにある「Disable mouse flight-controls mode」にチェックを入れてみました。これですと、操縦「+」モードが消滅する点は同じで、通常のポインタと「⇔」の切り替えは従来通り、右ボタンのトグルとなります。カーソルを見なくてもモードが分かる、spring-loaded 方式ほど便利ではありませんが、デフォルトよりは良さそうです。xml ファイルを特に変更しなくて済みますので、しばらくこれで行ってみようかと思っています。
なお spring-loaded の意味ですが、ひょっとすると…無線マイクのプレストーク式スタンバイ・スイッチのように、「押している間だけ有効。放すとバネで元に戻る」というニュアンスなのかな、とも想像しております。
投票数:11
平均点:5.45
Re: FlightGear用の気泡六分儀
msg# 1.2.1.1.1.1.1.1
hide
居住地: 兵庫県
投稿数: 650
toshiさんこんばんは、hideです。
mice.xml に関する追記です。10月1日に頂いたメッセージを再読し、青字で書かれた追加プログラムを、
<!-- Mode 3: spring-loaded-view mode -->
で始まる、一連の記述の末尾部分に移動してみました。次いで user-interface options メニューを開いて、すべてのチェックマークを外したところ、以下の操作環境が得られました。
・マウスは通常、画面上で矢印ポインタだけを動かす。
・ただし右ボタンを押しながらドラッグすると、視点変更モードになる。
・加えてシフトキーを押すと、押している間だけ、移動速度を落として高分解能モードになる。
これで恐らく完全に、ご教示頂いた通りの使い方ですね…従来より非常に簡単、かつ直感的な操作系で、これってもしかすると革命的。FlightGearのマウスコントロールが、まさに新時代に入ったことを実感します。
mice.xml に関する追記です。10月1日に頂いたメッセージを再読し、青字で書かれた追加プログラムを、
<!-- Mode 3: spring-loaded-view mode -->
で始まる、一連の記述の末尾部分に移動してみました。次いで user-interface options メニューを開いて、すべてのチェックマークを外したところ、以下の操作環境が得られました。
・マウスは通常、画面上で矢印ポインタだけを動かす。
・ただし右ボタンを押しながらドラッグすると、視点変更モードになる。
・加えてシフトキーを押すと、押している間だけ、移動速度を落として高分解能モードになる。
これで恐らく完全に、ご教示頂いた通りの使い方ですね…従来より非常に簡単、かつ直感的な操作系で、これってもしかすると革命的。FlightGearのマウスコントロールが、まさに新時代に入ったことを実感します。
投票数:12
平均点:6.67
Re: FlightGear用の気泡六分儀
msg# 1.2.1.1.1.1.1.1.1
toshi
投稿数: 1540
こんばんは、toshiです。
Git版(開発版)では、FlightGearの設定ファイルpreferences.xmlにある右クリックのデフォルト設定が
<right-button-mode-cycle-enabled type="bool" userarchive="y">true</right-button-mode-cycle-enabled>
から
<right-button-mode-cycle-enabled type="bool" userarchive="y">false</right-button-mode-cycle-enabled>
に(2時間前に)変更されました。
すなわち、Git版は「右ボタンを押しながらマウスを動かすと視点方向が移動する」のがデフォルトになりました。
元の設定に戻そうという積極的な理由がなければ、来年2月にリリース予定のv3.0にこのまま反映されると思います。
(参考)
http://sourceforge.net/mailarchive/message.php?msg_id=31562856
http://mapserver.flightgear.org/git/gitweb.pl?p=fgdata;a=commitdiff;h=62645a8120d4e39da0b353a488b9cc1fd03402ba
Git版(開発版)では、FlightGearの設定ファイルpreferences.xmlにある右クリックのデフォルト設定が
<right-button-mode-cycle-enabled type="bool" userarchive="y">true</right-button-mode-cycle-enabled>
から
<right-button-mode-cycle-enabled type="bool" userarchive="y">false</right-button-mode-cycle-enabled>
に(2時間前に)変更されました。
すなわち、Git版は「右ボタンを押しながらマウスを動かすと視点方向が移動する」のがデフォルトになりました。
元の設定に戻そうという積極的な理由がなければ、来年2月にリリース予定のv3.0にこのまま反映されると思います。
(参考)
http://sourceforge.net/mailarchive/message.php?msg_id=31562856
http://mapserver.flightgear.org/git/gitweb.pl?p=fgdata;a=commitdiff;h=62645a8120d4e39da0b353a488b9cc1fd03402ba
投票数:14
平均点:3.57