Unity キャラクターを操作

Maya

キャラクターにアニメーションを付与するところまでは出来たので、今回は操作が出来るところまでやっていこうと思います

参考文献:賀好昭仁 作って学べるUnity本格入門 技術評論社 2022 160ページ



Character Controllerとscriptのアタッチ

HierarchyウインドウのAdd Component→character Controllerをクリックすると、キャラクターコントローラーがアタッチされます

カプセル状のフレームがキャラクターにマッチするように、Radius,Height,Centerの値を調節します

調節が終わったら、再度Add Componentをクリックし、スクリプトをアタッチします

今回は書籍に記載されていたものを使用します

こちらはキー入力にてキャラクターを操作するためのスクリプトとなっています

アタッチが完了したので実行してみると・・・

もふもふ
もふもふ

位置(;゚Д゚)

操作は出来るようになりましたが、何故か少し宙に浮いています

考えた結果、Mayaの方に原因がありそうなので、見てみると・・・

原点がキャラクターの腰あたりになっているので、足裏にくるように調整します

再度Unityに書き出します

浮かなくなりました!

アニメーションの設定

待機状態と歩行状態で別々のアニメーションが表示されるように設定をしていきます

こちらhttps://pc-engine.blog/humanoido/で設定したものを利用します

歩行アニメーションを設定していたところを待機アニメーションに変更します

ビュー内の余白を右クリック→Criate State→Emptyでステートをもう一つ作成し、歩行アニメーションをセットしておきます

待機ステートを右クリック→Make Transition→歩行ステートをクリック

矢印(トランジション)で繋がれました

赤線部分の+をクリックしFloatを選択します

名前をMoveSpeedと入力します(スクリプトに対応させるため)

先ほど作成したトランジションを選択し、赤線部分の+をクリックします

MoveSpeedを選択し、値を0.01に設定します

同様に逆方向のトランジションを作成し、MoveSpeedの条件をLess、値を0.01と設定します

トランジションのInspectorウインドウにて、Has Exit Timeのチェックを外し、Transition Duratioの値を調整することで、アニメーションの切り替えがスムーズになるようです

両方向設定が完了しました

再生してみます

何も入力していない時は待機モーションになってくれました



まとめ

キャラクターにキャラクターコントローラーとスクリプトをアタッチ→Animator Controllerの設定

自作のキャラクターを操作出来るようになると、とてもやりがいがあって楽さを感じることが出来ました

スクリプト等勉強して、これから出来ることを徐々に増やしていけたらと思います

タイトルとURLをコピーしました