takeyohのおぼえがき

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

シフトアニメーションの作成

今度はNissan Figaroの作成をしていますが、良い機会なので、ステアリングだけでなく、シフトのアニメーションも作ってみたので覚書です。

ちなみに今回は腕のアニメーションだけです。シフトレバー自体のアニメーションも設定できるはずですが、まだそこまでたどり着いていません。

基本的にはステアリングと同じ考え方です。

が、いつものステアリングアニメーション作成用のdigファイルだと、手がハンドルの操作になってしまうので、まず手のアニメーションがハンドルに連動しないようにいろいろ削除します。

まずシフトアニメーションようにファイルをコピーします。

driver_rigged_v1.blend → driver_rigged_v1_shift.blend とか。

削除していきます。

Hand_Grip_LとHand_Grip_Rの「関係」「ペアレント」にWheel_Rotationが設定されているので、×を押して消します。

すると手がとんでもないところに飛んでいきます。(^^;

そのままでも大丈夫な気はしますが、気になる方はHand_Grip_L, Hand_Grip_Rの位置と回転を動かして、元のハンドルの場所に戻しても良いです。

上部の表示モードから「Blenderファイル」を選択

「アクション」を開いて、なんちゃらHelperとなっているアクション4つを右クリックから削除します。(緑色のやつです。)

これで、アニメーションを動かしても手は動かなくなるはずです。

次に、シフトのアニメーションです。

今回は右ハンドル車なので、左の手をシフトさせています。

アニメーションのフレームは1から21にしました。(特に決まりは無さそうですが)

Hand_Grip_Lを移動・回転させて、1フレーム目と21フレーム目は左手がハンドルを持っている形にし、位置・回転を固定します。(位置・回転のそれぞれで♦をクリック)

ちなみに、1フレーム目と21フレーム目は最後削除してしまうので、慣れてきたら設定しなくてもできるはずです。

あとは、1~21フレームの間でシフトのアニメーションを設定します。

なお、この腕のアニメーションのフレーム数と車のシフトレバーアニメーションのフレーム数は合わせる必要があるそうです。(まだ試してませんが。合わせないと、手が届いてないのに先にレバーが動いたりしてしまうってことだと思います。)

今回は11フレーム目でレバーに手をかけ、16フレーム目で後ろに少し引く設定をしました。

11フレーム目

16フレーム目

アニメーションさせるとこうなります。

(この車オートマなので、ほんとはシフトチェンジはいらないんですけどね。練習ってことで。)

アニメーションが確認出来たら、1フレーム目と21フレーム目の設定を削除します。

ゲーム内では、手はハンドルを操作していますので、シフトチェンジしたときの手の位置から、11フレーム目の場所に左手が移動していき、16フレーム目の場所から、元のハンドルの位置に戻っていきます。

(1,21フレーム目が設定されていると、一度手がその場所に移動してからシフトレバーの方に動くというアニメーションになってしまいます。)

 

ここまで設定出来たら、DRIVER_DRIVERを選択し、「ファイル」「エクスポート」「Assetto Corsa Animation」を選択します。

「使用」は「選択したオブジェクト」、チェックは「Fix DRIVER Objects」だけオン、ファイル名はshift.ksanimとしてExport KSANIMを押してエクスポートします。

そして、shift.ksanimはcar modのanimationsフォルダの中(steer.ksanimと同じ場所)にコピーします。

あとは、ゲーム内でシフトチェンジしてみて、想定通り動いたかどうかを確認してください。

 

シフトアップとシフトダウンで動きが逆になるのかと思ったのですが、どちらも同じアニメーションしかしないですね・・・。そのあたりの実現可否は不明のままです。またどこかで気づいたら覚書します。

 

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