Re: A6M2を見てみると‥‥
toshi
投稿数: 1540
toshiです。
◎ A6M2-set.xmlのkeyタグ
FlightGearにおけるブレーキやフラップなどのキー操作は、FlightGear内部における状態変数(プロパティと言います)を書き換えることで実現しています。
ということで、ちょっと回り道になりますが、まずFlightGearのプロパティとキー操作について説明します。
プロパティを直接読み書きする簡単な方法は、FlightGearのメニューの[File]>[Browse Internal Properties]にあるプロパティツリーを使うことです。
操縦関係のプロパティの多くは/controls以下にありますので、どのプロパティがどの操作に対応しているのか、是非お確かめください。
(例えば、「/controls/gear/gear-down[0] = 'true' (bool)」をクリックして「false」と入力すると、ギアが格納されます。)
変数の型はc言語と良く似ていて、bool(ブール)のほかにdouble(倍精度浮動小数点)、int(整数)、string(文字列)などがあります。
このようなプロパティの書き換えをキー入力と関係付けているのが、キーバインディング定義ファイル(FlightGear/data/keyboard.xml)です。
そして、keyboard.xmlに書かれていないキー操作、あるいはkeyboard.xmlとは異なるキー操作を機体ごとに設定したい場合に、BBCTVさんのご指摘のとおりにhogehoge-set.xmlの中で定義します(hogehogeは、FlightGearの起動時に -aircraft= で指定する機種名です)。
ちなみにA6M2-set.xmlでは、<input>タグの次の<keyboard>タグの中でFlightGear/data/Input/Keyboard/carrier-bindings.xmlファイルを読み込むことで空母関連のキー操作を可能にしており、さらに続くkeyセクションの中でA6M2に固有の操作を追加しています。
これらのファイルを使って、特定のキーが入力されたときに、どのプロパティをどのように変更するのかを定義しています。
ちなみに、nasal等のスクリプトを介してプロパティを変更する場合もあるのですが、nasalを全く理解していないので説明は割愛させていただきます...
keyboard.xmlや、A6M2-set.xmlのkeyタグで使われている書式に関するドキュメントは、お手元のFlightGearディレクトリの「docs-mini/README.commands」にあります。
まず、keyタグの内部の数字(n="2"など)は、特定のキーに割り当てられたキー番号であり、次のnameタグがキー名称です。
番号と名称の対応表は、http://members.aon.at/mfranz/map.pdf にあります。
次のdescタグは、人間が理解するための単なる説明(description)ですので、恐らくココを書き換えても動作に影響はありません。
続くbindingセクションで具体的な操作を指定します。
README.commandの冒頭部分にありますが、第1スロットルを1%増加し、上限値は1.0とする場合の例は以下のとおりです。
<binding>
<command>property-adjust</command>
<property>/controls/throttle[0]</property>
<step type="double">0.01</step>
<max>1.0</max>
</binding>
ちなみに、xmlファイルの編集は、Dreamweaverを使わずとも、簡単なテキストエディタで十分に可能です。
◎ A6M2.xml
本スレッドの2007-6-28 3:11のTatさんの投稿に、
> A6M2を例にすると、
> A6M2*-set.xml , a6m2b.xml が最低限必要なファイルです。
> 前者はパッケージファイルで、後者がフライトモデル(yasim)です。
> この機体には2種類の異なるテキスチャがありますので、
> 2つのパッケージファイルがあります。
と書かれていますように、A6M2.xmlもフライトモデルを定義したファイルです。
A6M2.xmlは白い機体用、A6M2b.xmlは緑の機体用です。
どちらを使うかは、A6M2*-set.xmlの中の<aero>の部分で決めています。
また、本フォーラムの「フライトモデル解説」の中で、緑の機体の方のフライトモデル記述ファイル(a6m2b.xml)に書かれている1つ1つのパラメータについてTatさんが非常に丁寧に説明されています。
これほど詳細にまとめられた文書は英語ページにも無いのではないかと思いますので、どうぞじっくりお読みください。
◎ A6M2.xml
計器パネルを配置する座標や、部品のアニメーションを定義していると思います。
詳しくは、
Mini-HOWTO: 3D Aircraft Models in FlightGear
http://www.flightgear.org/Docs/fgfs-model-howto.html
をご覧ください。
◎ テクスチャのファイル形式
FlightGearはPLIBというライブラリを使っており、その一部であるSimple Scene Graph(SSG)が未対応のファイル形式は多分ダメです。
SSGに関する翻訳文書
http://www.wakhok.ac.jp/~momma/plib/ssg/ssg.html
には、以下の記述があります。
「現在のところ、サポートされているのはSGI形式と、非圧縮8ビットまたは24ビットのBMPイメージのみです。しかし将来的にはより多くの形式をサポートする予定です。拡張子が「.rgb」、「.rgba」、「.int」、「.inta」、「.bw」のファイルはSGI形式と解釈されます。「.bmp」はマイクロソフトのBMP形式、「.png」はポータブルネットワークグラフィックス(PNG)形式と解釈されます。」
というわけで、jpgは読み込めません。
また、FlightGear\data\Aircraft\A6M2\Models\Zero-green.rgb を、たまたまインストールしていたImageMagickというソフトでbmpとpng形式に変換し、a6m2b.acのテクスチャ読み込み部分を変換後のファイルに書き換えてからFlightGearを起動してみました。
bmp: 緑のはずの部分が白かったりして微妙におかしい。
png: 以下のメッセージが表示され、機体が未塗装状態になる。
WARNING: Couldn't convert texture 'C:/Program Files/FlightGear/data/Aircraft/A6M
2/Models/Zero-green.png'. Did you install ImageMagick? You may also convert it m
anually to 'C:/Program Files/FlightGear/data/Aircraft/A6M2/Models/Zero-green.rgb
' and reload the model.
以上のことから、FlightGearではrgb形式を使うのが無難だと思います。
ちなみに、FlightGearで読み込めるrgbファイルにもいくつかの制約があります。
・8bit/planeであること
・サイズは「2のべき乗 × 2のべき乗」であり、4x4以上であること(64x64、256x256、128x2048など)。
詳しくは、
File Formats - Wiki.flightgear.org
http://wiki.flightgear.org/flightgear_wiki/index.php?title=File_Formats
をご参照ください。
◎ A6M2-set.xmlのkeyタグ
FlightGearにおけるブレーキやフラップなどのキー操作は、FlightGear内部における状態変数(プロパティと言います)を書き換えることで実現しています。
ということで、ちょっと回り道になりますが、まずFlightGearのプロパティとキー操作について説明します。
プロパティを直接読み書きする簡単な方法は、FlightGearのメニューの[File]>[Browse Internal Properties]にあるプロパティツリーを使うことです。
操縦関係のプロパティの多くは/controls以下にありますので、どのプロパティがどの操作に対応しているのか、是非お確かめください。
(例えば、「/controls/gear/gear-down[0] = 'true' (bool)」をクリックして「false」と入力すると、ギアが格納されます。)
変数の型はc言語と良く似ていて、bool(ブール)のほかにdouble(倍精度浮動小数点)、int(整数)、string(文字列)などがあります。
このようなプロパティの書き換えをキー入力と関係付けているのが、キーバインディング定義ファイル(FlightGear/data/keyboard.xml)です。
そして、keyboard.xmlに書かれていないキー操作、あるいはkeyboard.xmlとは異なるキー操作を機体ごとに設定したい場合に、BBCTVさんのご指摘のとおりにhogehoge-set.xmlの中で定義します(hogehogeは、FlightGearの起動時に -aircraft= で指定する機種名です)。
ちなみにA6M2-set.xmlでは、<input>タグの次の<keyboard>タグの中でFlightGear/data/Input/Keyboard/carrier-bindings.xmlファイルを読み込むことで空母関連のキー操作を可能にしており、さらに続くkeyセクションの中でA6M2に固有の操作を追加しています。
これらのファイルを使って、特定のキーが入力されたときに、どのプロパティをどのように変更するのかを定義しています。
ちなみに、nasal等のスクリプトを介してプロパティを変更する場合もあるのですが、nasalを全く理解していないので説明は割愛させていただきます...
keyboard.xmlや、A6M2-set.xmlのkeyタグで使われている書式に関するドキュメントは、お手元のFlightGearディレクトリの「docs-mini/README.commands」にあります。
まず、keyタグの内部の数字(n="2"など)は、特定のキーに割り当てられたキー番号であり、次のnameタグがキー名称です。
番号と名称の対応表は、http://members.aon.at/mfranz/map.pdf にあります。
次のdescタグは、人間が理解するための単なる説明(description)ですので、恐らくココを書き換えても動作に影響はありません。
続くbindingセクションで具体的な操作を指定します。
README.commandの冒頭部分にありますが、第1スロットルを1%増加し、上限値は1.0とする場合の例は以下のとおりです。
<binding>
<command>property-adjust</command>
<property>/controls/throttle[0]</property>
<step type="double">0.01</step>
<max>1.0</max>
</binding>
ちなみに、xmlファイルの編集は、Dreamweaverを使わずとも、簡単なテキストエディタで十分に可能です。
◎ A6M2.xml
本スレッドの2007-6-28 3:11のTatさんの投稿に、
> A6M2を例にすると、
> A6M2*-set.xml , a6m2b.xml が最低限必要なファイルです。
> 前者はパッケージファイルで、後者がフライトモデル(yasim)です。
> この機体には2種類の異なるテキスチャがありますので、
> 2つのパッケージファイルがあります。
と書かれていますように、A6M2.xmlもフライトモデルを定義したファイルです。
A6M2.xmlは白い機体用、A6M2b.xmlは緑の機体用です。
どちらを使うかは、A6M2*-set.xmlの中の<aero>の部分で決めています。
また、本フォーラムの「フライトモデル解説」の中で、緑の機体の方のフライトモデル記述ファイル(a6m2b.xml)に書かれている1つ1つのパラメータについてTatさんが非常に丁寧に説明されています。
これほど詳細にまとめられた文書は英語ページにも無いのではないかと思いますので、どうぞじっくりお読みください。
◎ A6M2.xml
計器パネルを配置する座標や、部品のアニメーションを定義していると思います。
詳しくは、
Mini-HOWTO: 3D Aircraft Models in FlightGear
http://www.flightgear.org/Docs/fgfs-model-howto.html
をご覧ください。
◎ テクスチャのファイル形式
FlightGearはPLIBというライブラリを使っており、その一部であるSimple Scene Graph(SSG)が未対応のファイル形式は多分ダメです。
SSGに関する翻訳文書
http://www.wakhok.ac.jp/~momma/plib/ssg/ssg.html
には、以下の記述があります。
「現在のところ、サポートされているのはSGI形式と、非圧縮8ビットまたは24ビットのBMPイメージのみです。しかし将来的にはより多くの形式をサポートする予定です。拡張子が「.rgb」、「.rgba」、「.int」、「.inta」、「.bw」のファイルはSGI形式と解釈されます。「.bmp」はマイクロソフトのBMP形式、「.png」はポータブルネットワークグラフィックス(PNG)形式と解釈されます。」
というわけで、jpgは読み込めません。
また、FlightGear\data\Aircraft\A6M2\Models\Zero-green.rgb を、たまたまインストールしていたImageMagickというソフトでbmpとpng形式に変換し、a6m2b.acのテクスチャ読み込み部分を変換後のファイルに書き換えてからFlightGearを起動してみました。
bmp: 緑のはずの部分が白かったりして微妙におかしい。
png: 以下のメッセージが表示され、機体が未塗装状態になる。
WARNING: Couldn't convert texture 'C:/Program Files/FlightGear/data/Aircraft/A6M
2/Models/Zero-green.png'. Did you install ImageMagick? You may also convert it m
anually to 'C:/Program Files/FlightGear/data/Aircraft/A6M2/Models/Zero-green.rgb
' and reload the model.
以上のことから、FlightGearではrgb形式を使うのが無難だと思います。
ちなみに、FlightGearで読み込めるrgbファイルにもいくつかの制約があります。
・8bit/planeであること
・サイズは「2のべき乗 × 2のべき乗」であり、4x4以上であること(64x64、256x256、128x2048など)。
詳しくは、
File Formats - Wiki.flightgear.org
http://wiki.flightgear.org/flightgear_wiki/index.php?title=File_Formats
をご参照ください。
投票数:19
平均点:4.21
投稿ツリー
-
機体開発って?
(BBCTV, 2007-6-3 13:12)
-
Re: 機体開発って?
(toshi, 2007-6-3 15:32)
-
Re: 機体開発って?
(BBCTV, 2007-6-24 19:57)
-
Re: 機体開発って?
(toshi, 2007-6-25 6:14)
- Re: 機体開発って? (BBCTV, 2007-6-25 18:16)
- Re: 機体開発って? (Tat, 2007-6-28 2:57)
- Re: 機体開発って? (Tat, 2007-6-28 3:11)
- Re: 機体開発って? (Tat, 2007-6-28 10:54)
-
Re: 機体開発って?
(toshi, 2007-7-1 22:54)
-
Re: 機体開発って?
(BBCTV, 2007-7-29 19:09)
-
A6M2を見てみると‥‥
(BBCTV, 2007-9-17 10:36)
-
Re: A6M2を見てみると‥‥
(toshi, 2007-9-17 14:57)
-
Re: A6M2を見てみると‥‥
(BBCTV, 2007-9-17 17:35)
-
Re: A6M2を見てみると‥‥
(toshi, 2007-9-17 20:14)
-
Re: A6M2を見てみると‥‥
(BBCTV, 2007-9-18 22:53)
-
Re: A6M2を見てみると‥‥
(toshi, 2007-9-20 23:40)
-
Re: A6M2を見てみると‥‥
(BBCTV, 2007-9-22 17:48)
- Re: A6M2を見てみると‥‥ (sambar, 2007-9-22 19:12)
-
Re: A6M2を見てみると‥‥
(BBCTV, 2007-9-22 17:48)
-
Re: A6M2を見てみると‥‥
(toshi, 2007-9-20 23:40)
-
Re: A6M2を見てみると‥‥
(BBCTV, 2007-9-18 22:53)
-
Re: A6M2を見てみると‥‥
(toshi, 2007-9-17 20:14)
-
Re: A6M2を見てみると‥‥
(BBCTV, 2007-9-17 17:35)
-
Re: A6M2を見てみると‥‥
(toshi, 2007-9-17 14:57)
-
A6M2を見てみると‥‥
(BBCTV, 2007-9-17 10:36)
-
Re: 機体開発って?
(BBCTV, 2007-7-29 19:09)
-
Re: 機体開発って?
(toshi, 2007-6-25 6:14)
-
Re: 機体開発って?
(BBCTV, 2007-6-24 19:57)
-
Re: 機体開発って?
(toshi, 2007-6-3 15:32)