
ミラープラグイン
マップ上に、実際の景色が映るミラーを設置するプラグインです。
BveEXマッププラグインとして実装されています。
プラグインの特長
ストラクチャーの特定テクスチャを置き換えて動作する仕様ですので、通常のストラクチャーを設置するのとほぼ同じ要領で簡単に導入することができます。
また、反射する景色の方向は設置位置と視点の位置関係から自動で計算されます。ミラー設置するだけですぐに動作し、煩雑な設定などは一切必要ありません。
プラグインをデータに組み込む手順
1. プラグインをマップに配置する
1-1. プラグイン本体を配置する
マップファイル(Map.txtなど)に対する位置関係が次の画像のようになるように、新しいフォルダ「MapPlugins」を作成します。
下のボタンよりダウンロードしたファイルをゾーン識別子を削除した上で解凍し、作成したMapPluginsフォルダの中に配置します。
1-2. マップファイルにプラグインを指定する
マップファイルを開き、次の例のように冒頭へ BveEx.Plugin.LoadAssembly
構文(または BveEx.Plugin.Load
構文でプラグインリストを組み込んでも可)を追記します。
ゾーン識別子の削除を忘れずに!
この手順を飛ばしたままパッケージを解凍してしまうと、不可解なエラーの原因となる場合があります。
そのままパッケージを解凍し、プラグインを配置してしまった場合は、ゾーン識別子を削除した上でもう一度解凍からやり直してください。
ゾーン識別子を削除する方法については、手動でのパッケージの適用方法 - BveEXインストールガイドの「1-1. ゾーン識別子を削除する」をご参照ください。
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。 大きい値にすればするほど映像が滑らかになるが、重くなる |
ライセンス
本ソフトウェアは、PolyForm Noncommercial License 1.0.0のもとで使用を許諾されています。
このライセンスにおいて許可されない方法での使用を希望される場合は、個別対応となりますので、お問い合わせください。