Perpar3D v2 シーナーリーの登録とSimConnect利用アドオン

概要

今回はFSXの後継製品であるロッキードマーチン社(LM社)のPrepar3DへのFSXシーナリー登録と、
SimConnectを利用したアドオンの登録について記載する。
当然のことながら、同仕組みを利用するFSUIPCやFSUIPCを利用するアドオンも含む。
本記事の初版は2014年3月27日となる。必要に応じて随時アップデートされる。

 

利用にあたっての注意事項

必ず確認すること

  1.  執筆時点(2014/03/27時点)ではPrepar3Dの利用許諾ではFSX用のものを登録するのを禁止していない。
  2.  それどころかFSXアドオン登録方法のページがオフィシャルに掲載されている。
  3.  ただし「Prepar3D対応」と明言して関連商品を販売するにはロッキードマーチンとの契約が必要だ。
    「FSX用だよ? あくまでFSX用だよ?」という製品は良いと考えることもできる。
  4. 登録するシーナリーや機体アドオンの使用許諾で「FSXでのみ利用を許可」という文言がないことが前提。法的な問題にならないようにする。
    DVD出荷のタイミングやダウンロード版等がリリースされた際には異なるかもしれないが、後述のシーナーリーは箱の中の紙を見ても使用許諾書はなく、インストーラもシリアルキーだけで法的な強制はないと判断した。
    ※for FSXや、FSX SP2で動きますという製品説明は使用許諾ではない。
    ただし「AI機が動かない!表示されない!なんとかしろ!」とメーカーに言うのはお門違い。

一番簡単な方法~ソフトは動作はするがインストーラが対応していない場合

Migration Toolを使う。これが一番簡単な方法だ。
多くのインストーラはレジストリからFSXのフォルダを探すが、このツールでEnableにするとFSXのレジストリとしてPrepar3Dのレジストリを見せてくれたり、ダミーのFSX.exe等を配置してくれる。
migration01

設定さえ済んでいれば、普段はFSX用アドオンのインストーラを起動する前にこれでEnableにし、インストール後Disableにするだけだ。
実行ファイルがあるフォルダを見せかけるだけでなく、Prepar3D.cfgをfsx.cfgとして見せてくれたり、DLL.xml、EXE.xml等もPrepar3D用にリンクしてくれる。

migration02

これで対処できないもの、既にインストールされてしまったものは、後述の内容を参照して工夫してほしい。
当初は筆者も1つずつ手でやっていたし、「こんなことのためにツール代を払えるか」と思っていた。しかし、シーナリーを買うたびに手間がかかるので購入してしまった。手間を考えたら購入した方が楽だ。
まだまだPrepar3Dv2に対応していないインストーラも多い。
Prepar3D対応と書かれていても、v1にしか対応していないものも多数あるのだ。未対応インストーラのためにFSXを残していた人も、場合によってはFSXが必要なくなるかもしれない。

 

シーナーリー登録方法

まずは、WorldメニューからScenery Libraryを選択する。
capt_0001_201403272101524be.jpg

現在登録されているシーナリーの一覧が表示されるので、Add Areaをクリックする。
※本画像はPrepar3D導入時のシーナーリーのみ表示される。
capt_0002_20140327210153410.jpg

次にFSXインストールフォルダー内のシーナリーフォルダをBrowsから選択する。
ちなみに本画面は、Windows7/8でフォルダの選択のバグがあったが、Prepar3Dでは問題なかった。
※FSX用シーナリーによっては、インストーラがFSXを検知する仕組みになっているものがあるかもしれない。
その観点ではFSXを利用しなくてもFSXが必要な場合があるだろう。
capt_0003_201403272101553be.jpg

登録された事を確認する。
capt_0005_20140327210156c70.jpg

