AtsEX - ATSプラグイン拡張キット for BVE 5 & 6
ATSプラグインの機能を拡張するプラグインです。今までのATSプラグインではできなかった、新しい表現が可能になります。
ATSプラグインの要領で車両に組み込んで動作させます。
はじめに……ユーザー向けコンテンツ一覧
ダウンロード
AtsEX本体の他、サンプルマップ・車両を同梱しています。
現時点で完成している機能を手軽に試せます。
リリース - automatic9045/AtsEX (GitHub)
インストールガイド公開しました! NEW
インストールの方法が少々複雑で分かりづらかったため、詳しい説明を公開しました。
こちら→AtsEXインストールガイド
BVE5.8でAtsEX搭載車両を使用したい場合
そのままでは使用できませんが、BVE5.8本体に少しだけ手を加えると動作するようになります。
詳細→BVE5でAtsEXを使用するには
マッププラグインが組み込まれたマップをAtsEX非搭載車両で運転したい場合
車両にAtsEXを搭載すれば動作するようになります。車両コンバーターは今後開発する予定です。
詳細→準備中
よくある質問
こちら→よくある質問
以下のコンテンツは開発者向けです
以下のコンテンツはマップアドオン・車両アドオン・ATSプラグイン開発者向けです。
特長
BVEの何もかもを編集可能に
標準機能で提供されているものに加え、走行位置、速度、現在時刻から、駅リストやストラクチャ、サウンド、BVE本体のフォーム(ウィンドウ)、右クリックメニューまで、
BVEで使用されている幅広いデータや機能を取得・編集可能に拡張します。
かゆい所に手が届く自由度の高さ、何を作るかはあなた次第です。
テクスチャの動的書きかえに対応
zbx1425氏が開発された車両・マップ内のテクスチャを動的に変更できるようにするライブラリ
「DXDynamicTexture for BVE Trainsim 5/6」に公式で対応しています。
AtsEXの他の機能と連携することで、車両プラグインからも、マッププラグインからも、簡単に運転台パネルやマップ内のテクスチャを書きかえることができます。
マップにプラグインを埋め込める「マッププラグイン」機能
車両よりもマップへの依存度が高いプラグインのために、マップにプラグインを組み込める「マッププラグイン」機能を搭載しています。
車両側のATSプラグインにAtsEXを組み込んでおくだけで、AtsEXがマップに設定されたプラグインを自動で読み込みます。
マップ内のテクスチャの書きかえやスタフの表示などの高度な演出を取り入れる場合、従来はATSプラグインとして車両に組み込む必要がありました。
そのため、そのシナリオで使用できる車両が限られてしまう上、車両を改造することになるため車両制作者との緊密な連携が必要不可欠でした。
AtsEXのマッププラグイン機能を利用することで、マップに関係する処理は全てマップに同梱できるようになり、
そういった高度な演出を含むシナリオから使用可能車両の制限を無くすことができます。
.NETによるオブジェクト指向プログラミングの強力なサポート
従来のC++ベースのATSプラグインはC#などのオブジェクト指向言語との親和性があまり良くありませんでしたが、 AtsEXはオブジェクト指向プログラミングに最適化したラッパーを提供。さらに、DLLExportの複雑な導入作業も全てAtsEXが肩代わりします。
大規模なプロジェクトでも可読性が格段に向上します。AtsEXで拡張された機能を使わない開発にもおすすめです。
Any CPUビルドに対応
BVE6の登場によって、ATSプラグインは64bit版、32bit版の2つを準備しなければならなくなりました。
しかし、AtsEXならプラグインはAny CPUビルドでOK。地味~に面倒だった2バージョンの準備はもう要りません。
AtsEXによって作れるようになるプラグインの例
車両プラグインの例
サウンド系プラグインの音声をポーズで止める
モーター音やエンジン音を拘ろうとした場合、BVEの標準機能では足りず独自にプラグインを開発することになる訳ですが、
従来はポーズ中であるかどうかを判別できなかったためポーズ中に音を止めることはできませんでした。
AtsEXからポーズ中であるかどうかを取得することで、しっかりとポーズ中に音を止めることができます。
ワンマンモニターの再現
従来は、モニターにそれらしい画像を表示させることで疑似再現するのが一般的でした。 AtsEXではBVE本体がマップの描画に使用しているストラクチャの3Dモデルを取得できるため、Direct3Dを駆使すれば実際の景色をモニターに表示することができます。
トンネル抵抗の再現
実際の鉄道車両は、トンネル内では抵抗を受けて加速しづらくなることが知られています(これを「トンネル抵抗」と言います)。しかし、従来のBVEではシナリオの途中で走行抵抗を変更することができませんでした。
AtsEXでは走行抵抗係数の変更に対応しているため、トンネル抵抗はもちろん、他にも向かい風やジェットコースターの減速レールなど、あらゆる走行抵抗の変動を再現することが可能です。
マッププラグインの例
車止めで強制停止
従来のATSプラグインでも速度を取得することはできましたが、設定することはできませんでした。
AtsEXでは速度の設定にも対応しているため、特定の距離程を通過した時に速度をゼロにすることで実装可能です。
手動での駅ワープを必要としないスイッチバックの表現
スイッチバックを含むシナリオでは、到着時用の駅、方向転換後発車時用の駅を別々に用意し、当該駅到着後に時刻表から発車時用の駅にワープすることで疑似的に再現するのが一般的です。
AtsEXでは現在位置、現在時刻の設定に対応しているため、当該駅到着を検知後に発車時用の駅が存在する距離程にワープさせ、方向転換に要した時間を現在時刻に足すことで、
スイッチバックの表現を自動化することができます。
逝っとけダイヤの再現
従来のBVEでは、表示される時刻表でバレてしまうため、種別・行先変更を伴う大規模なダイヤ乱れを再現することは困難でした。
AtsEXでは駅リストの編集に加え時刻表やダイヤグラムの再描画にも対応しているため、輸送指令からの指示に合わせて、運行中に後から運行予定を変更することができます。
踏切障検動作等による強制的な停止現示信号の再現
従来のBVEでは、信号の現示は先行列車と自列車の位置関係、駅に紐づけられた出発信号などの絶対信号の現示によって自動的に決定されていたため、信号の現示を操作することは困難でした。
AtsEXは特定の信号の現示を上書きする機能を備えているため、これを使えば見出しにある「障検動作」や、昭和初期のATSなどに見られる特殊な信号現示の推移を再現することができます。
AtsEX マッププラグインのサンプル
AtsEX SDK同梱のマッププラグイン「他列車操作サンプル」より抜粋(一部改変しています)
AtsEX 車両プラグインのサンプル
AtsEX SDK同梱の車両プラグイン「状態取得・設定サンプル」より抜粋(一部改変しています)
対応BVEバージョン
少しでも異なるバージョンでは正常に動作しない可能性が高いです。
BVE Trainsim 5
- 5.8(Version 5.8.7554.391)
BVE Trainsim 6
- 6.0(Version 6.0.7554.619)
よくある質問
こちら→よくある質問
ダウンロード
AtsEX本体の他、サンプルマップ・車両を同梱しています。
現時点で完成している機能を手軽に試せます。