構文解説(路線)

Last-modified: 2021-05-04 (火) 15:42:00

(準備中)

公式リファレンスをもとにコンピューターによる翻訳を使用している箇所があります。日本語がおかしいところがありますが、これから修正していきたいです。(ぶっちゃけ編集を手伝っていただきたい)

CSVルートファイル

概観

路線データの中核となるのがCSVルートファイルです。このファイルでは、ストラクチャーなど様々な情報を定義し、線形なども決めていきます。ファイル名は任意ですが、ファイルフォーマットはCSV(拡張子.csv)である必要があります。エンコードは自由ですが、バイトオーダー付きのUTF-8がよいとされます。CSVルートファイルは、"Route"フォルダーに格納しましょう。
openBVEでは、それぞれの路線にrail0があります。概念的なことですが、これはプレイヤーが走行する線路です。またこれは路線の開始から終了まで常に存在し、途切れたりすることはありません。ルートファイルで決めた曲線や勾配はこのrail0に作用します。変更することもできますが、基本的にrail0は25m区切りになっています。ストラクチャーなどは25mごとに配置します。

※CSV(.csv)は、コンマ(,)で区切られたテキストファイル形式です。
Windowsの場合通常のテキストファイルのようにメモ帳で開くことができますが、Excelで開くと見やすくなります。
例えばメモ帳で

路線,起点,終点
東海道本線,東京,神戸
山手線,品川,田端
中央本線,東京,名古屋
東北本線,東京,盛岡

と入力したとしましょう。
Excelでは

路線起点終点
東海道本線東京神戸
山手線品川田端
中央本線東京名古屋
東北本線東京盛岡

と表示されます。
どちらを使うかは自由です。

文法

ファイルの文字列の空白は、各行の行頭と行末では無視されます。コンマ(,)は改行と同じ役割です。
各行は、コンマ(,)で区切られたステートメント(一つの命令文)に分割されます。
例:

式1,式2,式3, ...,式n

コメント

コメントを記述する際は、セミコロン(;)を行頭に記述してください。
例:

式;コメント

距離程

Position

数字から始まるステートメントは距離程を表します。
例:起点から1525mの場合

1525

コマンド

コマンドの形はこのようになります。

引数のないコマンド

コマンド名

引数のあるコマンド:

コマンド名 引数1;引数2;引数3;…;引数n
コマンド名(引数1;引数2;引数3;…;引数n)

インデックスと引数を両方伴うコマンド:

コマンド名(インデックス1;インデックス2;…;インデックスm) 引数1;引数2;引数3;…;引数n
コマンド名(インデックス1;インデックス2;…;インデックスm).サフックス 引数1;引数2;引数3;…;引数n
コマンド名(インデックス1;インデックス2;…;インデックスm).サフィックス(引数1;引数2;引数3;…;引数n)

ルール:

インデックスを用いた場合開き括弧と閉じ括弧で囲まれている必要があります。
コマンド名の大文字と小文字の区別はありません。空白は無視されます。

Withステートメント

With プレフィックス

このステートメント以降のピリオド(.)で始まるコマンドには自動でプレフィックスが付加されます。
例:

Route.Change 0
Route.Signal(1) 25

は、Withステートメントを使用した以下と同じ意味です。

With Route
.Change 0
.Signal(1) 25

前処理

コマンドが解釈される前に式が事前に処理されます。初めに式内の$-ディレクティブを置き換えます。
$Chr 、 $Rnd 、 $Sub ディレクティブは入れ子にすることができますが、 他方で $Include 、 $If 、 $Else 、 $EndIf は別のディレクティブにさらに入れ子にすることはできません。


$Include(ファイルパス)
$Include(ファイルパス:距離程のオフセット)
$Include(ファイルパス1; 確率1; ファイルパス2; 確率2; …)

ファイルパス:メインとなるルートファイルと同一の形式の、単一のファイルのパス付きファイル名。
確率:対応するファイルが読み込まれる確率

このディレクティブを使用すれば、指定されたファイルを元のファイルに組み込むように、繋げて使用することができます。


$Chr(アスキーコード番号)

アスキーコード番号:10,13~20~127のいずれか・下の表の番号に対応しています。

構文に用いる文字をそれ以外の用途で使用したい場合などに用いることができます。
アスキーコード番号の例:

アスキーコード番号意味文字
10改行
13改行
20スペース
40開き括弧(
41閉じ括弧)
44コンマ,
59セミコロン;

$Rnd(下限;上限)

