takeyohのおぼえがき

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

オリジナルドライバでのアニメーション作成

オリジナルのドライバができたところで、既存の車のドライバを変更して起動すると、めちゃくちゃ変な動き方します。(体がつぶれる~~~)

これはアニメーションが標準ドライバの体格・スケルトン(アーマチュア)に合わせて作られているからで、体格の違うドライバでは動きが崩壊します。(当たり前か)

私はblenderしか持ってないので、ドライバのステアリングとポジションを編集するのに、フォーラムにあるdriver_rigged_v1.blendを使っています。

steer.ksanimとdriver_base_pos.knhでドライバポジションを変更(blender) - takeyohのおぼえがき (hatenablog.com)

このblender用ファイルには、標準ドライバのオブジェクトとアーマチュアが入っていて、それとは別にステアリングのアニメーションを再現するためのアニメーション設定が入っています。

アーマチュア内の手のボーン部分にステアリングアニメーション用のオブジェクトにリンクされていたので、これをまねてみました。

1)標準ドライバのオブジェクト&アーマチュアを削除

2)オリジナルのドライバfbxをインポート

3)両手のボーンとハンドルの間をリンク

これは左手。「DRIVER:RIG_HAND_L」にIKを追加。設定は以下の通り。

Hand_L_Helperにリンク(これはハンドル左側の黄色い四角部分)。チェーンの長さは4。これで肩の部分まで使ってアニメーションします。(標準ドライバは5です。ボーンの数は一緒のはずですが、なぜ違いが出るのかまではわかってません)

回転にチェックをつけると、手のひらの向きもオブジェクトに合わせて変わるようになります。

 

つぎに左肩のボーンDRIVER:RIG_Shoulder_Lに減衰トラックを追加。設定は以下の通り。

ハンドルを回すときの肩の動きがスムーズになりました。

右手側も同じように設定します。

なお標準設定では、左足、右足にそれぞれClutch_Pedal、Gas_Pedalを同じようにリンクが設定されており、足の場所も調整できるようになっているのですが、差し替えたドライバではうまく連携できなかったので、今回は見送りです。足の位置は、直接ボーンの回転で位置を調整しました。

セレナのシートに合わせてみた感じはこれ。

ドライバの位置合わせはオブジェクトモードではなく、ポーズモードで。(以前の記事で書いた通りです。)

 

一通り設定したら、アニメーションフレームを動かして、ハンドルを回せるかを確認。

その後steer.ksanimとdriver_base_pos.knhをエクスポートしてcar modに適用。(今回は自作のセレナくんにしました)

オリジナルのドライバモデルで一部のパーツがアーマチュアに追従できなかったり、ハンドルアニメーションで、手のひらの向きがずっと下向きだったり、変なところが多々残った状態ですが、比較的まともにハンドルを回しているようなアニメーションになりました。(ぉぃ

ここは解決できました!

実際に走らせてみた感じはこれです。

 

youtu.be

 

車内が暗かったので、明るさ補正をかけています。(ので画面が荒い・・・)
前回よりはまともに動くようになった・・・かな?

ハンドル操作もですが、頭を認識できたので、重力による前後左右へのアニメーションもできているようです。右を向いたりもできます。(髪が長すぎてめっちゃ邪魔そうですが)

ハンドルがくるくる早いのは、ゲームパットを使ってるからです。(ハンコンでやればよかったかも。)

(追伸)

ボディのマテリアル設定を変更したり、ポジションやステアリングアニメーションの調整をした結果、よりまともになったのがこちら。(まだ若干肩回りがおかしいけど)

youtu.be

なお、カスタムショールームでドライバを表示するとぶっ壊れます。

これは、おそらくカスタムショールームのドライバは標準ドライバ用のステアリングアニメーションが自動で選択されるためかと思われます。(自分で作ったものが適用されない)

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