2015年12月5日土曜日

[FSX/P3D] Saitek Pro Flight™ Instrument Panelのカスタマイズ

Saitek Pro Flight™ Instrument Panel(以下FIP)をカスタマイズして好きなゲージを表示しよう、というお話。
対気計なら簡単にできますよ。
 http://www.saitek.com/uk/imgs/product/fip/Flight-Instrument-Panel-01.jpg
  http://www.saitek.com/uk/prod/fip.html
 
ほかにも有志が作った便利ツールでこんなことをするお話とか。
image
 
何これ、ですって?

 

 

目次

  1. 何これ?
  2. C185の対気計を移植した
  3. FIPのゲージカスタマイズ
  4. 有志のツール(FIP Toolkit + FIP Custmizer)



何これ?

今時)320x240ドットの3.5インチディスプレイに、8つのボタンと2つのダイアルを搭載したハードウェアです。

FSXやP3Dと通信してゲージの内容を手元に表示したりできます。もちろん、ダイアル操作を入力にしてゲージを操作する事もできます。

よくこういうのにつかわれているやつです。 でも、一つ二つでも便利なんですよ。

ドライバとソフトウェアを導入した時点で気圧高度計や方位計など10を越えるゲージが登録されているので、コンピュータに装着してシミュレータを起動するだけで使い始めることが出来ます。

ところで、Saitekが用意してくれている対気計は以下の二つです。

 imageimage

基本のものと、C172のもの。

後者は標準のソフトウェアには含まれていないので、ここから入手する必要があります。

http://www.saitek.com/uk/blog/index.php/3-new-cessna-flight-instrument-panels-to-download 

でも残念ながら私の愛用しているC185のものはありません。 対気速度を見るだけなら上記のものでもいいのですが、V Speedが違うのでこのままでは少々使いにくい。  

 

 

C185の対気計を移植した

じゃけん作りましょうね~、ということでやってみたところ、シミュレータ内のデータを割と簡単に移植できました。

image

なのでこの記事はその備忘録なのです。    

 

FIPのゲージカスタマイズ

お知らせ
メーカーサポートがない行為なのでやるなら自己責任で。 編集するファイルは*必ず*バックアップを取りましょう。    
前提条件

私の環境は以下の通りです。

OS: Windows 7 64bit FIP

Driver: 7_0_47_1 FIP

Software: 7_0_47_1 Simulator: Preper3d 2.5    

 

概要

新しいゲージの表示、新しいゲージの作成、の二段階で行います。

新しいゲージを表示する方法は、公式の配るファイルに内包されています。 http://www.saitek.com/uk/blog/index.php/3-new-cessna-flight-instrument-panels-to-download

 

下でも解説します。

新しいゲージは、FSX/P3Dのxml gaugeを変換/移植することができました。 自分で用意する人は、参考程度に。

    

用意するもの(対気計の場合)
  1. ゲージ背景の画像 (240x240)
  2. ゲージの針の画像 (背景に準ずる)
  3. ゲージ読み込み用のxml
  4. ゲージ用のxml

ゲージの仕組みはおそらくFSX/P3Dのxmlゲージと同じで、複数の画像を重ね合わせてxml書式に応じて動かしているようです。 対気計は可動部は針だけなので、画像もふたつで足ります。  

 

ゲージ画像

FIPの解像度が320x240なので、このサイズに収める必要があります。

縦に合わせて240x240がいいでしょう。 自動で拡大縮小してくれる機能はないようなので、事前に画像編集ソフトなどでこの大きさにしておいて下さい。 形式はbmpです。

目当てのゲージがシミュレータ内のxml gaugeだった場合は幸運です。

Prepar3D v2\gauges にあるcabの中から拝借したり、 Prepar3D v2\SimObjects\Airplanes 以下の購入した飛行機から借りたりできるかも知れません。

 

そうでなければ自力で作成する必要があります。 320x320のbmp画像を用意しましょう。

用意した画像はここに配置します。

C:\Program Files (x86)\Saitek\ProFlight FSX Plugin\Gauges\1024

 

私はこの名前で用意しました。

C:\Program Files (x86)\Saitek\ProFlight FSX Plugin\Gauges\1024\C185_Airspeed_Background.bmp

C:\Program Files (x86)\Saitek\ProFlight FSX Plugin\Gauges\1024\C185_Airspeed_Needle.bmp    

 

