【UnityC#講座】ユニティちゃんでもっとスカイリム風に操作したい 前編【カメラ】
この記事の続きです。
目次
■Animator Controllerを設定する
次はユニティちゃんにアニメーションさせるためにAnimator Controllerの設定をします。
名前は「UnityChanAnime」にしました。
Project > Create > Animator Controller
Stateの設定をする
Stateは長方形のものです。
画面上を右クリックして以下のように操作して出します。
Create State > Empty
一番最初に出したものがEntryとつながります。
名前はInspectorに入力してインターで変えられます。
Stateはドラッグして動かし、マウスホイールの回転でズームアップ&アウトができます。
Stateは6つ出して以下のように名付けてください。
Idle
Front
Back
Right
Left
Jump
Motionを設定する
次はStateのInspectorでMotionを設定します。
Motionの空欄の右端の丸ぽちをクリックし、ユニティちゃんアセットに付属していたアニメーションを入れます。
それぞれこのような名前のものを入れてください。
Idle > WAIT00
Front > RUN00_F
Back > WALK00_B
Right > RUN00_R
Left > RUN00_L
Jump > JUMP00
Parametersの設定をする
次は左上にあるParametersをクリックします。
その右下にある+ボタンをクリックしてBoolを選びます。
そして画像のようにFront、Back、Right、Left、Jumpの5つを作ってください。
Transitionの設定をする
TransitionはStateをつなぐ矢印の線です。
矢印を出す方のStateを右クリックしてMake Transitionを選び、つなげたいStateをクリックします。
AnyStateから4つのStateにつながり、そこからExitにつながります。
JumpはExitにつながるだけです。
次はAny Stateから伸びるTransitionをクリックしてそのInspectorを見てください。
Settingsをクリックすると出てくるCan Transition Toのチェックを外します。
このチェックが入っていると連続でアニメーションを作動させるのでおかしな動きになります。
次は下部のConditionsの+ボタンをクリックしてください。
つながっているStateと同じ名前のParametersをセットしTrueにします。
これを4つともやってください。
それが済んだら今度はその4つのStateからExitにつながるTransitionの設定をします。
まず4つともHas Exit Timeのチェックを外してください。
このチェックが入っているとアニメーションを最後まできっちり流すので不自然になります。
次にまたConditionsの設定をStateと同じ名前のParametersでしますが今度はFalseにします。
最後はJumpからExitに伸びているTransitionですが、こちらは最後までアニメーションを流したいのでHas Exit Timeのチェックを外しません。
ConditionsにJumpのFalseを入れるだけで良いです。
これでAnimator Controllerの設定は終わりです。
PlayerのAnimatorに入れましょう。
スポンサーリンク
■ユニティちゃんを動かす
Playerのスクリプトを書く
さあまずはPlayerを動かす「PlayerController」スクリプトを書きましょう。
WASDキー、あるいは上下左右キーで移動、向きはカメラが向く方向で変えてスペースキーでジャンプします。
できたらPlayerに入れてください。
PlayerのInspectorの設定をする
Playerにスクリプトを入れたら次はInspectorの設定をします。
CameにMain Cameraを、Unity ChanにはunitychanをそれぞれHierarchyからドラッグ&ドロップするか空欄の右にある丸をクリックして選択します。
これだけでも一応動きますがまだ地面に接しているという判定ができていないのでアニメーションとジャンプができません。
さて、最後の仕上げと行きましょう。
地面判定のスクリプトを書く
GroundDecisionに入れる同名の「GroundDecision」スクリプトを書きます。
できたらGroundDecisionへドラッグ&ドロップです。
あとGroundDecisionのSphere ColliderのIs Triggerにチェックが入っているかチェックしてください。
されていたらさっそく動かしてみましょう。
□
今回はここまでです。
お疲れさまでした。
この作品はユニティちゃんライセンス条項の元に提供されています
■他に使用したアセット
Terrainの装飾に使いました。
■関連記事
【UnityC#講座】3D人型モデルの動かし方をユニティちゃんで学ぶ【Animator】
【UnityC#講座】ユニティちゃんにキソラちゃんがついてくるようにする【NavMeshAgent、Blend Tree】
【UnityC#講座】ユニティちゃんをスカイリム風に操作する
【UnityC#講座】ユニティちゃんでもっとAnimator Controllerを上手く使いたい
【UnityC#講座】AnimatorControllerを使いまわす【AnimatorOverrideController】
【UnityC#講座】AnimatorControllerの使い方
【UnityC#講座】ユニティちゃんをマウスカーソルの方向に移動させる
【UnityC#講座】上下キーで前進後退、左右キーで方向替える移動法【ユニティちゃん】
スポンサーリンク