World Wide Guide | Knowledge Bank | Kukushkin's Notebook | Basics of Simulation
ここにはシーナリがどのようにして保管されているかについて簡潔に書いてあります。
おそらく、それはこのファイルの残りを理解するのには十分です。
FS5STRUCや
他のシーナリコンパイラのドキュメントには、
より詳細な(技術的ですが)記述があります。
FS5の世界は「シーナリ」と呼ばれることがあります。 「シーナリ」には、地形や見えるオブジェクト、NAVAID、他の飛行機などの ユーザーが直接影響を与えないもの全てが含まれます。 磁気偏差やATISメッセージなどのFS5が使う補助データにも シーナリに含まれるものがあります。
例えば、デフォルトのFS5.1の世界は、全世界のシーナリです。 それぞれの7つの都市の地域は、それぞれ別のシーナリとしても見られます。 それぞれは、"ほとんど"周囲への影響を与えずに、 特に世界の他の部分には影響なく除去することができます。 私が"ほとんど"という言葉を使ったのは、 the World/Airportsメニューの中の全ての空港は、 別のファイルに保管されているからです。 だから、除去された空港はそこに残ってしまいます。 それか、そのファイルを完全に削除してしまわなければなりません。 それらを選択すると、飛行機は空中に置かれ、もちろん空港はそこにはありません。 これは、柔軟性によって引起こされるたくさんの問題のうちの一つです。 しかし、商用やフリーウェアのシーナリを追加することによって、 FS5の世界を拡張できるので、その有利さの方がずっと重要です。
シーナリファイルは異なった種類の情報をもつ異なった節から構成されます。 ここに簡単で不完全ながら、異なった節の生成について書いてあります。 実際に異なった解像度のための6つの節から構成される SYNTH (synthetic) sceneryは TILESのデータベースです。
Synth sceneryのもう一つの重要な役割は、 地面の海面からの高度(MSL)を定義することです。 しかし、synth sceneryは細かくて正確なシーナリをデザインすることができません。 Synth sceneryはディスク領域の消費の低減やパフォーマンスの低下の低減、 そして重要なこととして、デザインの簡略化のために 大きな地面を覆うのに非常に適しています。 FS5の世界のほとんどは、synth sceneryだけを使って描かれています。 FS5.0や5.1(ハードディスク上の)の世界は、32*32のタイルブロックだけで定義され、 この理由のためあまり正確ではありません。 FS5.1(CD-ROMバージョン)の世界は、より細かいsynth sceneryを持っているので、 海岸線や地形がより正確です。
球面は(近似的にさえ)正方形のタイルでは完全に覆うことはできないので、 FS5の地球のモデルは球ではなく、湾曲した円柱になっています。 ですから、地球の極(北極や南極)はFS5の世界には存在せず、 (南北とも)緯度89度30分以上には行くことはできません。
点や直線や多角形はもっと複雑な物体を構成するのに使われる基本的な要素なので、 (グラフィックの)根源と呼ばれます。 豊富な命令によって、どのように表示するかという見地から 柔軟にvisual sceneryを作ることができるだけではなく、 プログラムが難しい、ディスクを多く消費する、高速な処理能力を必要とする 物も作ることができます。 このため、比較的小さな領域しかvisual sceneryでは覆うことができません。 FS5.0やFD版のFS5.1ではvisual sceneryは7つの都市部にしかありません。 CD-ROM版のFS5.1では世界に少し飾り(イースターの彩色卵^^;)がついています。
Visual sceneryは単にシーナリを表示する以上の役割があります。 そのうちの一つは、墜落の検知です。 物体は、基本的にその側面を描く命令で表示されているので、 FS5には飛行機と山などの物体との衝突を決める方法がありません。 飛行機が山の内側にあるかどうか、そして、それをFS5に知らせるのは シーナリの役目です。 このため、見える物体との衝突を避ける単純な方法 - 単に、全てのviewとmap windowを閉じて、見えない状態で飛ぶ - ができました。 View windowが無いと、visual sceneryのコードは実行されず、 衝突は検知されません。 注意するのは、地面に衝突しないようにすることだけです、
その他に、地面の表面の種類(なだらかか、荒れ地か、水面か)の決定、 気流の定義、scenery complextyやground textureといった異なった設定に対する 反応などの役割も含みます。 多くのフリーウェアのシーナリでは、 例えばtexture groundをチェックしていなくても、 強制的に地面は常にテクスチャにされます。
Visual sceneryを定義するのに使われる言語は、 よくSDL(Scenery Description Language)と呼ばれます。 それは複雑で、動く物体や、パイロットが制御できる稲妻などの面白い効果を 付けることができます。
DYNAMIC sceneryは他の飛行機や給油車両などの動く物体を定義します。 それぞれのdynamic scenery objectはどう動くかを 指示するプログラムを持っています。 しかし、言語はSDLほど柔軟性がありません。 少しの予め定義されたオブジェクトを表示することだけができ、 他のトラフィックを見て適当に反応するような、 「賢い」オブジェクトを作ることはできません。 また、dynamic objectsがvisual sceneryと衝突するという問題もあります。
SECTION 16には多くの異なったデータ構造があります。 そこには、location marker、時差、LandMeのための滑走路の情報が含まれています。 Visual sceneryには既に滑走路の情報があっても、 その情報は表示のためにしか使われません。 そこで、LandMeには追加の情報が必要なのです。 たいていはパフォーマンスを向上するために、 このような余分はFS5ではしばしばあります。 また、SECTION 16はSDLのコードの一部を含むことができます。 SECTION 9のコードとは違って、これは物体を表示するのには使えません。 空母の甲板のような、synth sceneryでは表現できない小さな盛り上がった表面を 定義するのに使われます。 View windowが開いていなくても良いという点で、SECTION 16は有利です。 他の節では、NAVAID、ATISメッセージ、World|Airportsメニューなどが定義されています。 磁気偏差や外部ファイルなどのための特別な節もあります。