これだけだ。そう。最初のメニューが違うだけでFSXに登録する手順と同じなのだ。
これがテクノブレインの羽田を大雨の中、Prepar3Dに表示した状態だ。
なんとこの状態で40FPSに達しているのだ。10FPSを切ると話題のFPSキラーシーナーリーがだ。
さすがDirectX11対応で様々な改良が施されたPrepar3Dと言わざるを得ない。
Prepar3D 2014-03-27 20-33-11-64

Prepar3Dに付属するF35で昼間と夜間に飛んだ動画がこちら。
先ほどの機体よりは若干重かったが、滑走路上で25FPS程度だった。

なお、UK2000のヒースローV3のようにPrepar3D用のインストーラが用意されているものもある。
その場合は、指示通りインストールすればよい。
BjvKgoyCUAE0MtL.jpg

こちらがPerpar3上でのヒースローV3だ。なお、GoXtream設定(最上位)でインストールしたが、
この状態で40FPSを超えている。正直、Prepar3Dは驚く性能だ。
Prepar3D 2014-03-27 22-38-46-07

最後に設定ファイルを直接弄って登録をしたい方は、下記のファイルを参照すること。
C:\ProgramData\Lockheed Martin\Prepar3D v2\Scenery.CFG

 

SimConnectを利用したアドオンの登録-FSUIPC-

SimConnectも基本的には、FSXと同様だ。
※余談だが、Prepar3D対応!と謳ったり、SDKを利用するにはロッキードマーチンとの契約が必要。
Prepar3D V2.1を導入すると、SimConnectも導入されるようだ。
これから記載するFSUIPCは問題なく稼働した。
執筆時点で最新のFSUIPCであるFSUIPC4 4.929は、FSXとP3D両対応になっている。
既に導入しており、Prepar3Dを後から入れた場合は、FSUIPCの上書きインストールを行う。
そうすることでDLL.XMLに同モジュールが登録される。同ファイルは、下記のフォルダ内にある。
Prepar3d.cfgと同じフォルダだ。
※要はFSXやマイクロソフトが、Prepar3Dやロッキードマーチンに変わったのみ。

C:\Users\%ユーザ名%\AppData\Roaming\Lockheed Martin\Prepar3D v2

それだけでFSUIPCはPrepar3Dのメニューに表示されるようになる。capt_0001_20140327220645cde.jpg

次に一番面倒なのがFSUIPCの設定だろう。
だが、これもFSXのフォルダ内にあるFSUIPC4.iniをPrepar3Dインストールフォルダ配下のModulesに上書きをしてやればよい。それだけで設定の移行ができた。
capt_0003_20140327220648d24.jpg

なお、筆者はFSX上でジョイスティックをオフにし、全てFSUIPCからのみコントロールしていたが、
Prepar3Dでも同様の設定が可能だ。下記の赤枠内のチェックを外すのみだ。
※筆者の環境ではFSXやP3Dを起動すると、時々、コントローラがディスコネクトされてしまうため、
未使用にしている。
capt_0002_201403272206476e1.jpg

DLL.XMLやEXE.XMLは基本的に同じだ。互換性があればそのまま動く。
この2つのファイルがアドオンプログラムの基本をなすことは変わらない。
フォルダ構成等に依存していなければ、基本的には動くものが多いと考えられる。
V2.0の時にSDK内のSimCOnnectのサンプルプログラムを拝見したが、コピーライトがマイクロソフトからロッキードマーチンになっているだけのサンプルがほとんどだった。
※逆の言い方をすると6年ぐらい、変わってない枯れた仕組みである。

 

SimConnectを利用したアドオンの登録-EZdokcam-

exe.xmlに記載を行って(フルパスで書かれていればFSXからコピー)、起動すると、このようなエラーが表示されてしまう。
ezdokcam01.png

理由は単純だ。FSXがDirecXのAPIをコールする際に関数をフックしているのだが、その際にfsx.exeのプロセス名を見ているからだ。
Prepar3d.exeのコピーを作り、fsx.exeとすることで取りあえずは起動ができるようになる。
※念のため管理者として実行もチェック。そして、Prepar3Dのショートカットをfsx.exeに差し替えるだけだ。
ezdokcam03.png