下限:乱数の下限を表す整数値
上限:乱数の上限を表す整数値

このディレクティブを使用することで下限の数値から上限の数値までを置き換えます。
例:

10$Rnd(3;5)0, Track.FreeObj 0; 1

上の構文は下のいずれか1つの行をランダムで選ぶのと同じです。

1030, Track.FreeObj 0;1
1040, Track.FreeObj 0;1
1050, Track.FreeObj 0;1

$Sub(インデックス) = エクスプレッション

インデックス:変数のインデックスを表す自然数
エクスプレッション:変数に格納される内容

インデックス で割り当てられた場所へ、 表現 の内容で置き換えるために使用されます。 $Rnd ディレクティブで生成された乱数値を変化させずに共用したい場合などに使用することができます。


$Sub(インデックス)

インデックス:変数のインデックスを表す自然数
このディレクティブは、 変数インデックスに格納されている内容に置き換えます。 変数は置き換えられる前に予め設定されていなければなりません。


$If(コンディション)

コンディション:0の場合は誤、それ以外は正に対応する値

$If ディレクティブは、 状態が true (もしくは非ゼロの数値) と評価されたときのみ、後続の式を処理します。 $If の後に続く式の最後には、 $EndIf を記述しなければなりません。 オプションで、 $If と $EndIf の間に $Else ディレクティブを記述することができます。


$Else()

$Else ディレクティブは、 それに先行して記述された $If ディレクションで false (ゼロ) と 評価されたときのみ、後に続く処理を処理できます。


$EndIf()

$EndIf ディレクティブは、 その前に開始された $If ブロックの終了をマークするものです。


$-ディレクティブの全ての処理を終えると、 ルートファイルにある全ての表現は、それに関連する距離程に従って自動的にソートされます。

Options名前空間

これから紹介するコマンドは、ルートファイルの基本的な情報を決定します。他の名前空間のコマンドを用いる前にこの名前空間のコマンドをあらかじめ入力する必要があります。


Options.UnitOfLength 係数1; 係数2; 係数3; …; 係数n

係数:使いたい長さの単位を表す数値

このコマンドによってほかのコマンドで用いる長さの単位を設定することができます。デフォルト値は係数1が1、係数2以降が0です。
係数の例:

希望の単位係数
メートル1
マイル1609.344
チェーン20.1168
ヤード0.9144
フィート0.3048

Options.UnitOfSpeed 係数

係数:使いたい速度の単位を表す数値

このコマンドによってほかのコマンドで用いる速度の単位を設定することができます。
係数の例:

希望の単位係数
キロメートル毎時1
マイル毎時1.609344

Options.BlockLength 長さ

長さ:ブロック長を表す正の浮動小数点数。デフォルトでは25メートルです。

このコマンドでブロック長を指定します。途中で変更することはできません。Options.UnitOfLengthで設定した単位のみ使用できます。


Options.ObjectVisibility モード

モード:オブジェクトの表示方法と非表示の方法を決定します。
モードに入る値:
0:オブジェクトが存在するブロックの最後の座標がカメラによって通過するとすぐに、オブジェクトが非表示になります。 これは、カメラを回転させるとうまく機能しません。 自己交差トラック (ループなど) は出来ません。
1:カメラがオブジェクトの終わりを通過するとすぐに、オブジェクトは非表示になります。 これは線路の位置ベースで測定されます。 自己交差トラック (ループなど) は出来ません。


Options.CantBehavior モード

モード:Track.Section コマンドの処理方法を決定するモード。デフォルト値は0です。


Options.CantBehavior モード

モード:Track.Curveコマンドでのカントの処理方法を決定するモードです。デフォルトは0です。
モードに入る値:
0:Track.Curve のCantInMillimetersパラメータは符号なし、つまり符号が無視され、標高は常に曲線の中心(内側)に向かってあります。直線線路では、カントを適用できません。
1:符号付き: Track.Curve のCantInMillimetersパラメータが符号付き、すなわち負の値が外側にバンクし、正の値が曲線トラックの内側に向かって入っています。負の値が左に向かってバンクし、正の値が右に向かってバンクする直線線路に、カントを適用することができます。


Options.FogBehavior モード

モード:Track.Fogコマンドの処理方法を決定するモード。デフォルト値は0 (ブロックベース) です。
モードに入る値:
0:霧の色と範囲は Track.Fog が古い設定で使用されているブロックの最初から、新しい設定のブロックの最後まで補完されます。
1:霧の色と範囲は、隣接する Track.Fog コマンドの間で補間されます。 この動作は Track.Brightness を模倣しています。


