takeyohのおぼえがき

気になったこと、試したことの記録です。

アナログメータの設置

Figaroは、メーター類がアナログ(針)でしたので、アナログメータの設置方法について覚書です。

assettocorsa\sdk\dev\car_pipeline_2.0revのAC_Pipeline_PUB_Rev2.0.pdfにも書かれているので、詳細はそれで確認するのがよいです。

スピードメータを例に作ります。

今回使用したモデルは、もともと針と板が別オブジェクトになっていたので、針を作る作業は不要でした。

まず、スピードメータの針(ここでのオブジェクト名はSpeedMeter)を動かすためには、これを格納するエンプティが必要です。エンプティ名は ARROW_SPEED(これは固定)です。

針が回転する軸部分に、針(SppedMeter)オブジェクトの原点とARROW_SPEEDエンプティを設置するので、3Dカーソルをそこに移動させます。

まず針オブジェクトを選択後「編集」に切り替え、軸になるあたりの面だけを選択します。

Shift+sで、メニュー表示したら「カーソル→選択物」を選びます。

すると、針の軸部分に3Dカーソルが移動します。

【針オブジェクトの原点を移動】

オブジェクトの編集モードをオブジェクトモードに戻し、針のオブジェクトで

右クリック→原点を設定→原点を3Dカーソルへ移動

を選択すると、針のオブジェクトの原点が軸の部分に移動します。

 

【エンプティの追加】

3Dカーソルの位置はそのままで、新しくエンプティを追加。

エンプティの名前を「ARROW_SPEED」にします。

オブジェクトの座標をローカル座標に切り替え。

赤(x)緑(y)青(z)の矢印が、ローカル座標方向に変わります。

エンプティを回転させて、上記のような矢印方向になるようにします。(赤が下、緑が針の方向、青が奥向きです。)

マニュアルと同じ向きです。

エンプティの向きが決まったら、針(SppedMeter)オブジェクトをARROW_SPEEDエンプティの中に移動させます。

忘れないうちに、座標をグローバル座標に戻します。(慣れている方は不要ですね)

ARROW_SPEEDエンプティをローカル座標Z軸で回転させて、メータの上をスムーズに回ることを確認するとともに、0kmの位置に針を動かします。

回転のショートカットは「r」、その後「z」でグローバル座標、もう一度「z」でローカル座標に切り替わります。(アプリの座標設定がグローバル座標の場合)

最後にARROW_SPEEDエンプティをCOCKPIT_HRエンプティの下に入れます。

今回は、スピードメータ以外に回転数、水温計、燃料計を設定しましたが、それぞれエンプティや針の設定方法はスピードメータと同じです。それぞれのエンプティは名前が決められているので、それに合わせます。

(マニュアルに書かれています。)

ここまで出来たら、fbxでエクスポートして、ksEditorでkn5ファイルを作ります。

 

次に、針を動かす設定です。

対象車のmodフォルダにあるdataフォルダ内のanalog_instruments.iniを編集します。(ない場合は新規で作成)

Figaroに設定した4つのメータの設定がこれです。

[SPEED_INDICATOR]
OBJECT_NAME=SpeedMeter
ZERO=0
STEP=1.422222

[RPM_INDICATOR]
OBJECT_NAME=RPMMeter
ZERO=0
MIN_VALUE=0
STEP=0.02888889
LUT=(0=0|8000=200)

[WATER_TEMP]
OBJECT_NAME=WaterHeatMeter
ZERO=0
STEP=0.55
MIN_VALUE=60
LUT=(60=0|120=80)

[FUEL_INDICATOR]
OBJECT_NAME=FuelMeter
ZERO=0
MIN_VALUE=0
STEP=1.383333
LUT=(0=0|45=-55)

OBJECT_NAMEは針のオブジェクト名です。

針の動きはLUTで設定します。ざっくり簡単に設定できるものはここに直接設定しますが、段階が細かいものはlutファイルを別途作ってそちらに書くということも可能です。

例としてスピードメータの設定(analog_speed_curve.lut)です。3つしかありませんが。

0|0
160|180
180|200

左の値がパラメータの値(この例だとスピード(速度)ですね)で、右の値が回す角度です。上記例だと、0kmhだと0度、160kmhの時180度回すという設定です。この間は設定しても良いですが、勝手に保管してくれます。(80kmhだと90度回る)

パラメータに合わせてどれくらい針を回せばよいのかは車によって異なりますので、数字を変えて調整していきます。

 

また、上記例だと燃料計(FuelMeter)は針が回る方向が逆なので、角度はマイナス設定にしています。(0リットルなら0度、45リットル(満タン)なら-55度、です。)

 

この設定で走っているときの様子は下記動画の43秒のあたりをご覧ください。

www.youtube.com

(追記)

analog_instruments.iniのOBJECT_NAMEは、オブジェクトの名前ではなく、エンプティの名前(ARROW_SPEEDとか)でも動くようです。

/* -----codeの行番号----- */