ピクセルシェーダーの問題で若干ちらつく場合があるかもしれないが、問題なくPrepar3D上で利用できる。
検証ではEzdokcam V1.17を利用した。
ezdokcam03.png

この方法でEzdokcamは動くようになるのだがFSUIPCが動かなくなってしまう。
Ezdok cameraの作者のMarniftarr氏は病気療養中とのことだ。
氏はEzdok Camera 2.0の開発を開始されていた。

そんな中Perpar3D.exeのプロセス名に対応した実行ファイルを彼はβ版として投稿してくれていた。
※Prepar3D v1.Xの頃。

下記のスレッドの”October-01-2011 at 6:06am”の書き込みからダウンロードしていただきたい。
http://www.simforums.com/forums/ezdok-and-prepar3d_topic40274_post236510.html#236510

筆者はしばらくFSXと共存させることから、C:\Program Files (x86)\EZCA内のEZCA.exeを上書きせずに、EZCA-P3D.exeというファイル名で配置しexe.xmlを修正することで動くようになった。
※念のため管理者として実行もチェック

その他、FSXなしでインストールを行う場合は下記のスレッドを参考にしていただきたい。
ファイルの直し方が書かれている。
http://forum.avsim.net/topic/427080-how-do-you-get-itrackr-and-ezca-to-work/

ここでTrackIRの説明を。Prepar3D対応の設定(V2.xでは未確認)についてはTrackIrのゲームプロファイルをオンラインアップデート(ダウンロード版は古い)すればOKだ。

しかしながらEzdokの実行ファイルは対応ソフトとして個別に登録されているためEzdokを利用している場合は、同ソフトのOptionメニューからで設定をオンにしてやる必要がある。
また各カメラのTIRの有効化も必要だ。

新規機体の認識はどうするのかというかというと、一番簡単なのはMigration Toolを利用して、Prepar3DをFSXと見せかけることだ。
もう一つはFSXにも同じ機体をインストールし、認識させる方法だ。
ezdok-p3d02

EZCAのデータベースは下記のフォルダにあるがFSX/Prepar3D共通だ。どちらかで認識されればそれでよい。
ezdok-p3d03

もし機体認識する前に、カメラ登録を個別にPrepar3D上でしてしまった場合は、下記のファイルから該当の機体の部分を削除すると、リセットできる。
ezdok-p3d04

SimConnectを利用したアドオンの登録-CPFlight Communication Driver-

筆者は、InstP3D_340.exeを導入しようとしたが、インストーラの画面がひとつも表示されなかった。
フォーラムを見ると、下記のフォルダがあることが前提となるようだ。

C:\Users\%ユーザ名%\AppData\Roaming\Lockheed Martin\Prepar3D

しかしながらPrepar3D v2.Xが作成するフォルダは、Prepar3D v2だ。
一時的にではあるが上記フォルダ名を変更する必要がある。
名前を変更してインストーラを実行し、またPrepar3d v2に名前を戻してやればよい。
単純にdll.xmlを登録する作業だけのようだ。
その他はPrepar3D本体の配下がデフォルトとなりインストールされる。
capt_0004_201<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 4032900262208e.jpg

インストールが成功すれば、Prepar3DのメニューにCPFlightの項目が表示される。
capt_0005_2014032900302943a.jpg