Options.CompatibleTransparencyMode モード

モード:カラーパレットの制限がある場合のBVE2/4のオブジェクトでの透明度の処理方法を決定するモード。 これは ‘Options’ で設定された値を上書きするために路線ごとに使用できます。
モードに入る値:
0: Off: 指定の色と明示的に一致させます。 指定された透明色がカラーパレット内に存在しない場合、透明度は追加されません。
1: On: ファジー選択。. テクスチャが制限されたカラーパレットを使用している場合、透明色はパレットで最も近い使用可能な色に自動的に設定されます。


Options.EnableBveTsHacks モード

モード:BVE2/4の路線データを修正するための様々な'ハック'が適用されるかどうかを指定するモード。 これは ‘Options’ で設定された値を上書きするために路線ごとに使用できます。
モードに入る値:
0: Off: ‘ハック’ を無効にします。
1: On: ‘ハック’ を有効にします。

Route名前空間

Route.Comment 文字列

文字列:メインメニューでルートファイルを選択した際に表示されるコメントの文字列。


Route.Image パス

パス:メインメニューでルートファイルを選択した際に表示される画像への相対パス。


Route.Timetable 文字列

文字列:時刻表の上部に表示される文字列。


Route.Change モード

モード:運転開始時のブレーキと保安装置の電源の状態を表す数値

モードに入る値ブレーキの状態保安装置の電源
-1常用最大
0非常
1非常

Route.Gauge 軌間

軌間:rail0(自軌道)で使用する軌間、ミリメートル単位。デフォルトは1435(標準軌)。


Route.Signal(現示インデックス) 速度

現示インデックス:信号現示を示す整数。
速度:対応するインデックスの現示での許容速度。デフォルトの単位はキロメートル毎時。

このコマンドによって信号の現示とその許容速度を定義します。デフォルトでの設定は以下の表のとおりです。

現示インデックス現示現示名許容速度
0停止0
1●●警戒25
2注意55
3減速75
4進行制限なし
5●●高速進行制限なし

Route.RunInterval 間隔0; 間隔1; ...; 間隔n-1

間隔:他列車の時刻表との間隔を示す数値。単位は秒。

このコマンドは、一つ以上の運転する列車の前後の列車を生成します。これらの列車は路線に表示され、完全に機能し、運転する列車と同じ外観を使用します。 他の列車は運転する列車と同じ時刻表に従いますが、 Interval によって時間的にオフセットされます。 Track.Sta コマンドにより、運転する列車のみ、または前後を走る列車のみが停止する駅を定義することが出来ます。 後続の列車は配置されたセクションが他の列車によってクリアされた後にのみ表示されますが、運転する列車は現在の信号セクションの状態に関係なく設置されます。 従って、路線の開始時に運転する列車が表示されるセクションを前後の列車がクリアしていることを確認する必要があります。


Route.AccelerationDueToGravity 加速度

加速度:メートル毎秒の二乗 (m/s²) で重力による加速度を表す正の浮動小数点数。 デフォルト値は 9.80665 です。


Route.Elevation 標高

標高:海抜の初期の値を示す数値。デフォルトは0。


Route.Temperature 気温

気温:摂氏での初期の気温を表す数値。デフォルトは20。


Route.Pressure 気圧

気圧:気圧の初期の気圧を表す数値。単位キロパスカル、デフォルトは101.325。


Route.DisplaySpeed 単位; 変換係数

単位:速度関連のメッセージが表示されるテキストの単位。
変換係数:km/hに対するカスタム速度単位の間の変換係数。 mph の場合は 0.621371 になります。

このコマンドを使用すると、速度に関連するメッセージが表示された際(速度超過など)、カスタム速度単位、 mph等で表示することが出来ます。


Route.LoadingScreen パス

パス:画像へのファイルパス。

このコマンドを使用すると、カスタム画像をロード画面の背景として使用することが出来ます。


Route.StartTime 時刻

時刻:シミュレーションの開始時刻。

このコマンドを使用すると、シミュレーションの開始時刻を設定することができます。時刻が設定されていない、また無効なときは、開始駅の到着時刻にシミュレーションが開始されます。


Route.DynamicLight パス。

パス:ダイナミックライティングが定義されたXMLファイルへのパス。


Route.AmbientLight 赤; 緑; 青

