マップファイル



書式


エンコードは UTF-8 (BOM なし) です。

BveTs Map 1.00 この文字列をファイルの最初に必ず記述します。
statment; 1 つの構文の最後に ";" を記述します。
statment; statment; ... 改行とスペースは同等に扱われます。1 行に複数の構文を記述することも、また 1 つの構文を複数行にわたって記述することもできます。
statment; //comment "//" から改行までの文字列は無視されます。
...



構文


距離程


dist

数字のみを記述した場合、現在の距離程が設定されます。ここで設定する距離程は、実際の路線の距離程と同じである必要はありません。値が大きいと計算誤差も大きくなるため、できる限り値が小さくなるように設定することを推奨します。

dist: 距離程 [m] (0 以上の整数)


自列車が走行する軌道


Curve.Gauge(value) UP

軌間を設定します。この値は、カントをロール角に換算するために使用します。

value 軌間 [m]


Curve.BeginTransition()

平面曲線の緩和曲線を開始します。


Curve.BeginCircular(radius, cant)

平面曲線の円曲線を開始します。

radius 曲線半径 [m] (正: 右曲線, 負: 左曲線)
cant カント量 [m]


Curve.End()

平面曲線を終了し、直線を開始します。


Gradient.BeginTransition()

縦曲線を開始します。


Gradient.BeginConst(gradient)

一定勾配を開始します。

gradient 勾配 [‰]


Gradient.End()

勾配を終了し、レベル (水平) を開始します。


他軌道


Track[trackKey].Gauge(value) NEW

他軌道の軌間を設定します。この値は、カントをロール角に換算するために使用します。

trackKey: 軌道名 (任意の文字列)
value 軌間 [m]


Track[trackKey].Position(x, y)
Track[trackKey].Position(x, y, radiusH, radiusV)
NEW

他軌道の位置を設定します。軌道ストラクチャーを配置するには Repeater[].Begin0 構文を使用してください。

trackKey: 軌道名 (任意の文字列)
x: 自軌道からの x 座標 [m]
y: 自軌道からの y 座標 [m]
radiusH: 次の Track[].Position 構文までの平面曲線の半径 [m] (0: 直線) NEW
radiusV: 次の Track[].Position 構文までの縦曲線の半径 [m] (0: 直線) NEW


Track[trackKey].Cant(value)

他軌道のカントを設定します。複数記述した Track[].Cant 構文の間は線形補間されます。

trackKey: 軌道名 (任意の文字列)
value: カント量 [m] (正: 右に傾ける, 負: 左に傾ける)


風景


Structure.Load(filePath)

ストラクチャーリストファイルにもとづいてストラクチャーを読み込みます。ストラクチャーを使用する前にこの構文を記述する必要があります。

filePath: このファイルからストラクチャーリストファイルへの相対パス


Structure[structureKey].Put(trackKey, x, y, z, rx, ry, rz, tilt, span)

ストラクチャーを設置します。

structureKey: ストラクチャー名 (ストラクチャーリストファイルで定義した文字列)
trackKey: 配置先の軌道名 (0: 自軌道)
x: 軌道からの x 座標 [m]
y: 軌道からの y 座標 [m]
z: 軌道からの z 座標 [m]
rx: 軌道に対する x 軸回りの角 [deg]
ry: 軌道に対する y 軸回りの角 [deg]
rz: 軌道に対する z 軸回りの角 [deg]
tilt: 傾斜オプション (0: 常に水平, 1: 勾配に連動, 2: カントに連動, 3: 勾配とカントに連動)
span: 曲線における弦の長さ [m]


Structure[structureKey].Put0(trackKey, tilt, span)

ストラクチャーを設置します。Structure[].Put 構文の x, y, z, rx, ry, rz に 0 を設定したことと同じです。

structureKey: ストラクチャー名 (ストラクチャーリストファイルで定義した文字列)
trackKey: 配置先の軌道名 (0: 自軌道)
tilt: 傾斜オプション (0: 常に水平, 1: 勾配に連動, 2: カントに連動, 3: 勾配とカントに連動)
span: 曲線における弦の長さ [m]


Structure[structureKey].PutBetween(trackKey1, trackKey2)

ストラクチャーを 2 つの軌道の間に設置します。ストラクチャーは、軌道間の距離に応じて変形します。

trackKey1: 一方の軌道の軌道名 (0: 自軌道)
trackKey2: 他方の軌道の軌道名


Repeater[repeaterKey].Begin(trackKey, x, y, z, rx, ry, rz, tilt, span, interval, structureKey1, structureKey2, ... , structureKeyN)

