シナリオファイルの直接編集

シナリオファイルをテキストエディタで編集する方法について説明します。

シナリオファイルを開く

Orbiterがインストールされているフォルダを開く。
Scenariosフォルダを開く。

拡張子が.scnになっているのがシナリオファイル。
Orbiterのセーブデータはすべてこの形式で保存されている。

.scnファイルを右クリックする。
プログラムから開くでメモ帳を選択する。

シナリオファイル

シナリオファイルの各項目のうち、主要なものについて説明する。
BEGIN_***で始めて、必ずEND_***で閉じる。

BEGIN_DESC

シナリオの説明文をここに記述する。
Launchpadの右側に表示される。

Orbiter2016では、 HTMLを使って文を整形できるようになった。
BEGIN_DESCのかわりに、BEGIN_HYPERDESCを使用する。

BEGIN_ENVIRONMENT

ゲームの舞台・日時を指定する。

System 舞台となる恒星系
Solなら太陽系、MODでは他の星系も使用可
Date MJDで表現される日時

BEGIN_FOCUS

操作する宇宙船を指定する。
ゲームの動作に必須

Ship 操作する宇宙船の名前

BEGIN_CAMERA

カメラを設定する。

TARGET カメラのターゲット
MODE Extern 機外視点
Cockpit 機内視点

BEGIN_HUD

ゲーム開始時点でのHUDを指定する。

TYPE HUDの種類

BEGIN_MFD

ゲーム開始時点でのMFDを指定する。
BEGIN_MFD Leftなら左、Rightなら右MFDになる。

TYPE MFDの種類
REF 基準となる天体
TARGET MFDのターゲット

BEGIN_PANEL / BEGIN_VC

コクピット視点において、3D・2Dコクピットのどちらを使用するか選択する。
BEGINENDの間には何も記述しなくてよい。

BEGIN_PANEL 2Dコクピット
BEGIN_VC 3Dコクピット

BEGIN_SHIPS

このシナリオに登場する宇宙船と、その状態を記述する。

GL-01:DeltaGlider
  STATUS Landed Earth
  POS -80.6824940 28.5967940
  HEADING 330.01
  RCSMODE 0
  PRPLEVEL 0:0.995000 1:1.000000
  NAVFREQ 94 524 84 114
  XPDR 0
  GEAR 1 1.0000
  PSNGR 2 3 4
  AAP 0:0 0:0 0:0
END

名前とクラス

名前:クラスの組み合わせで、宇宙船を指定する。
以下の例では、GL-01が名前、DeltaGliderがクラスとなる。

GL-01:DeltaGlider

クラス(Class)とは、宇宙船の種類を指す。
名前さえ変更すれば、同じクラスの宇宙船を複数登場させることができる。

名前:クラスの組み合わせで始めて、必ずENDで閉じる。

STATUS

宇宙船の状態を記述する。

STATUS Landed Earth
Landed *** ***に着陸している
Orbiting *** ***の上空を飛行中

BASE

どの基地に着陸しているか指定する。
ただし、滑走路に着陸している場合は使用できない。

BASE Habana:1

上の例では、Habana基地の1番パッドに着陸していることを表す。

POS

着陸地点の経度・緯度を指定する。

POS -80.6824940 28.5967940

上の例では、西経80.682494°、北緯28.596794°の地点に着陸していることを表す。
28°35'48.5"N 80°40'57.0"W - Google マップ

HEADING

地上において、機首がどの方位を向いているか指定する。

HEADING 330.01

RPOS

飛行中の位置ベクトル

RPOS 6609477.84 -64359.79 -1263202.12

RVEL

飛行中の速度ベクトル

RVEL 319.601 -7420.414 2031.754

PRPLEVEL

推進剤の残量。
タンクのID:残り燃料の組み合わせで指定する。

PRPLEVEL 0:0.995000 1:1.000000

上の例では、IDが0のタンクは残り99.5%、IDが1のタンクは満タンということになる。

シナリオファイルでは、IDは0から始まるようになっている。
IDが0のタンクは、ゲーム内では1番タンクを指す。

DOCKINFO

宇宙船がドッキング中であることを表す。
ドッキングポートのID:相手側ポートのID,相手の宇宙船の名前の組み合わせで指定する。

DOCKINFO 0:0,ISS

上の例では、自分の1番ドッキングポートでISSの1番ポートとドッキングしていることになる。

ドッキング中のRPOSRVELは、シナリオファイルで1番上に記述されている宇宙船が参照される。

ATTACHED

貨物コンテナなどが宇宙船に結合していることを表す。
Attachment point(取り付け位置)をIDで指定する。

ATTACHED 0:0,STS-101

例題

例題として、ミール宇宙ステーションに、ペイロードを積んだスペースシャトルをドッキングさせてみる。

シナリオファイルを開く

Orbiterがインストールされているフォルダを開く。
Scenariosフォルダを開く。

Space Shuttle Atlantisフォルダを開く。
Atlantis ISS Resupply.scnを右クリックして開く。

Space Stationsフォルダを開く。
Mir.scnを右クリックして開く。

宇宙船をコピーする

Atlantis ISS Resupply.scnに移動する。

STS-101:AtlantisLeonardo:Leonardo_mplmに関連する行をすべてコピーする。

STS-101:Atlantis
  STATUS Orbiting Earth
  RPOS 6604529.05 32796.63 -1288983.27
  RVEL 431.660 -7419.871 2010.494
  AROT -70.00 10.00 100.00
  PRPLEVEL 0:0.708
  DOCKINFO 0:1,ISS
  NAVFREQ 466 0
  XPDR 460
  CONFIGURATION 3
  CARGODOOR 1 1.0000
  GEAR 0 0.0000
END
Leonardo:Leonardo_mplm
  STATUS Orbiting Earth
  ATTACHED 0:0,STS-101
END

Atlantisはスペースシャトル、LeonardoはMPLM(多目的補給モジュール)を指す。

宇宙船を貼り付ける

Mir.scnに移動する。

ファイルの一番下に移動して、END_SHIPSの手前に改行を入れる。

SH-01:ShuttleA
  STATUS Landed Moon
  BASE Brighton Beach:1
  POS -33.4375000 41.1184067
  HEADING 0.00
  FUEL 1
  NAVFREQ 0 0
END

END_SHIPS

空いた行を右クリックして、コピーした行を貼り付ける。

数字を書き換える

STS-101:Atlantisで始まる行に移動する。

DOCKINFO 0:1,ISSを探す。
DOCKINFO 0:1,Mirに書き換える。

SH-01:ShuttleA
  STATUS Landed Moon
  BASE Brighton Beach:1
  POS -33.4375000 41.1184067
  HEADING 0.00
  FUEL 1
  NAVFREQ 0 0
END
STS-101:Atlantis
  STATUS Orbiting Earth
  RPOS 6604529.05 32796.63 -1288983.27
  RVEL 431.660 -7419.871 2010.494
  AROT -70.00 10.00 100.00
  PRPLEVEL 0:0.708
  DOCKINFO 0:1,Mir
  NAVFREQ 466 0
  XPDR 460
  CONFIGURATION 3
  CARGODOOR 1 1.0000
  GEAR 0 0.0000
END
Leonardo:Leonardo_mplm
  STATUS Orbiting Earth
  ATTACHED 0:0,STS-101
END
END_SHIPS

上書き保存するか、適当な名前を付けて保存する。

Orbiterを起動して、保存したシナリオでゲームを開始する。
ミールにスペースシャトルがドッキングされていれば成功。