赤:環境光の赤の要素を表す0から255までの範囲の整数。 デフォルト値は 160 です。
緑:環境光の緑の要素を表す0から255までの範囲の整数。 デフォルト値は 160 です。
青:環境光の青の要素を表す0から255までの範囲の整数。 デフォルト値は 160 です。

このコマンドは、使用する環境光の色を定義します。 3D空間内の全てのポリゴンは、ライトの方向に関係なく、 環境光によって照らされます。


Route.DirectionalLight 赤; 緑; 青

赤:指向性ライトの赤の要素を表す0から255までの範囲の整数。 デフォルト値は160です。
緑:指向性ライトの緑の要素を表す0から255までの範囲の整数。 デフォルト値は160です。
青:指向性ライトの緑の要素を表す0から255までの範囲の整数。 デフォルト値は160です。

このコマンドは、使用する指向性ライトを定義します。 3D空間内のポリゴンは、ライトの方向が前面に差している場合にのみ、指向性ライトによって完全に照らされます。 背面に差している場合、指向性ライトは効果を与えません。 Route.LightDirection を設定して、光の方向を指定する必要があります。


Route.LightDirection Θ; φ

Θ:ライトの方向のピッチを制御する 度 の角度を表す浮動小数点数。 デフォルト値は 60 です。
φ:ライトの方向の回転の面の 度 の角度を表す浮動小数点数。 デフォルト値は -26.57 です。

このコマンドは、 自線の距離程0における初期の光の方向を定義します。 これは光が当たる方向で、 太陽が位置する方向とは反対の方向であることを意味します。 まず最初に、 Θ がピッチを決定します。 90 は下の方向を示し、 -90 は上方向を示します。 此等の値が極端な場合、 φ の値は無関係になります。 Θ の値が0の時、後ろの水平線から始まる順方向を示します。 ピッチが Θ によって決定されると、 φ が平面の回転を決定します。 値が0のときは回転せず、 90 の時は右方向に回転し、 -90 の時は左方向に回転します。 Θ と φ を 180 と 0 、または 0 と 180 に設定することで、 逆方向を両方とも取得できます。 中間の値を取ることで、正確な光の方向をより正確に制御できます。


Route.InitialViewpoint モード

モード:初期のカメラ視点モードを定義する整数。以下の値が有効です:
0 : カメラは運転台視点になります。 (デフォルト)
1 : カメラは ‘車外カメラ’ モードになります。
2 : カメラは ‘路線カメラ’ モードになります。
3 : カメラは ‘フライバイズームカメラ’ モードになります。

このコマンドを使用すると、路線作成者は初期カメラを代替のカメラモードの一つへ設定することが出来ます。


Route.DeveloperID

このコマンドは使用しません。

Train名前空間

この名前空間では、路線と列車の関連付けを定義します。


Train.Folder フォルダ名
Train.File フォルダ名

フォルダ名:この路線で使用するデフォルトの車両のフォルダ名。


Train.Run(レールインデックス) インデックス
Train.Rail(レールインデックス) インデックス

インデックス:Structure.Railで定義され、Track.RailTypeで使用される、レールの種類を表す非負の整数。 RunSoundIndex: レールの種類に関連付ける、列車の走行音を表す非負の整数。

列車の作成者は様々な走行音のレパートリーを提供します。 このコマンドを用いることで、それらの走行音を路線で使用するレールの種類に関連付けます。 どのレールでも正しい走行音を鳴らすには、列車の開発者と作業を調整する必要があります。


Train.Flange(レールインデックス) インデックス

インデックス:Structure.Rail によって定義され、Track.RailTypeを通じて用いられる負でない整数 RunSoundIndex: レールの種類に関連付けれられる、列車のフランジ音を表す整数

列車の開発者は様々なフランジ音を提供します。このコマンドを用いることで、此等のフランジ音を路線で使用するレールの種類に関連付けます。路線製作者が使用するレールの種類に対して正しいサウンドを再生させるためには、列車の開発者と協力して作業を調整する必要があります。


Train.Timetable(時刻表インデックス).Day ファイル名

時刻表インデックス:時刻表インデックス番号を表す、負でない整数
ファイル名:列車のフォルダを基準にした、若しくは Object フォルダを基準にした、昼間の時刻表のファイル名

このコマンドを使用して、時刻表の日中のバージョンをロードします。特定の駅から開始して表示する時刻表のインデックスは、Track.Staコマンドで設定できます。


Train.Timetable(時刻表インデックス).Night ファイル名

時刻表インデックス:時刻表インデックス番号を表す、負でない整数
ファイル名:列車のフォルダを基準とした、若しくは Object フォルダを基準とした、夜間の時刻表のファイル名

