オリジナルのドライバができたところで、既存の車のドライバを変更して起動すると、めちゃくちゃ変な動き方します。(体がつぶれる~~~)
これはアニメーションが標準ドライバの体格・スケルトン(アーマチュア)に合わせて作られているからで、体格の違うドライバでは動きが崩壊します。(当たり前か)
私は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に適用。(今回は自作のセレナくんにしました)
オリジナルのドライバモデルで一部のパーツがアーマチュアに追従できなかったり、ハンドルアニメーションで、手のひらの向きがずっと下向きだったり、変なところが多々残った状態ですが、比較的まともにハンドルを回しているようなアニメーションになりました。(ぉぃ
ここは解決できました!
実際に走らせてみた感じはこれです。
車内が暗かったので、明るさ補正をかけています。(ので画面が荒い・・・)
前回よりはまともに動くようになった・・・かな?
ハンドル操作もですが、頭を認識できたので、重力による前後左右へのアニメーションもできているようです。右を向いたりもできます。(髪が長すぎてめっちゃ邪魔そうですが)
ハンドルがくるくる早いのは、ゲームパットを使ってるからです。(ハンコンでやればよかったかも。)
(追伸)
ボディのマテリアル設定を変更したり、ポジションやステアリングアニメーションの調整をした結果、よりまともになったのがこちら。(まだ若干肩回りがおかしいけど)
なお、カスタムショールームでドライバを表示するとぶっ壊れます。
これは、おそらくカスタムショールームのドライバは標準ドライバ用のステアリングアニメーションが自動で選択されるためかと思われます。(自分で作ったものが適用されない)