SimConnectを利用したアドオンの登録-Ultimate Traffic 2-

  • まずはFSX配下の下記のファイルをコピー。
    capt_0001_20140416225654ce5.jpg
  • effectsフォルダ内のut2で始まるファイル名をものをコピー。capt_0002_201404162257035c2.jpg
  • FSXフォルダ配下のFlight One Software\Ultimate Traffic 2をフォルダごとコピー。
  • FSXフォルダ配下のSimObjects\UT2 Aircraftをフォルダごとコピー。
  • exe.xml内のUT2の箇所を丸ごと、prepa3dのexe.xmlにコピーし、フォルダパス部分を先ほどコピーした先に変更。
  • prepa3d.cfgの[Main]セクションに下記を追加し機体データを認識させる。
    SimObjectPaths.9=SimObjects\UT2 Aircraft
  • Prepar3Dを起動し、”Ultimate Traffic 2. Initialized”という音声が聞こえることを確認。
    聞こえない場合は、exe.xmlの記述が間違いの可能性が高い。
  • 1分ほど経過してから、右クリックメニューのAI Trafficにボーイングやエアバスの機体が大量に表示されていることを確認する。羽田等、見慣れた航空会社の機体が常駐している大空港で確認すると良い。また、テクノブレインの羽田は固定オブジェクトの機体がいないのでAI機と判別がしやすいのでお勧めだ。
    表示されない場合(Prepar3Dの機体が代わりに表示)は、prepar3d.cfgの記述を確認。
    ut2.png
  • カメラを切り替えて表示されていることを確認。
    なお、UT2の機能が正しく動作しているか確認するため、Prepar3D自体のAIトラフィックは0%にして確認を行う事。
    ut2b.png

アドオンとツールの日本語と英語そしてUnicode

海外のツールやアドオンで定番の国際化対応項目は下記の通りだ。
どれが該当するかはソフトのソース等が公開されているわけでもないかぎり分からない。

注意事項は前回の記事を参照
必ず理解してから実施すること。大事なデータやアプリケーションが壊れる場合があるからだ。

  • 日付形式や通貨記号に影響されるもの
    初期リリースのPFPX(フライトプランナー)が、これに影響されていた。
    日付形式をテキストで扱っており、日本のように年から書き始めない前提のシステムで定番
    lang01.png
  • システムロケール
    現在のWindowsには1つのAPIに対して非Unicode用のものとUnicode用の二つのAPIを持つものが多数ある。
    前者をどの言語で稼働させるか決定するのがこの項目だ。
    プログラム全体ではなく、ソース1行単位で決まるものなので事象Unicode対応でも、特定の機能だけ動かない場合は、該当するかもしれない。
    lang02.png
  • 言語設定
    MUI版Windows7やWindows8.1が該当する。1本のソフトで世界各国のWindowsに変身できる機能だ。
    メニューやゴミ箱の名前、ヘルプの内容等、完全に外国語版のWindowsに瞬時に生まれ変わる。
    FS2CrewをWindows8.1で音声認識エンジンを設定するためには必要な機能だ。
    こちらは別途書いた記事を参照いただきたい。lang03.png

Prepar3D連載一覧

Perpar3D v2 日本語環境起動ガイド
Perpar3D v2 シーナーリーの登録とSimConnect利用アドオン
Perpar3D v2 FSX用機体アドオン登録

FSX / PREPAR3D
4 comments to “Perpar3D v2 シーナーリーの登録とSimConnect利用アドオン”
  1. ピンバック: Prepar3D v2 FSX後継の選択と日本語環境ガイド | Simulator Laboratory "SEALS"

  2. お久しぶりです、とは言っても
    HPには度々お邪魔していますが、 この度JCBAの方たちに続いて 遅ればせながら
    Prepar3Dを導入すべき ダウンロードを完了しました。 チャバクリさんなどに触発され又、
    ZEPHYR RUさんの先鞭をなぞり 御指導を仰ぎながら進めていきますので 宜しくお願いします。

  3. どうもです!
    v2.5で一部設定ファイルの形式がFSXから変わりましたが、Ultimet Traffic2ぐらいしか影響を受けないと思うので、最新版のアドオンを利用していれば、
    Migration Toolsで大抵はいけると思います

  4. Migration Toolsでの対応アドバイス有難う
    ZEPHTRさんのウエブサイトを熟読させてもらいます。

コメントは停止中です。