FSX_KMLの紹介 と 使い方
この紹介文は、FSDeveloper.comにある紹介記事をベースにして作りました。

始めに

 FSX_KMLは Microsoft Flight Simulator X (FSX)用のフリーのシーナリーデザインツールです。地表や水面のシーナリーを作成したり標高を設定したり3Dオブジェクトを配置したりするほかに、FSXデフォルトシーナリーにある自動生成物や建物や道路、河川などの様々な ものを消したりすることもできます。
 このソフトは、GoogleEarthの画面上で作成したポリゴンや線を、FSXで使用するシーナリーファイル(BGLファイル)に変換します。つまり、ポリゴンや線を直接GoogleEarthの上で配置する事ができるので、位置調べに地図を用意したり、縮尺や距離を計算したりする必要が全くなく、とても便利なツールです。


必要なツール

・FSX_KML(フリーウエア)
・FSX用SDK(FSXのSP1またはSP2を導入した場合は、アップデートファイルも必要です。)
・FWTools(フリーウエア。 ランドクラスを作らないなら不要。)


サポート等

 FSX KML については fsdeveloper.com の FSX KML forum にて情報交換が行われています。
 また、同じく fsdeveloper.com のシーナリーデザインセクションには、FSX_KMLの簡単なチュートリアルもあります。


最新バージョン(1.10β)(2010年6月現在)のダウンロードは以下の所で。

 FlightSim.com --- http://www.flightsim.com/
  ここのファイルライブラリの、FSXカテゴリで、「fsxkml 」 で検索してください。

インストール方法

 ダウンロードしたZIPファイルを、任意の場所に解凍するだけです。
 以下のファイルがあるか確かめてください。
  ・FSX_KML.exe
  ・ShapeLib129.dll
  ・FreeImage.DLL
  ・FSX_KML_TAGS.XML


FSX用SDKのインストール

 SDKはFSXデラックスバージョンのDVDに同梱されていますが、FSXのSP1またはSP2を導入してある場合は、アップデートファイルも必要です。
 まずは標準のSDKのインストールから。

 (1) デラックスバージョンの Disk 1をセット。
 (2) SDKのサブフォルダーを開く。
 (3) setup.exe をダブルクリック。
 (4) インストールフォルダの指定は、デフォルトで指示される C:\Program Files\Microsoft Games\Microsoft Flight Simulator X SDK が後々のことを考えても絶対に安全です。
 もし、違う場所にインストールしたなら、後でFSX_KMLを起動して、build タブの画面でSDKの場所を指定することを忘れないでください。
 SP1やSP2用のアップデートファイルは、FSDevelopper.com内のダウンロードセクションにあります。


FWToolsのインストール

 ランドクラスタイルやウォータークラスタイルを作成するにはフリーウエアの FWTools を入手する必要があります。念のためこれも初めのうちにインストールしておきましょう。
 ダウンロードしてインストールしたら、その場所を FSX KML の Build タブの画面で指定します。


FSX_KMLによるシーナリー作成方法の概略


(1)GoogleEarthでの作業
 FSX_KMLによるシーナリー作成の第1ステップは、GoogleEarth上でポリゴンやポリラインを描くことです。
 その方法について別ページにまとめます。
 
 GoogleEarthでシーナリー設定する際のポイント。
  ・ポリゴンの設定には "Add Poly" メニューを使う。
  ・Polylineの設定には、"Add Path" メニューを使う。
  ・作業結果を保存する時は、KML形式を選ぶ。KMZ形式ではFSX_KMLに読み込めない。
   保存するKMLファイル名は日本語が分かりやすいが、稀に、BGLコンパイル時にエラーになる事があるので、英語名のほうが安心かもしれない。
  ・作業結果をGoogleEarthのお気に入りフォルダーに登録することも忘れない。(後の修正作業のため)
  ・GoogleEarthのバージョンアップにより、次の(2)FSX_KMLでの作業で、一手間修正をする必要があることを忘れない。

(2)FSX_KMLでの作業
 GoogleEarthでポリゴンやポリラインを描いてKML形式で保存したら、そのファイルをFSX_KMLで開いて、"tag"を指定してシーナリー特性を付加したり、標高を付けたりします。そして最後にBGLファイルにコンパイルをします。
 その方法について別ページにまとめます。

(3)FSXでの確認
 FSX_KMLが書き出すファイルはBGLの他にも有るのですが、必要なのはBGLファイルだけです。そして、FSX_KMLが書き出したBGLファイルは、もちろんFSXの適当なフォルダーにコピーして、シーナリーライブラリーで登録しなければなりません。
 当然のことながら、登録の順位は、該当地域に関するシーナリーよりも上位にしなければなりません。従って、該当地域のデフォルトやアドオンシーナリーが入っているフォルダーにFSX_KMLが書き出したBGLファイルを入れることはできません。

(4)不具合を修正
 FSXを起動してシーナリーの不具合があれば、またGoogleEarthに戻ってポリゴン等を修正したり、あるいはFSX_KMLでシーナリー特性や標高や座標等を修正します。
 特に、ランドクラスを作成した場合は、畑地や草地や山地のテクスチャが自分の狙いとは相当に違うことが多いので、何度かシーナリー特性の変更をやってFSXで確かめることを繰り返すことになるでしょう。
 また、標高の設定をした場合も、周囲とのバランスを見ながら何度か修正をやらねばならないと思います。