このコマンドを使用して、時刻表の夜間のバージョンをロードします。特定の駅から開始して表示する時刻表のインデックスは、Track.Staコマンドで設定できます。


Train.Gauge 軌間

軌間:軌間の幅を表す浮動小数点数。 ミリメートル (0.001 メートル) で表します。 デフォルトの数値は 1435 です。


Train.Interval 間隔0; 間隔1; …; 間隔n-1

間隔:運転する列車と先行列車の間の時間間隔を表す浮動小数点数。 秒で表します。 デフォルトの数値は 0 です。


Train.Velocity 速度

速度:先行列車が移動できる最高速度を表す正の浮動小数点数。 デフォルト では キロメートル/時で表し、0は無限です。 デフォルト値は 0 です。

このコマンドは、先行列車が移動できる最高速度制限を定義します。実際の制限速度はTrack.Limitによって下げることが出来ます。運転する列車はこの設定の影響を受けず、Track.Limitで定義された制限まで移動する可能性があります。


Train.Acceleration

このコマンドはOpenBVEでは無視されます。


Train.Station

このコマンドはOpenBVEでは無視されます。

Structure名前空間

Structure名前空間のコマンドは、他のコマンドで使用するオブジェクトを定義します。通常、Track.Rail、 Track.FreeObjなどのコマンドは、 ストラクチャーインデックスによって参照されるオブジェクトを定義します。 このストレクチャーインデックスは、そのコマンドに固有であるため、 Track.Rail、Track.FreeObjなどに固有のオブジェクトのセットを定義できます。

Structure名前空間のコマンドの一般的な構文は次のとおりです。

Structure.コマンド(ストラクチャーインデックス) ファイル名

ストラクチャーインデックス:負でない整数。
ファイル名:読み込ませるオブジェクトファイル名で Object フォルダと連携します。
コマンド:以下のコマンドになります

コマンド説明
GroundCycle.Ground 及び Track.Groundで用いるオブジェクトを定義します。
RailTrack.Rail、Track.RailStart 及び Track.RailType で用いるオブジェクトを定義します。
WallLTrack.Wall の左側のオブジェクトを定義します。
WallRTrack.Wall の右側のオブジェクトを定義します。
DikeLTrack.Dike の左側のオブジェクトを定義します。
DikeRTrack.Dike の右側のオブジェクトを定義します。
FormLTrack.Form の左側の線路寄りのオブジェクトを定義します。
FormRTrack.Form の右側の線路寄りのオブジェクトを定義します。
FormCL変形可能なTrack.Formの左側を定義します。 アニメーテッドオブジェクトはサポートされていません。
FormCR変形可能なTrack.Formの右側を定義します。 アニメーテッドオブジェクトはサポートされていません。
RoofLTrack.Formの左側の線路寄りの屋根のオブジェクトを定義します。
RoofRTrack.Formの右側の線路寄りの屋根のオブジェクトを定義します。
RoofCL変形可能なTrack.Formの左側の屋根のオブジェクトを定義します。 アニメーテッドオブジェクトはサポートされていません。
RoofCR変形可能なTrack.Formの右側の屋根のオブジェクトを定義します。 アニメーテッドオブジェクトはサポートされていません。
CrackL変形可能なTrack.Crackの左側のオブジェクトを定義します。 アニメーテッドオブジェクトはサポートされていません。
CrackR変形可能なTrack.Crackの右側のオブジェクトを定義します。 アニメーテッドオブジェクトはサポートされていません。
FreeObjTrack.FreeObj を定義します。
BeaconTrack.Beacon のオブジェクトを定義します。
WeatherTrack.Rain および Track.Snow を使用して生成された気象のオブジェクトを定義します。

一般に、サポートされるオブジェクトは B3D、CSV、X、およびアニメーションです。ただし、FormCL、FormCR、RoofCL、RoofCR、CrackL、および CrackR コマンドでは、B3D、CSV、X オブジェクトのみが受け入れられます。

さらに、少し異なる構文を持つ Structure.Pole コマンドがあります。

Structure.Pole(対応する線路の数; ストラクチャーインデックス) ファイル名

対応する線路の数:対応する線路の数
ストラクチャーインデックス:負でない整数。
ファイル名:読み込ませるオブジェクトファイル名で Object フォルダと連携します。
FreeObj を除くすべてのオブジェクトはブロックの先頭に挿入されるため、Z 軸上の 0 からBlockLength (既定では 25m) まで拡張する必要があります。

