鉄ちゃんのページ
menu

BVE Codes


train パネルファイル


★執筆当時の仕様をもとに記載しています。必ず最新の公式ドキュメントを確認してください。

ヘッダーコメントアウト画像設定値subjectセクション

PTConfig4内のパネル編集ツールで編集できますが、各項目がどんな役割をしているのか等は知っておいたほうがいいです。


ヘッダー

1行目は「BveTs Instrument Panel 2.01」を記述する。
特段の事情がない限り、UTF-8形式で保存する。
※メモ帳の場合は、「名前を付けて保存」の保存ダイアログの保存ボタンの左側の文字コードを「UTF-8」にする。


コメントアウト

# または ; 以降の改行までの記載内容はBVEには読み込まれない。
コメント(メモ書き)として使用できる。
※後で見返した時に分からなくなるので、コメントは積極的に書いたほうが良い。


画像

[形式]
bmp形式もしくはpng形式。(公式には「ビットマップイメージ」となっているがpngでもいける)
半透明の画像を使用したい場合は、すでに半透明の処理をしたpng形式の画像を使う。
パネルではdds形式は使用できない。

[サイズ]
縦横とも2のn乗ピクセルになっていること。それ以外のサイズだと、それより大きい最小の2の累乗値として扱われ縮小がかかる。
例) 160*80の画像の場合、右および下に余白を追加して256*128にしてそれを160*80に縮小して扱われる。



設定値

Angle
y軸マイナス方向が0度、左回りがマイナス、右回りがプラス。単位は度。
※時計の12時方向が0度で時計回りに角度が増加する。

Color
16進数(hex)のカラーコード。#はコメント用に記号として扱わるため省略した6文字。
※Googleで#000000で検索すると、カラーパレットが表示される。色をいじってできたHEX文字列を使用する。

LenderingOrder
レイヤー番号。数字が小さいほど下に表示される。
※同じ座標にレイヤー1とレイヤー2に表示する場合、レイヤー2のほうが表示される。



Path
パネルファイルからの相対パス。


subject

各subjectとその内容については公式ドキュメントを確認のこと。

型と表示について
boolintfloat
FalseTrue00以外の整数N00以外の整数N実数M
PilotLamp×××
Needle010N0NM
DigitalGauge010N0NM
DigitalNumber010N0N[M](小数点以下切捨)


セクション

BVEから各Subjectに値がセットされるので、それに基づいて表示が行われる。

[This] 
1回だけ使用可能。Subjectの指定はなく、常に表示される。

[PilotLamp] 
セットされた値が0なら非表示、0以外なら表示される。

[Needle] 
セットされた値に応じて、画像が回転して表示される。
速度計の針などに使用。

[DigitagGauge] 
セットされた値に応じて、扇形が表示される。
扇形のデジタル速度計などに使用。

[DigitalNumber] 
セットされた値に応じて、切り抜いた画像が表示される。
デジタル数字の表示やアニメーションに使用する。


[This]セクション

Resolution = value
シナリオをスタートした時に、BVE画面の横幅いっぱいを画像の横幅何px分に拡大縮小するか。

Left = value
視点移動で表示可能な限界のx座標

Top = value
視点移動で表示可能な限界のy座標

Right = value
視点移動で表示可能な限界のx座標

Bottom = value
視点移動で表示可能な限界のy座標

DaytimeImage =path
昼間の画像のファイルの相対パス

NighttimeImage =path
夜間の画像のファイルの相対パス

TransparentColor =color
透過させる色コード

Center = x, y
シナリオをスタートした時に、画像のCenterの座標がBVE画面の中央に来るように表示される。

Origin = x, y
一点透視図法の消失点とする画像内の座標。

Perspective = ratio
「他のセクションでTiltを設定した計器のパース (遠近感) の強さ。値が大きいほどパースは弱くなります。既定値は 1。Tiltが設定されていない計器に対して効果はありません。」
※詳細は他の偉い人に聞いてください。

Thisの表示例:元画像


シナリオ読み込み直後の表示(本来表示されない領域も含む)
Resolution=800、Origin=480,420、Center=480,460の場合
※TransparentColor=000000の場合は黒いピクセルが透過する。



[PilotLamp]セクション

Subject = subjectKey
表示する状態量

Location = x, y
パネル画像における表示灯左上の座標

DaytimeImage =path
昼間の画像のファイルの相対パス

NighttimeImage =path
夜間の画像のファイルの相対パス

TransparentColor =color
透過させる色コード

Layer = renderingOrder
この画像の描画順序


[Needle]セクション

Subject = subjectKey
表示する状態量

Location = x, y
パネル画像における回転中心

DaytimeImage =path
昼間の画像のファイルの相対パス

NighttimeImage =path
夜間の画像のファイルの相対パス

Color =color
面の色

TransparentColor =color
透過させる色コード

Origin = x, y
針の画像における回転中心

Layer = renderingOrder
この画像の描画順序

Radius = value
針の半径

InitialAngle =angle
最小値を指す針の角度[度]

LastAngle = angle
最大値を指す針の角度[度]

Minimum = value
最小値

Maximum = value
最大値

Tilt = angleX, angleY
垂直面に対する針の回転面の角度。
angleX: X 軸まわりの回転角度[度]。正方向は上向き。既定値は 0。
angleY: Y 軸まわりの回転角度[度]。正方向は左向き。既定値は 0。
※詳細は他の偉い人に聞いてください。

StopPin = flag
針の可動範囲を Minimum と Maximum の間に制限する場合は True、しない場合は False。既定値は False。

NaturalFreq = value
針の固有角振動数
針の動く速さ。6.28で1周1秒。0の場合は常に指示値と一致する。

DampingRatio = value
針の減衰比
固有角振動数が0でない時に、針の振動が収まる速さ。

Originの位置。


画像上端とOriginの距離がRadiusになるように拡大縮小され、Originがパネル画像のLocationに来た状態で回転する。



[DigitalGauge]セクション

Subject = subjectKey
表示する状態量

Location = x, y
パネル画像における回転中心

Color =color
LED 消灯の色

Layer = renderingOrder
この画像の描画順序

Radius = value
ゲージの半径

InitialAngle = angle
最小値の時の角度[度]

LastAngle = angle
最大値の時の角度[度]

Minimum = value
最小値

Maximum = value
最大値

Tilt = angleX, angleY
垂直面に対する表示面の角度。
angleX: X 軸まわりの回転角度[度]。正方向は上向き。既定値は 0。
angleY: Y 軸まわりの回転角度[度]。正方向は左向き。既定値は 0。
※詳細は他の偉い人に聞いてください。

Step = value
分解能。
DigitalなのでNeedleと違ってヌルヌルとは動かない。値が分解能の分だけ増えるたびに表示が変わる。




[DigitalNumber]セクション

Subject = subjectKey
表示する状態量

Location = x, y
パネル画像における左上の座標

DaytimeImage =path
昼間の画像のファイルの相対パス

NighttimeImage = path
夜間の画像のファイルの相対パス

TransparentColor = color
透過させる色コード

Layer = renderingOrder
この画像の描画順序

Interval = value
1コマの高さ
指定しないと0の扱いになる。(つまり高さ0なので見た目にはなにも表示されない)

同じ高さの画像を縦に連結した画像を作成する。


0の時に「N」、1の時に「P1」、…、5の時に「P5」が表示される。