ゲージ読み込み用のxml

新しいゲージを表示するには、次のファイルを編集します。

C:\Program Files (x86)\Saitek\ProFlight FSX Plugin\SaiFlightSimX.xml

<GaugeList>の中に、自分の<Gauge>を足しましょう。 私はこんな感じのを足しました。

  <Gauge Timeout="100" RootFolder="Relative" File="Gauges\C185_Airspeed.xml">

            <Button Id="1" Name="" Event=""/>

             <Button Id="2" Name="" Event=""/>

             <Button Id="3" Name="" Event=""/>

             <Button Id="4" Name="" Event=""/>

             <Button Id="5" Name="" Event=""/>

             <Button Id="6" Name="" Event=""/>

       </Gauge>

 

ハイライトしているところは、自分で作るゲージの名前に変更します。  

 

 

ゲージ用のxml

FIPの書式をSaitekに問い合わせた人によれば、Saitekはゲージの仕様を公開しないとのことです。

実際の編集は推測と試行錯誤に頼るしかありませんが、標準で導入されているゲージをいくつか参照する限り、まずFSXのXML gaugeと同じでしょう。

FSX: https://msdn.microsoft.com/en-us/library/cc526953.aspx

 

移植のやり方(対気計)

FIPのゲージがXML gaugeなら簡単に移植できます。 とはいえできるだけ標準のものに合わせておいたほうが無難ですから、ソフトウェアに含まれている対気計ファイルを改造して使わせて貰いましょう。

次のファイルをコピーして好きな名前に変更します。

C:\Program Files (x86)\Saitek\ProFlight FSX Plugin\Gauges\Airspeed.xml

 

私はこう変えました

C:\Program Files (x86)\Saitek\ProFlight FSX Plugin\Gauges\C185_Airspeed.xml

 

エディタで開いてみると……

<?xml version="1.0" encoding="utf-8"?>

<Gauge Name="Airspeed Indicator" Version="1.0">

   <Image Name="Airspeed_Background.bmp" ImageSizes="240,240,240,240"/>

   <Element>     <Position X="120" Y="120"/>

     <Image Name="Airspeed_Needle.bmp" ImageSizes="109,15,109,15">

       <Axis X="9" Y="7"/>

     </Image>

     <Rotate>

       <Value Minimum="0" Maximum="360">(A:Airspeed select indicated or true,knots)</Value>

       <Failures>

         <GAUGE_AIRSPEED Action="Freeze"/>

       </Failures>

       <Nonlinearity>

         <Item Value="0" X="120" Y="20"/>

         <Item Value="40" X="135" Y="36"/>

         <Item Value="130" X="205" Y="144"/>

         <Item Value="220" X="89" Y="199"/>

         <Item Value="360" X="104" Y="36"/>

       </Nonlinearity>

     </Rotate>

   </Element>

   <Element>

     <Position X="112" Y="112"/>

     <Image Name="Airspeed_Center.bmp" ImageSizes="16,16,16,16"/>

   </Element>

</Gauge>

 

 

ばっちり読めます。 やはりXML gaugeそのまんまです。

  

ゲージ名や背景に使う画像の変更

<Gauge Name="Airspeed Indicator" Version="1.0">

<Image Name="Airspeed_Background.bmp" ImageSizes="240,240,240,240"/>

(中略)

<Image Name="Airspeed_Needle.bmp" ImageSizes="109,15,109,15">

 

 

ImageSizesの書式は、”x,y,x2,y2”です。FIPの場合は同じ数値を入れるべきです。   私の場合はこうなりました。

 

<Gauge Name="Cessna185 Airspeed Indicator" Version="1.0">

  <Image Name="C185_Airspeed_Background.bmp" ImageSizes="240,240,240,240"/>

(中略)

<Image Name="C185_Airspeed_Needle.bmp" ImageSizes="109,9,109,9">

 

   
ゲージのとる値の変更

<Value Minimum="0" Maximum="360">(A:Airspeed select indicated or true,knots)</Value>

 

 

単位はktsですので注意して下さいね。   私の場合はこうです。