Texture名前空間

この名前空間のコマンドは、使用する背景イメージと配置方法を定義します。

背景画像は、カメラの周囲に円筒状の壁として表示され、開始(上から見た状態)は、最初の進方向の左(10時位置)の 60 度です。そこから、背景イメージは、テクスチャを介して指定された繰り返しカウントで円柱の周りに時計回りにラップします。X は、デフォルトでは完全な円の中に 6 回の繰り返しを作成します。

イメージの上側 3/4 は水平線の上に表示され、下の 1/4 は水平線の下に表示されます。Texture.Background(背景インデックス).Aspectを用いて円柱の高さを固定するか、テクスチャのアスペクト比を維持するかを選択できます。イメージの高さが固定されている場合、円柱の半径は 1/2 で、画像の上部に約 20 度の傾斜、イメージの下部に対して約 -7 度に相当します。画像の縦横比が維持されている場合、画像の幅と高さだけでなく、繰り返しカウントも考慮されます。

選択した繰り返し回数に関係なく、テクスチャの左端と右端がシームレスに一緒に収まるようにする必要があります。また、上と下のキャップは、画像の上と下から10%からサンプルを作成することを考慮してください。このような極端な極端がトップキャップに漏れないように、画像の上位10%で山頂と同様の極端を避けるべきです。

ルートの先頭にある Track.Back コマンドが別のイメージを要求しない限り、Texture.Background(0) にロードされたイメージはルートの先頭に表示されます。


Texture.Background(背景インデックス) ファイル名

ファイル名:使用するテクスチャーのObjectフォルダーからの相対パス


Texture.Background(背景インデックス).X 繰り返し回数

繰り返し回数:背景画像が完全な円で繰り返される回数。デフォルト値は6です。


Texture.Background(背景インデックス).Aspect モード

モード:使用するアスペクト比処理のモード。デフォルト値は 0 (固定) です。

モードに入る値:
0:固定: 円柱の高さを固定します。
1: アスペクト: 画像のアスペクト比を維持します。

Cycle名前空間

Cycle.Ground(地面ストラクチャーインデックス) 地面ストラクチャーインデックス0; 地面ストラクチャーインデックス1; 地面ストラクチャーインデックス2; …; 地面ストラクチャーインデックスn-1

地面ストラクチャーインデックス:サイクルが定義される地表構造インデックスを示す負でない整数。
地面ストラクチャーインデックスi:Structure名前空間で定義した地面ストラクチャーのインデックス。

通常、Track.Ground(ストラクチャーインデックス) を使用する場合、同じ地面のオブジェクトがすべてのブロックに繰り返し配置されます。Cycle.Groundを介して、この動作をオーバーライドし、Track.Ground(地面インデックス)を使用すると、一連の異なるオブジェクトを自動的に循環させることができます。


Cycle.Rail(線路ストラクチャーインデックス) 線路ストラクチャーインデックス0; 線路ストラクチャーインデックス1; 線路ストラクチャーインデックス2; …; 線路ストラクチャーインデックスn-1

線路ストラクチャーインデックス:サイクルが定義されるレール構造インデックスを示す負でない整数。
線路ストラクチャーインデックスi: Structure.Rail を介して以前にロードされたレール構造を示す負でない整数。

Signal名前空間

Signal(信号インデックス)   ファイル名

信号インデックス:信号インデックスを表す負でない整数。
ファイル名:オブジェクトフォルダを基準にした、アニメーション化されたオブジェクトファイルのパス。

このコマンドを使用して、アニメートされたオブジェクトから信号を直接読み込みます。信号インデックスは、後でTrack.SigFコマンドで参照して信号を配置できます。


Singnal(信号インデックス)   信号ファイル; 光彩

信号インデックス:信号インデックスを表す負でない整数。
信号ファイル:オブジェクトフォルダに対する相対値を示す B3D/CSV/X オブジェクト ファイルへの参照ですが、ファイル拡張子は付けられません。指定が必要です。
光彩:オブジェクトフォルダに対する相対距離を表す B3D/CSV/X オブジェクト ファイルへのオプションの参照ですが、ファイル拡張子はありません。

このコマンドを使用して、共通オブジェクトに適用された一連の個々のテクスチャからの信号をロードします。openBVE は X、CSV、B3D オブジェクトをこの正確な順序で検索します。テクスチャは、信号または光彩と同じ名前に、負でない現示インデックスに加えて、テクスチャのファイル拡張子を持つ必要があります。信号インデックスは、後で Track.SigF コマンドで参照してシグナルを配置できます。

