takeyohのおぼえがき

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

steer.ksanimとdriver_base_pos.knhでドライバポジションを変更(blender)

ドライバのポジションをksEditorで編集しても場所が変わらないのは、steer.ksanimを設定しているから。

この設定を外せば、ksEditorでドライバのポジションを修正してdriver_base_pos.knhで保存すれば、その場所に変更されますが、そうするとハンドル操作するアニメーションが無効になります。(手を伸ばしているだけ)

そうするとsteer.ksanimも編集する必要がありますが、これが簡単にはできない!

3dMAXを使った例はあったのですが、

ここは待避所一丁目♪―Assetto Corsa : Driver位置調整方法

私は3dMAXを持っていないので、何とかblenderでやれないかと試行錯誤しました。

行きついたのは、同じassetto corsa のフォーラム内です。

(アクセスにはログインが必要なので、アカウント用意してから入ります。)

https://www.assettocorsa.net/forum/index.php?threads/bone-animation-rig-blender.34594/

ksEditorを経由した修正ではBlenderのオブジェクト名変更ルールが邪魔して機能しないようで、Blenderでksanimをエクスポートできるカスタムフィルターの導入と、steer.ksanimを編集するためのRiggedDriverデータが必要です。

カスタムエクスポートフィルターは添付のver0.2は動作しなかったため、

Blender ksanim/knh exporter | RaceDepartment

ここにあるver0.4を使ったところ、Blenderのexportメニューに

"assetto corsa animation (.ksanim)"

という項目が登場します。(現時点で私のBlenderはver3.2)

カスタムエクスポートフィルターの導入方法

編集>プリファレンス を選択し、

"インストール"をクリック。

ダウンロードしたio_export_ksanim_0.4.zipをzipファイルのまま選択するとインストールされます。

インストールされたらチェックボックスにチェックをつけて有効化します。

次にRiggedDriverは同じフォーラム内の

http://www.assettocorsa.net/forum/index.php?threads/bone-animation-rig-blender.34594/#post-720245

からダウンロードできます。現時点でファイル名は"driver_rigged_v1.7z"

これを解凍すると、"driver_rigged_v1.blend"があるので、これをblenderで開きます。

すると、ドライバがハンドル持って立っている絵が出ます。(^^

立っているドライバ

車に座らせる必要があるので、シーンコレクションに新しいコレクションを追加し、新しいコレクション内に車のfbxデータをインポート。
車の外装を削除して、シートとハンドルが見えるようにしたのち、rigged driverの座る場所、足、ハンドルの位置、手首の角度などを修正します。

この時、ドライバのモデル本体となるDRIVER_DRIVERの位置(x,y,z)を変更して座る場所を修正してはいけません。ここの位置はx 90度 y 0度、z 0度のままにしておかないとだめです。(これを変えると、車に乗せたとき変な恰好で乗った状態になってしまいます。)

ドライバ自体の移動はオブジェクトモードではなく、ポーズモード(ctrl + Tabのショートカットも可)に変更してから、すべてのボーンを選択してから移動させます。回転も同様です。

その後、Wheel_Position、Clutch_Pedal、Gas_Pedalの3つを(これはオブジェクトモードで大丈夫)動かして、手と足の位置を車に合わせます。

ハンドルの角度はWheel_Positionの下にあるWheel_Orientationで調整するらしい。

手首の角度がおかしいときは、Hand_Grip_LとHand_Grip_Rを回転させて調整。同じ角度に回転させれば両手同じ角度になります。

また、これ、アニメーションに含まれているので、アニメーションフレームの0, 50, 100の3か所でそれぞれ右手左手の角度を修正して設定しなおします。

 

一通りポジションが決まったらアニメーションを再生してみて動きがおかしくないか確認します。

 

あとはデータのエクスポート!

DRIVER_DRIVERを選択したのち、ファイル>エクスポート>Assetto Corsa animation (.ksanim)を選択。

使用は"選択したオブジェクト"

Fix DRIVER ObjectsとExport driver_base_pos.knhの2つにチェック。

ファイル名にdriver_base_pos.knhと書いたら、Export KSANIMをクリック!

→これでドライバのポジションデータdriver_base_pos.knhができます。

 

次に、同じくDRIVER_DRIVERを選択したのち、ファイル>エクスポート>Assetto Corsa animation (.ksanim)を選択。

使用は"選択した"オブジェクト"

Reverse AnimationとFix DRIVER Objectsの2つにチェック。

ファイル名にsteer.ksanimと書いたら、Export KSANIMをクリック!

→これでステアリングのアニメーションデータsteer.ksanimができます。

 

設定するcar modのフォルダに移動。車のkn5があるフォルダにdriver_base_pos.knhをコピー。(コピー前のファイルがある場合はバックアップを忘れずに)

animationsフォルダの中にsteer.ksanimをコピー。(こちらもバックアップ忘れずに)

 

ゲームをスタートさせて、ドライバのポジション、およびステアリングアニメーションがうまく動いていることを確認します。

 

文章だけだと難しいので、編集中の様子の動画も作りました。ご参考になれば幸いです。

youtu.be

 

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