今回は、プレイヤーの体を作ります。
プレイヤーのモデル、とりあえず敵キャラのレギンスの色を変えただけです。
最終的に、プレイヤー側に目に見えるボディが必要なのかどうかは微妙なところですが(半透明とかで良いかも)、とりあえず調整のためにこれで設定してみます。
要件としては、
1、プレイヤーの動きと同期する必要がある
2、打撃を受けた時に、部位ごとに衝突検知する必要がある
というところですが、今回は「1」についての設定です。
Unityで「Final IK」を使って設定した状態が以下です。
「Orion」という便利なものもありますが、年間費用がかかるのでやめときます。
ちなみに、バーチャルYouTuberを動かすやり方も、VIVEを使う場合はほぼ同じですね。
まだまだ調整が必要なところがたくさんあります。
・体のねじれ、背骨の曲がりが反映されていない
・膝の曲がりが反映されていない
・足首がへんな角度に曲がる(以下写真)
1、2、の原因としては、腰にトラッカー付けてないのが影響してます。やっぱり必要ですね。
今回はトラッカー、頭と左右の足につけてます。
(足・・・蹴りを使うと外れますね。つける場所とか角度とか、一考が必要です)
(頭・・・ちょっと恥ずかしい)
頭は最終的にVIVEをかぶるのでトラッカーはいらなくなりますから、頭のトラッカーを腰に使うことにします。
それと、各関節の限界角度を設定してやらないといけませんね。
3、の足首がおかしくなっている件はこれが原因です。
あと、映像には出てきませんが、実際に動く人と、3Dモデルは身長が同じでないと正しい動きが反映できないようです。
後の話ですが、最終的には、VIVEをかぶった時点で自動的に身長を判断し、3Dモデルのサイズに適用するようにしないといけなさそうです。
そのほか、「Filal IK」にいろいろとそういった部分を調整するスクリプトがあるので、いろいろ組み合わせて調整してみます。
おそらく、丁寧に調整していけば「Filal IK」だけでリアルな動きが再現できるかなと思います。
あと、前回設定した手の動きをこのモデルにも反映しないといけません。