Track名前空間

この名前空間のコマンドは、線形やストラクチャーの配置などを定義します。この名前空間からのコマンドは、他の名前空間のコマンドの後に表示され、通常はルート ファイルの最大の部分を形成します。

Track名前空間のすべてのコマンドは、距離程を記述る必要があります。距離程を定義すると、新しい距離程が定義されるまで、後続のすべてのコマンドがこの距離程に関連付けられます。Track名前空間の最初のコマンドが使用される前に距離程を明示的に指定しない場合は、0が使用されます。距離程を昇順で使用する必要はありませんが、同じ距離程に関連付けられた一連のコマンドは、ファイルがロードされると昇順にソートされます。距離程は任意の負の浮動小数点数を指定できますが、Track名前空間の多くのコマンドは、ブロックの先頭(デフォルトでは 25m)にのみ適用されます。デフォルトの状況では、これは、一部のコマンドが距離程0、25、50、75、100、125などでのみ使用されることを意味します。この制限が適用されるすべてのコマンドは、そのようにマークされます。

線路

Track.RailStart 線路インデックス; X; Y; 線路タイプ

線路インデックス:使用する線路インデックスを示す正の整数 (>=1) 。
X:プレイヤーの線路からの水平距離を表す浮動小数点数で、デフォルトではメートル単位で測定されます。負の値は左、正の値は右を示します。
Y:プレイヤーのレールからの垂直距離を表す浮動小数点数で、デフォルトではメートル単位で測定されます。負の値は、上記の正の値を以下に示します。
線路タイプ:Structure.Rail コマンドまたは Structure.Cycle コマンドで定義されたとおりに使用するレールタイプを参照する負でない整数。

このコマンドは、インデックスの線路インデックスで表される新しい線路を開始します。このコマンドが使用されるポイントでは、同じ線路インデックスのレールがルート内でこれまで使用されていないか、または Track.RailEnd コマンドを介して終了されている必要があります。ルート内で同じ線路インデックスの線路がすでに使用されている場合、X、Y、および線路タイプのデフォルト値は、そのレールで最後に使用された値であり、それ以外の場合は 0 です。線路を更新する場合は、Track.Rail コマンドを使用します。終了する場合は、Track.RailEnd コマンドを使用します。特定の線路インデックスの線路を終了し、同じ線路の新しい線路を同じ距離程で開始できます。すべてのブロックについて、RailTypeによって決定されるストラクチャーが自動的に配置されます。

このコマンドは、ブロックの先頭でのみ使用できます。


Track.Rail 線路インデックス; X; Y; 線路タイプ

線路インデックス:使用する線路インデックスを示す正の整数 (>=1) 。
X:プレイヤーの線路からの水平距離を表す浮動小数点数で、デフォルトではメートル単位で測定されます。負の値は左、正の値は右を示します。
Y:プレイヤーのレールからの垂直距離を表す浮動小数点数で、デフォルトではメートル単位で測定されます。負の値は、上記の正の値を以下に示します。
線路タイプ:Structure.Rail コマンドまたは Structure.Cycle コマンドで定義されたとおりに使用するレールタイプを参照する負でない整数。

このコマンドは、新しい線路を開始するか、既存の線路を更新します。この線路は、インデックスの線路インデックスで表されます。ルート内で同じ線路インデックスの線路がすでに使用されている場合、X、Y、および 線路タイプのデフォルト値は、その線路で最後に使用された値であり、それ以外の場合は 0 です。線路を終了する場合は、Track.RailEnd コマンドを使用します。特定の線路インデックスの線路を終了し、同じ線路の新しい線路を同じ距離程で開始できます。各ブロックで、Track.Rail コマンドがそのブロックに使用されていない場合、X値とY値が繰り返されます。その結果、XまたはY値を更新すると、前のブロックからの線路の配置のみが影響を受けます。線路タイプを変更すると、このコマンドが使用されているポイントから線路に影響します。このコマンドが同じ線路の同じ距離程で複数回使用される場合、コマンドの最初のインスタンスが有効になりますが、後続のインスタンスは無視されます。

このコマンドは、ブロックの先頭でのみ使用できます。
このコマンドでは、RailIndex 値 0 を使用することは無効です。

