RC飛行機/FMS_Geoファイル
FMS(R/C用フライトシミュレータ)のGeoファイル解析
FMSは、フリーソフトとして海外で開発されているラジコン用のフライトシミュレータです。Windows95/98/Meパソコン上で動作し、自分の使っているプロポをコントローラーとして使用できること、機体や風景のデータを作成/流用しやすいこと、リアルな操作感が得られることなどから、日本でも利用者が増加中です。
ここでは、geoファイル(機体形状のデータファイル)の内容について、少しずつ解明していきたいと思います。
[1]フォーマット推定
FMSの特徴は、リアルな3Dグラフィックと、気持ちの良い動きにあると思います。
機体形状のデータは、基本的にはポリゴンとテクスチャ(ビットマップ)で構成され、車輪とプロペラは座標とサイズで与えられます。
ポリゴンの表示は、DirectXの内部データと同様、三角形や四角形の頂点座標で与えられていますが、DirectXと違い、四角形の頂点は、四角形の辺を一巡する順番で記述します。また、DirectXの標準状態では、ポリゴンの表面だけが描画され、裏面は透明になりますが、FMSでは両面が描画されるので、三角形や四角形を表現する頂点の記述順は、右回りでも左回りでも良いようです。
・OBJECT BODY から下の行は、胴体(翼を含む)のデータです。
・OBJECT TWO_WHEEL から下の行は、2車輪のデータです。
・OBJECT ONE_WHEEL から下の行は、1車輪のデータです。
ただし、FMSでは、OBJECT TWO_WHEEL が指定されていると、OBJECT ONE_WHEEL が無視されて表示されないバグがあるようです。テキストエディタでgeoファイルを編集して、OBJECT ONE_WHEELをOBJECT TWO_WHEELに書きかえると表示されるようになります。(左右非対称の位置に1車輪があるときは2車輪になってしまいますが...)
・OBJECT PROPELLER から下の行は、プロペラのデータです。
機体データの作成ツールが複数あり、他のフライトシミュレータの機体データも利用できるようになっているため、複数のフォーマットに対応できるように作成されているようです。
[2]データサイズ(2001-06-07)
FMSでは、読み込み可能なデータ量が制限されていて、それ以上のデータ量の機体を読み込もうとするとエラーが発生します。このデータ量が、ファイルサイズ、行数、ポリゴン数、ポリゴンの頂点数、などのうち、何で規定されているか、調査を行いました。
調査は、ダミーのポリゴンデータを作成するソフトを作って、Geoファイルとして出力し、実際にFMSで読み込めるか、確認する、という方法を用いました。このダミーデータでは、すべてのポリゴンが独立したもの、一列に連続して並んだものなど、単純な形状を使用しているため、実際の機体データの場合と少し異なる可能性があります。
(1)読み込み可能なデータ量は、ポリゴン数だけで決定され、ファイルサイズには直接は影響されない。
(2)ポリゴンが三角形か、四角形かにより、読み込み可能なポリゴン数が変化する。
・ポリゴンの合計数(三角形ポリゴン数+四角形ポリゴン数) =< 1501
・ポリゴンの頂点座標の数(三角形ポリゴン数×3+四角形ポリゴン数×4) =< 5000
の両方を満足していれば、読み込み可能である。
単純に考えると、四角形ポリゴンは2つの三角形ポリゴンに分割できるため、
三角形ポリゴン数+四角形ポリゴン数×2 で規定されそうだが、違っていた。
四角形は三角形に分割しないほうが有利になる。
(3)ポリゴンデータが縮約できる場合(重複している場合や、2つのポリゴンを1つのポリゴンで表示できる場合)、(2)のポリゴン数よりも20%程度まで多くても読み込める場合がある。
(4)テクスチャのON/OFFや、色指定の数、座標値の桁数には依存しない。
すべてのポリゴンを別々の色にすることも可能。
(5)各条件での読み込み可能な最大ポリゴン数のとき、ファイルサイズは、座標値の桁数=小数点以下6桁のとき次のようになった。
ファイルサイズはいろいろな条件で変化するため、200KB以上でも読み込み可能な場合もあった。
[3]モデリングソフト(GeoWing)
機体形状ファイルを作成する場合、昔はMAD(機体形状データ作成用のフリーソフト)を使う場合が多かったのですが、MADで作成したGeoファイルは、主翼断面が三角形で、ちょっと違和感がありました。
GeoWingは、MADで作成したGeoファイルを読み込んで、指定した翼型断面の主翼に付けかえるソフトです。
上反角は4段まで対応しているので、ウイングレットにも応用できます。
MADで作成したGeoファイル内には、MADのコメントが記入されているので、これを基準にして主翼のポリゴンを検出し、入力した主翼と置きかえるようになっています。Geoファイル内にMADのコメントが無いとうまく動作しません。
しかし、MADは形状の自由度が狭く、操作性も良くないため、最近は、フリーの汎用3Dモデリングソフトを使う方法が主流になっています。今後、GeoWingが使われることは無さそうです。
[4]3Dデータ変換ソフト(GeoEx)
操作性や汎用性を考えると、飛行機専用の3Dモデリングソフトを使用するよりも、フリーの汎用3Dモデリングソフトで3Dデータを作成するほうが快適のようです。
3Dモデリングソフトで出力したXファイルをgeoファイルへ変換するソフトを作ってみました。
FMSは、Xファイルのままでも飛行させることができ、Xファイルのほうが表現力が豊か(Geoファイルはフォーマットがシンプルなので、Xファイルの情報をすべて表現できない)で、より多くのポリゴンが使用できるため、Xファイルのまま公開することも多くなったようです。
[5]風景
FMSでは、風景上の、小屋などの3D物体にも、geoファイルと同様のフォーマットが使用され、World.scnの中に記述されています。このため、風景上に置きたい物体を作成して、geoファイルへ変換し、テキストエディタでWorld.scnを編集すれば、好きな場所に、好きな物体を置くことができます。
パソコンの中なら、
・自宅周辺を再現して(騒音や安全性の問題から、現物は飛ばせない)
・最高の風景のリゾート地に別荘を建てて、専用の滑走路を
・海底の風景でクジラやイルカを
・映画やアニメの風景と機体を再現して
などと考えてしまいます。
Copyright(C) 2001-08-05 桝岡 秀昭