作成可能なシーナリー

 このソフトは単体でシーナリーを作る訳ではなく、FSXのSDKにあるいくつかのシーナリー作成用プログラムを動作させるフロントエンドのように働きます。よって、FSX_KMLを使っている限り、これらSDKにある各種ツールの存在を意識することはほとんどありません。

 SDKにあるベクタデータを扱うソフトShp2Vecのフロントエンドとなって作るシーナリーには以下のようなものがあります。
   (リンクのある項目には、使用法の説明を付けました。)

 ・Water polygons including oceans, rivers, lakes and canals  標高付きの水面(海、河川、湖、運河)
 ・Islands inside water features  水面を内側に含んだ島
 ・Irregular shaped land class polygons for cities, parks, beaches, forest, golf courses etc
                      都市や公園、海岸、森、ゴルフ場などの風景( ランドクラス )
 ・Airport boundaries and flatten polygons and AUTOGEN EXCLUSIONS 空港用地(用地内の平面化や自動生成オブジェクトを消去)
 ・Shorelines    波打ち際(動く波も併せて生成)
 ・Streams     河川 (細い用水路)
 ・Roads 道路(フォトシーナリーを使うなら無意味な設定。デフォルトではFreewaysと合わせて指定して自動車を走らせる。)
 ・Railways 鉄道
 ・Freeways (ie Moving traffic) 自動生成の自動車が走る。(デフォルトではRoadsと併せて指定してしてやる必要がありそう?)
 ・Utility lines (eg power and telephone lines) 送電線や電話線などの目立つ線状ライフラインやフェンス
 ・Exclusions polygons (for vector data)  FSXデフォルトシーナリー内でベクタデータを持ったポリゴンを削除する。


 SDKにあるソフトBGLCompilerのフロントエンドとなって作るシーナリーには以下のようなものがあります。

 ・scenery objects (from the FSX library) FSX標準の3Dオブジェクトの配置。
        (GoogleEarthで配置を描く時はポリゴンでなくPolylineで設定。左クリックしたその場所で右クリックして確定。)
 ・Exclusion rectangles FSXデフォルトシーナリー内の不要な3Dオブジェクトを削除する。
 ・Extrusion bridges FSX標準の橋を削除する。


 SDKにあるソフトResampleのフロントエンドとなって作るシーナリーには以下のようなものがあります。

 ・Land class tiles ランドクラス(陸地)タイル
 ・Water class tiles ウォータークラス(水面)タイル
 (注意)この2つのタイプのシーナリー作成には FWTools をダウンロードしてインストールする必要があります。



FSX_KMLで指定するシーナリー特性について

 FSX_KMLでは様々な"tag"を指定することによって、草地とか山地とか、あるいは水面や標高や、空港用平面敷地、段差のある敷地、傾きのある水面等々を設定しています。当然のことながら、この"tag"にない項目は指定することができません。
 しかし、その気になれば"tag"にない項目も自分で追加することができます。

 "tag"は FSX_KML_TAGS.XML というファイルの中に設定されていますので、このファイルにXMLで記述をすれば、自作の特性を追加したり既存のtagを修正したりする事ができます。ただし、XMLのお勉強が必要です。また、SDKのマニュアルでFSXの地表シーナリー仕様やオブジェクト仕様についてのお勉強も必要になります。
 tagやXML文法についての知識を私は持っていませんので、残念ながらそれに関して記述することはできません。

(以下、紹介記事原文から、tagで指定する特性についての引用)
An easy way to browse this file is by clicking on the "FSX_KML_TAGS.XML" tab in FSX KML.
This XML contains the following attributes for each "tag":-

Tag - The unique identifier for this scenery feature. This tag is what you use to "tag" the polygons/polylines in your Google Earth KML file
Description - A description of the scenery feature. This description is displayed in FSX KML.
Feature Type - The type of scenery feature and must be one of the following types:-
WATERPOLY - Water polygons such as coastline, rivers, lakes, canals etc
WATERPOLYGPS - Low resolution water polygons for use in the GPS
LANDCLASSPOLY - irregular shaped landclass polygons for towns, forest, beaches, park etc
AIRPORTBOUNDRY - define airport boundries and also flatten areas and AUTOGEN EXCLUSIONS
EXCLUSION - exclude default vector scenery from the polygon
STREAM - create streams
SHORELINE - create animated shorelines
ROAD - create roads (NOT road bridges)
FREEWAY - create moving traffic
RAILWAY - create railways (NOT rail bridges)
UTILITY - power lines, telegraph lines, fences etc
SCENERYOBJECT - place scenery objects
EXCLUSIONRECTANGLE - excludes scenery objects
EXTRUSIONBRIDGE - creates extrusion bridges
LANDCLASS - create land class
WATERCLASS - create water class
GUID - The FSX GUID for the scenery feature.
Please refer to the FSX "terrain.cfg" file and terrain SDK documentation for futher informationon feature types and GUIDs
Go to HOME page