Track.RailStartとTrack.Railについて
新しい線路を開始する場合は、Track.RailStart または Track.Rail を使用できます。Track.RailStart を使用する場合、新しい線路が実際に開始されるというマークアップを提供します。明示的な Track.RailStart を使用すると、既に使用されているRailIndexを使用しないように保護され、その場合はエラー メッセージが生成されます。


Track.RailType 線路インデックス; 線路タイプ

線路インデックス:どの線路インデックスを変更するかを示す負でない整数。プレイヤーの線路はインデックス0を使用できます。デフォルト値は 0 です。
線路タイプ:Structure.RailコマンドまたはStructure.Cycleコマンドで定義されたとおりに使用する線路タイプを参照する負でない整数。デフォルト値は 0 です。

このコマンドは、線路インデックスで表される既存の線路の線路タイプを変更します。レールはTrack.RailStartコマンドまたはTrack.Railコマンドで開始され、Track.RailEndコマンドによって終了されていない必要があります。線路タイプを変更すると、このコマンドが使用されているポイントから線路に影響します。

このコマンドは、ブロックの先頭でのみ使用できます。


Track.RailEnd 線路インデックス; X; Y

線路インデックス:使用する線路インデックスを示す正の整数 (>=1)。
X:プレイヤーのレールからの水平距離を表す浮動小数点数で、デフォルトではメートル単位で測定されます。負の値は左、正の値は右を示します。
Y:プレイヤーのレールからの垂直距離を表す浮動小数点数で、デフォルトではメートル単位で測定されます。負の値は、上記の正の値を以下に示します。

このコマンドは、線路インデックスで表される既存のレールを終了します。XとYのデフォルト値は、線路で最後に使用された値です。このコマンドが特定の線路に対して使用されると、対応するレールは後で存在しないとみなされます。

このコマンドは、ブロックの先頭でのみ使用できます。
このコマンドでは、線路インデックス 0 を使用することは無効です。


Track.Accuracy 精度

精度:トラックの精度を表す非負の浮動小数点数。デフォルト値は 2 です。

このコマンドは、このポイントから軌道の精度を設定します。値は0から4の範囲で、0は完全な精度を意味し、1は非常に良好な精度(高速線)を意味し、2は高精度を意味し、3は平凡な精度を意味し、4は不正確であることを意味します。中間値も可能です。現在、0 より低い値は 0 でクランプされ、4 を超える値は 4 でクランプされます。


Track.Adhesion 粘着比

粘着比:車両の設計値に対する比 [%] (参考: 乾燥 = 135, 湿潤 = 93, 霜 = 85, 雪 = 50)

このコマンドは、このポイントからのトラックの粘着を設定します。値が 0 の場合、列車はまったく移動できません。


Track.Rain 強度; 天気タイプ

強度:現在の降雨の強度を表すパーセントで表された非負の浮動小数点数。デフォルト値は 0 です。
天気タイプ:この時点以降の天気の定義に従って使用する気象タイプを参照する負以外の整数。

このコマンドは、現在の降雨の強度と表示される気象オブジェクトを設定します。


Track.Snow 強度; 天気タイプ

強度:現在の降雪の強度を表すパーセントで測定された非負の浮動小数点数。デフォルト値は 0 です。
天気タイプ:この時点以降の天気の定義に従って使用する気象タイプを参照する負以外の整数。

このコマンドは、現在の降雪量の強度と、表示する気象オブジェクトを設定します。

線形


Track.Pitch 勾配

勾配:これより先の勾配を表す数値、単位パーミル(‰)。

このコマンドは、この地点からすべての線路の勾配を定義します。負の値は下り勾配、正の値は上り勾配を示します。値0は、平坦な線路を表します。

このコマンドは、ブロックの先頭でのみ使用できます。


Track.Curve 半径; カント

半径:曲線の半径を表す浮動小数点数、単位メートル(m)。
カント:その曲線におけるカントの値、単位ミリメートル(mm)。

このコマンドは、ブロックの先頭でのみ使用できます。


Track.Turn 比

比:旋回を表す浮動小数点数。デフォルト値は 0 です。

このコマンドは、ブロックの先頭でのみ使用できます。
このコマンドは非推奨です - 代わりに Track.Curve を使用してください。


Track.Height Y

Y:プレイヤーのレールの高さを表す浮動小数点数で、デフォルトではメートル単位。

このコマンドは、挿入点でのプレイヤーのレールの地面上の高さを定義します。これは、Structure.Ground を介して定義され、Track.Ground を介して変更された地表オブジェクトの配置に影響します。前後の設定点と線形補完されます。

このコマンドは、ブロックの先頭でのみ使用できます。