ストラクチャーの連続配置を開始します。ストラクチャーは、軌道に沿って一定間隔に配置されます。

repeaterKey: 連続配置名 (任意の文字列)
trackKey: 配置先の軌道名 (0: 自軌道)
x: 軌道からの x 座標 [m]
y: 軌道からの y 座標 [m]
z: 軌道からの z 座標 [m]
rx: 軌道に対する x 軸回りの角 [deg]
ry: 軌道に対する y 軸回りの角 [deg]
rz: 軌道に対する z 軸回りの角 [deg]
tilt: 傾斜オプション (0: 常に水平, 1: 勾配に連動, 2: カントに連動, 3: 勾配とカントに連動)
span: 曲線における弦の長さ [m]
interval: 配置間隔 [m]
structureKey1, ... , structureKeyN: ストラクチャー名 (ストラクチャーリストファイルで定義した文字列)

interval の整数倍の距離程 (dist) にストラクチャーが配置されます。ストラクチャーを N 個記述した場合、(dist / interval) mod N + 1 番目に記述したストラクチャーが配置されます。

図


Repeater[repeaterKey].Begin0(trackKey, tilt, span, interval, structureKey1, structureKey2, ... , structureKeyN)

ストラクチャーの連続配置を開始します。Repeater[].Begin 構文の x, y, z, rx, ry, rz に 0 を設定したことと同じです。

repeaterKey: 連続配置名 (任意の文字列)
trackKey: 配置先の軌道名 (0: 自軌道)
tilt: 傾斜オプション (0: 常に水平, 1: 勾配に連動, 2: カントに連動, 3: 勾配とカントに連動)
span: 曲線における弦の長さ [m]
interval: 配置間隔 [m]
structureKey1, ... , structureKeyN: ストラクチャー名 (ストラクチャーリストファイルで定義した文字列)


Repeater[repeaterKey].End()

ストラクチャーの連続配置を終了します。

repeaterKey: 連続配置名


Background.Change(structureKey)

背景を変更します。

structureKey: ストラクチャー名


停車場


Station.Load(filePath)

停車場リストファイルにもとづいて停車場を定義します。Station.Put 構文を使用する前にこの構文を記述する必要があります。

filePath: このファイルから停車場リストファイルへの相対パス


Station[stationKey].Put(door, margin1, margin2)

この列車の停止位置をここに設定します。列車停止位置目標ストラクチャーを設置するには Structure.Put を使用してください。

stationKey: 停車場名 (停車場リストファイルで定義した文字列)
door: 開くドアの方向 (-1: 左, 1: 右)
margin1: 停止位置誤差の後方許容範囲 (負の値で設定)
margin2: 停止位置誤差の前方許容範囲


信号


Signal.Load(filePath)

信号現示リストファイルにもとづいて信号現示を定義します。Signal.Put 構文を使用する前にこの構文を記述する必要があります。

filePath: このファイルから信号現示リストファイルへの相対パス


Section.BeginNew(signal0, signal1, ... , signalN)

閉そくを開始します。

signal0: 先行列車がこの閉そくに存在する場合の信号インデックス
signal1: 先行列車が 1 閉そく先に存在する場合の信号インデックス
signalN: 先行列車が n 閉そく先に存在する場合の信号インデックス


Signal[signalAspectKey].Put(section, trackKey, x, y)
Signal[signalAspectKey].Put(section, trackKey, x, y, z, rx, ry, rz, tilt, span)

地上信号機を設置します。

signalAspectKey: 信号現示名 (信号現示リストファイルで定義した文字列)
section: 関連づける閉そくの相対インデックス
trackKey: 配置先の軌道名
x: 軌道からの x 座標 [m]
y: 軌道からの y 座標 [m]
z: 軌道からの z 座標 [m]
rx: 軌道に対する x 軸回りの角 [deg]
ry: 軌道に対する y 軸回りの角 [deg]
rz: 軌道に対する z 軸回りの角 [deg]
tilt: 傾斜オプション (0: 常に水平, 1: 勾配に連動, 2: カントに連動, 3: 勾配とカントに連動)
span: 曲線における弦の長さ [m]


Beacon.Put(type, section, sendData)

地上子の送信イベントをここに定義します。地上子ストラクチャーを設置するには Structure[].Put 構文を使用してください。

type: 保安装置に送る地上子種別 (整数)
section: 関連づける閉そくの相対インデックス
sendData: 保安装置に送る値 (整数)


Signal.SpeedLimit(v0, v1, ... , vn)

信号現示の許容速度を設定します。

