BVE Trainsim 5(通称BVE5)でマップファイルを作成していると、Structure['FormDoorL'].Put(...)といった記述が出てきます。この記事では、その構文がどんな意味を持ち、特にStructure['FormDoorL'].Put(0, -0.4, 0, 0, 0, 0, 0, 1, 25);がどのように読み解けるのかをわかりやすく解説します。
Structure.Putとは何か?
Structure['FormDoorL']は、事前に定義された3Dオブジェクト「FormDoorL」(左側のホームドア部品など)を呼び出しています。.Put()は、それをレイアウト上の特定の位置に設置するための関数です。
この構文は、オブジェクトを位置・回転・縮尺の指定をもとに配置する命令であり、9つの数値引数で構成されています。
それぞれの引数の意味
Structure['FormDoorL'].Put(0, -0.4, 0, 0, 0, 0, 0, 1, 25);の中身は以下のように分解して考えられます。
| 引数位置 | 内容 | 意味 |
|---|---|---|
| 1 | 0 | X座標(左右の位置) |
| 2 | -0.4 | Y座標(高さ) |
| 3 | 0 | Z座標(前後の位置) |
| 4~6 | 0, 0, 0 | 回転角度(X, Y, Z軸)※通常は未使用かゼロで良い |
| 7 | 0 | 左右反転指定(0=そのまま、1=左右反転) |
| 8 | 1 | 縮尺倍率(通常1) |
| 9 | 25 | 設置する距離(m)=トラック上の位置 |
この場合は、「左側のドア部材FormDoorLを、高さ-0.4m、左右0m、奥行0mの位置に、距離25mの地点にそのままのスケール・向きで設置する」という意味になります。
より具体的なイメージと使いどころ
たとえば駅のホームにホームドアを設置する場合、複数のFormDoorLオブジェクトを等間隔で並べる必要があります。その際、Z位置は0、Xも0(またはずらす)、Yだけを微調整して、高さに合わせるという使い方をします。
また、引数の最後「25」はその構文が適用されるトラックの距離(距離地点)です。これが「100」になれば、100m地点で表示されることになります。
Put構文を使いこなすためのコツ
- プレビューしながら位置微調整するのが効率的です
- 繰り返し構文やループ処理で多数設置する場合も、Put関数でベース座標を定義しておくと作業が楽になります
- 回転引数は基本的には0で十分ですが、曲線に合わせて傾けたい場合などに使えます
まとめ
Structure['FormDoorL'].Put(0, -0.4, 0, 0, 0, 0, 0, 1, 25);という記述は、BVE5のマップ内で3Dオブジェクトを「どこに・どの向きで・どのスケールで・どの位置に」置くかを細かく指定する重要な命令です。
最初は数字の羅列で難しく見えますが、意味を分解して理解すれば自由にマップを構築できる大きな武器になります。

コメント