FinalIKを使って女の子をバイクに乗せてみる【Unity】
FinalIKとは?
いつかバイクゲームを作りたいと思っているYamashoです。
↓こんなの作りたい
今回は放置してきた超有名アセット「FinalIK」を少し使ってみました。
ざっくりいうととてもいい感じに3Dモデルを動かせるアセットです。詳しくは下の記事を見てください(マルナゲー)。
結論から言いますと、めちゃくちゃ難しかったです…。今だによくわかりません。下の記事が一番参考になりました。後の記事は難しすぎて、自分の鳥頭では理解できませんでした。
今回の成果と使用アセット
成果物は以下の通りです。
FinalIK以外に使ったアセットは3つです。
つまりフェデリカたんが半裸でバイクにまたがって、札幌を疾走する図です。フェデリカはバンドルに入っていたアセットなので有料ですが、他2つは無料です。ZENRINの都市の3Dモデルについては、秋葉原、大阪、福岡もあります。
FainalIKでバイクにまたがる方法
フェデリカをバイクに乗せる際にFinalIKを使った方法を紹介します。
1.まず右手、左手、右足、左足、お尻を置きたい場所に空オブジェクトをそれぞれ作成します。今回はバイクなので、それぞれ、ハンドル、ペダル、シートにしました。
2.3Dモデル直下に「Full Body Biped IK」をアタッチします。
3.Body、LeftArm、RightArm、LeftLeg、RightLegという項目があり、それぞれにTargetが設定できるので、1で作成した空オブジェクトを入れます。
4.3Dモデルをバイクの上の適当な位置に配置します。
5.再生すると、以下のようになるので、1で作った空オブジェクトの位置を調整したり、「Full Body Biped IK」の数値をいじります。
BodyのMaintain Head Rotは0だと下を向いた状態になるので、1にして前を向かせます。
LegのRotation Weightは大きくすると蟹股になります。0だとバイク本体にめり込んでしまうので、0.04にしました。
指の動きはどうやればいいかわからなかったです…(3DモデルのTransformを変える方法はありますが、それはFinalIKは関係ないですよね…。)
EditモードでもFinalIKを有効にする
ちなみにFinalIKはプレイ中でないと有効にならないのですが、以下の記事を参考に、FullBodyBipedIK.csのスクリプトを開き、[ExecuteInEditMode]属性を追加すると、エディタモードでもFinalIKが有効になりました。これはいいことを知りました!
VeryAnimationも積んでいる
いい感じに3Dモデルを動かせる「VeryAnimation」という有名アセットもあるのですが、これも積んでいます…。いずれ使用してみます…。日本製だし、マニュアルは読みやすそうですね。