<Value Minimum="0" Maximum="185">(A:Airspeed select indicated or true,knots)</Value>

 

 
針の位置指定

      <Nonlinearity>

         <Item Value="0" X="120" Y="20"/>

        <Item Value="40" X="135" Y="36"/>

        <Item Value="130" X="205" Y="144"/>

        <Item Value="220" X="89" Y="199"/>

         <Item Value="360" X="104" Y="36"/>

      </Nonlinearity>

 

ざっくり説明すると、対気計がある値(Value)を示した時に、針が何処(X,Y)を指すかを示しています。

上記の記述だと、

0ktsのときに、Xが120(画像の左右まんなか)、Yが20(ゲージの輪の頭)

220ktsのときに、Xが89(やや左より)、Yが199(真ん中より下)

 

こんなかんじに線を引いて、赤い点の座標を調べるとうまく行きます。

image

  私の場合はこうです。

   <Nonlinearity>

             <Item Value="0" X="122" Y="0"/>

             <Item Value="40" X="173" Y="28"/>

             <Item Value="60" X="220" Y="64"/>

             <Item Value="80" X="235" Y="134"/>

             <Item Value="100" X="200" Y="205"/>

             <Item Value="120" X="121" Y="238"/>

             <Item Value="140" X="51" Y="206"/>

             <Item Value="160" X="18" Y="148"/>

             <Item Value="180" X="15" Y="87"/>

             <Item Value="185" X="12" Y="68"/>

          </Nonlinearity>

 

 
まんなかのぽっち

<Element>

   <Position X="112" Y="112"/>

   <Image Name="Airspeed_Center.bmp" ImageSizes="16,16,16,16"/>

</Element>

 

  私は不要なので消しちゃいました。  
ゲージの配置

 

こうして用意したxmlは、先に説明したように以下のフォルダに配置します。

C:\Program Files (x86)\Saitek\ProFlight FSX Plugin\Gauges  

 

表示とテスト

ファイルを全て配置したらシミュレータを起動します。

SaiFlightSimX.xmlの記述が正しければ、上下ボタンで切り替えていくと作ったゲージが表示されるはずです。

ゲージが表示されたらおめでとうございます。 シミュレータを開始して、40ktsのとき、80ktsのとき、と針の位置が正しいか画面内のゲージと見比べましょう。

FIPはシミュレータを停止してると反応しません。FIPのゲージを動かす為には、P連打するなりしてシミュレータを動かす必要があります。

 

トラブルシューティング
  1. 切り替えても自作のゲージが出てこない
    SaiFlightSimX.xml が怪しいです。
    記述の挿入箇所、記述のファイル名が正しいことを確認します。

  2. ゲージは出るけど真っ黒/表示が変
    背景画像の配置場所か、画像ファイルが怪しいです。
    240x240であること、bmpであること、正しい場所に保管したこと、xml内の名前が正しいことを確認します。

  3. 針の位置がおかしい
    ゲージのxmlが怪しいです。
    Nonlinearityタグの中身をもう一度確認します。


    ■有志のツール(FIP Toolkit + FIP Custmizer)

    Alexey Podrezov氏の手になるツールです。 これらを使うと、FIPに操作可能なGPS(!)や切り替え可能な画像ファイルを表示することができます。 (update 2016/01/23 バージョンアップに対応)

    http://www.finnov.net/~wierzbowsky/saitek/fip_toolkit_110.zip

    http://www.finnov.net/~wierzbowsky/saitek/fip_customizer.zip  

    Windowsに表示した画面をFIPにコピーしつつ、ボタンでシミュレータに命令を送ることで操作を可能にするツールです。

    シミュレータの画面を直接表示できる訳ではありませんが、手元で操作できるだけでとても便利になりますよ。

    画像はドキュメントより引用:

     clip_image002 clip_image002[16]

    clip_image002[18]  

     

    あとは待機時にこんな風にしたりとか。

    img_2807

      こんなに便利なFIPはヨドバシとかで売ってます。

     http://www.yodobashi.com/Mad-Catz-%E3%83%9E%E3%83%83%E3%83%89%E3%82%AD%E3%83%A3%E3%83%83%E3%83%84-MC-INSPZ-Saitek-Pro-Flight-Instrument-Panel/pd/100000001002756871/

    皆様も是非快適なFIPライフを。

     

    「初音ミク」はクリプトン・フューチャー・メディア株式会社の著作物です。

     

    © Crypton Future Media, INC. www.piapro.net

     

    おわり。

    0 件のコメント:
    コメントを投稿