ミラープラグイン
マップ上に、実際の景色が映るミラーを設置するプラグインです。
AtsEXマッププラグインとして実装されています。
プラグインの特長
ストラクチャーの特定テクスチャを置き換えて動作する仕様ですので、通常のストラクチャーを設置するのとほぼ同じ要領で簡単に導入することができます。
また、反射する景色の方向は設置位置と視点の位置関係から自動で計算されます。ミラー設置するだけですぐに動作し、煩雑な設定などは一切必要ありません。
プラグインをデータに組み込む手順
1. プラグインをマップに配置する
1-1. プラグインリストファイルを配置する
下のボタンよりダウンロードしたファイルをゾーン識別子を削除した上で解凍し、マップファイル(Map.txtなど)に対する位置関係が次の画像のようになるように配置します。
1-2. マップファイルにプラグインリストを指定する
マップファイルを開き、次の例のように冒頭へ AtsEx::USEATSEX
ヘッダー(または AtsEx::NOMPI
ヘッダーでも可)、AtsEx::MapPluginUsing
ヘッダーを追記します。
ゾーン識別子の削除を忘れずに!
この手順を飛ばしたままパッケージを解凍してしまうと、不可解なエラーの原因となる場合があります。
そのままパッケージを解凍し、プラグインを配置してしまった場合は、ゾーン識別子を削除した上でもう一度解凍からやり直してください。
ゾーン識別子を削除する方法については、手動でのパッケージの適用方法 - AtsEXインストールガイドの「1-1. ゾーン識別子を削除する」をご参照ください。
既にMapPluginUsing.xmlなどのAtsEXマッププラグインリストファイルが存在する場合
本プラグインに同梱のMapPluginUsing.xmlは使用せず、既存のプラグインリストファイルに以下のコードを追記してください。
<Assembly Path="MapPlugins\Mirror.dll" />
2. ミラーとして使用するストラクチャーをマップ上に設置する
ストラクチャーリストファイル、マップファイルにミラーとして使用するストラクチャーを定義・設置します。
ストラクチャーに要求される仕様
- 景色が反射する部分に、テクスチャが左右反転した状態で貼られている必要があります。
-
景色が反射する部分は、その3Dモデルのローカル座標系において、原点を中心にZ軸正方向へ向いている必要があります。
- BVEが採用している左手系の場合です。Metasequoia、PMX Editorなどが採用している右手系では「Z軸負方向」となります。
以上の要求仕様に則って作成したストラクチャーをそのまま設置すると、上の画像1枚目のように進行方向真逆を向いてしまうので、基本的にY軸まわりに180°ほど回転させて設置することとなります。
Structure['mirror'].Put('0', -2.5, 3.5, 0, -10, 170, 0, 0, 0);
下の画像のミラーは、こちらの構文で設置しています。
3. ストラクチャーの情報を設定ファイルに記述する
手順2で設置したストラクチャーの情報をMirror.Config.xmlに記述します。
設定ファイルの文法は以下を参照してください。
設定ファイルの文法
コードの例
各要素・属性の解説
要素・属性 | 初期値 | 内容 |
---|---|---|
MirrorStructure →Key |
- | ミラーとして使用するストラクチャーのキー |
MirrorStructure →TextureFileName |
- | 景色が反射する部分として上書きするテクスチャファイルのパス (後方一致) |
MirrorStructure →TextureWidth |
512 | 景色が反射する部分のテクスチャの幅 [px]。 上書き元のテクスチャの幅と異なっていても可、2の累乗でなくても可 |
MirrorStructure →TextureHeight |
512 | 景色が反射する部分のテクスチャの高さ [px]。 上書き元のテクスチャの高さと異なっていても可、2の累乗でなくても可 |
MirrorStructure →Zoom |
1 | 反射する景色の拡大率。 1より小さい数字を指定した場合、広角に描画する |
MirrorStructure →BackDrawDistance |
25 | 自列車とミラーの距離が何m以上になったときに描画を停止するか。 大きい値にすればするほど重くなる |
MirrorStructure →FrontDrawDistance |
400 | 自列車とミラーの距離が何m以内になったときに描画を開始するか。 大きい値にすればするほど重くなる |
MirrorStructure →MaxFps |
∞ | ミラーに景色を描画する最大FPS。 大きい値にすればするほど映像が滑らかになるが、重くなる |
ライセンス
本ソフトウェアは、The MIT License modified with Commons Clause v1.0のもとで使用を許諾されています。
このライセンスにおいて許可されない方法での使用を希望される場合は、個別対応となりますので、お問い合わせください。
ライセンスの要約
以下の要約は正確な表現ではありません。 正式な文面はGitHub リポジトリのLICENSE.txtを参照してください。
- 原則として本ソフトウェアは自由に改変・使用することができます。
- ただし、本ソフトウェアを販売することはできません。
- また、本ソフトウェアを使った作品には、本ソフトウェアを使用している旨の著作権表示が必要です。
- 本ソフトウェアを使用したことにより何かしらの損害を受けたとしても、作者は一切の責任を負わないものとします。