v0, v1, ... , vn: 走行速度 [km/h]


速度制限


SpeedLimit.Begin(v)

速度制限を開始します。速度制限標識ストラクチャーを設置するには Structure.Put 構文を使用してください。

v: 走行速度 [km/h]


SpeedLimit.End()

速度制限を終了します。速度制限解除標識ストラクチャーを設置するには Structure.Put 構文を使用してください。


先行列車


PreTrain.Pass(time)

先行列車がここを通過する時刻を設定します。

time: 時刻 (hh:mm:ss)


光源 NEW


Light.Ambient(red, green, blue) NEW

環境光の色 (アンビエント色) を設定します。この構文は、マップファイルに 1 回のみ記述可能です。

red: 赤成分 (0 ~ 1)
green: 緑成分 (0 ~ 1)
blue: 青成分 (0 ~ 1)

Light.Diffuse(red, green, blue) NEW

平行光の色 (ディフューズ色) を設定します。この構文は、マップファイルに 1 回のみ記述可能です。

red: 赤成分 (0 ~ 1)
green: 緑成分 (0 ~ 1)
blue: 青成分 (0 ~ 1)

Light.Direction(pitch, yaw) NEW

距離程 0 において、平行光が指す方向を設定します。この構文は、マップファイルに 1 回のみ記述可能です。


霧効果


Fog.Set(density, red, green, blue)

霧効果を設定します。複数記述した Fog.Set 構文の間は線形補間されます。

density: 濃度
red: 赤成分 (0 ~ 1)
green: 緑成分 (0 ~ 1)
blue: 青成分 (0 ~ 1)


運転台


CabIlluminance.Set(value)

運転台の明るさを設定します。

value: 明るさ (0 ~ 1)


車両特性


Irregularity.Change(x, y, r, lx, ly, lr)

軌道変位を設定します。

x: 左右変位 (左と右のレールの通り変位の平均に相当) の標準偏差 [m]
y: 上下変位 (左と右のレールの高低変位の平均に相当) の標準偏差 [m]
r: ロール変位 (水準変位を軌間で除した値に相当) の標準偏差 [rad]
lx: 左右変位の遮断波長 [m]
ly: 上下変位の遮断波長 [m]
lr: ロール変位の遮断波長 [m]


Adhesion.Change(a)
Adhesion.Change(a, b, c)

車輪-レール間の粘着特性を設定します。

a: 走行速度 0 km/h における粘着係数
b: 粘着係数の走行速度に対する変化を表す係数
c: 粘着係数の走行速度に対する変化を表す係数

粘着係数式

ここで、v: 走行速度 [km/h]



Sound.Load(filePath)

サウンドリストファイルにもとづいてサウンドを読み込みます。

filePath: このファイルからサウンドリストファイルへの相対パス


Sound[soundKey].Play()

ここを通過時にサウンドを 1 回再生します。


Sound3D.Load(filePath)

サウンドリストファイルにもとづいてサウンドを読み込みます。

filePath: このファイルからサウンドリストファイルへの相対パス


Sound3D[soundKey].Put(x, y)

地上に固定された音源をここに設置します。サウンドは連続再生されます。

x: 軌道からの x 座標 [m]
y: 軌道からの y 座標 [m]


RollingNoise.Change(index)

走行音を変更します。

index: 車両サウンドファイルの [Run] セクションで定義したインデックス


FlangeNoise.Change(index)

フランジきしり音を変更します。

index: 車両サウンドファイルの [Flange] セクションで定義したインデックス


JointNoise.Play(index)

ここを通過時に分岐器通過音を走行速度に応じて再生します。

index: 車両サウンドファイルの [Joint] セクションで定義したインデックス


他列車


Train.Add(trainKey, filePath, trackKey, direction) UP

他列車ファイルにもとづいて他列車を定義します。

trainKey: 他列車名 (任意の文字列)
filePath: このファイルから他列車ファイルへの相対パス
trackKey: 走行する軌道
direction: 進行方向 (-1: 対向, 1: 並走)


Train[trainKey].Enable(time)

自列車がここを通過し、かつ設定された時刻になったとき、他列車の動作を有効にします。

trainKey: 他列車名
time: 時刻 (hh:mm:ss)


Train[trainKey].Stop(decelerate, stopTime, accelerate, speed)

他列車をここに一旦停車させます。

trainKey: 他列車名
decelerate: 減速度 [km/h/s]
stopTime: 停車時間 [s]
accelerate: 加速度 [km/h/s]
speed: 加速後の走行速度 [km/h]

© 2012 mackoy