Unity2018.1.5f1
Windows10
□
今回は以前書いた記事の操作方法を整理して紹介します。
【UnityC#講座】ユニティちゃんたちをドラクエっぽく一列に移動や順番変更させる【List、for文、NavMeshAgent】
WS・↑↓キーで前後に移動、AD・←→キーで左右に回転し、ついでにスペースキーでジャンプをするようにしました。
いつものごとくユニティちゃんと床のPlanを出しておいてください。
目次
■AnimatorControllerの設定
AnimatorControllerを出します。
Project > Create > AnimatorController
Stateを出す
まだBlend TreeのState(四角いの)しかありませんが、以下のようになるようにセットしていきます。
罫線上にあるBlend Treeは罫線上で右クリックし、
Create State > From New Blend Tree
で出します。
Jumpはこれも同じようにし、
Create State > Empty
で作り名前をInspector上で変えます。
Blend Treeの設定
次にBlend Treeをクリックしてください。
この画面を作るため、Blend TreeをクリックしInspectorを設定します。
赤枠のところに注意して設定してください。
Motionの欄の右下の+ボタンでアニメーションを入れる欄を3つ作ります。
後ろ歩き、待機、前走行のアニメーションを入れます。
Thresholdの値の編集は下のAutomate Thresholdsのチェックを外すとできるようになります。
後ろ歩きは-1
待機は0
前走りは1
このようにセットしてください。
次に罫線の画面の左上のBase Layerをクリックして戻ります。
Parametersの設定
次はParametersを設定します。
赤枠のParametersになっているかチェックしてから赤枠の+ボタンをクリックしBoolを選びJumpingと入力します。
BlendはBlend Treeを作った時点で勝手になっているはずですが、なければFloatで作ってください。
Transitionを設定する
TransitionはStateをつなぐ矢印です。
まずはBlend TreeからJumpへ向かうTransitionをクリックしてください。
そしてInspectorの設定をしましょう。
Has Exit Timeはチェックが入っているとアニメーションを最後まで流します。
そうするとアニメーションの急な切り替えに対応できないのでチェックを外します。
Conditionsは右下の+ボタンを押し空欄を出したらJumpingを選びます。
Blend TreeからJumpに向かう方のTransitionはTrue、戻す方をFalseにしてください。
スポンサーリンク
Jump Stateの設定
これで最後です。
Motionにジャンプのアニメーションを入れてください。
あと名前の欄をJumpにしてインターを押すと罫線上のStateの名前も変わります。
できたらユニティちゃんのAnimatorにセットします。
■スクリプトを書く
タグを設定する
次はユニティちゃんにアタッチするスクリプトを書きますが、その前にタグをセットしましょう。
今回はPlaneにGroundタグをつけ、ユニティちゃんがそれに接している時だけジャンプができるようになります。
PlaneのInspectorの左上を見てください。
Tagの欄のAdd Tagをクリックします。
Tagの項の+ボタンをクリック、出てきた入力欄にGroundと入力します。
そしてまたPlaneのInspectorでGroundをセットします。
スクリプトを書いてアタッチする
アタッチしたらInspectorでRigidbodyとCapsuleColliderがセットされていることを確認してください。
なかったら下のAdd Componentから自力でセットしましょう。
そして動かすとこのようになります。
操作はWS・↑↓キーで前後に移動、AD・←→キーで左右に回転し、スペースキーでジャンプです。
ちゃんと動かせたでしょうか?
■カメラをマウスで動かすスクリプト
ついでにカメラも軽く動かすことにしましょう。
【UnityC#講座】3D人型モデルを三人称視点で動かす【ユニティちゃん】
こちらで紹介した方法を簡略化したもので、マウスを横に移動させるとそれに合わせて回転します。
あとマウスの中ボタンスクロールで距離が変わります。
まず空のオブジェクトを出してAxisと名付け、以下のスクリプトをアタッチしてください。
結果はこのようになります。
今回はこれで終わります。
■関連記事
【UnityC#講座】Cameraをターゲットに向かせる、画面を分割する、切り替える
【UnityC#講座】ユニティちゃんでもっとAnimator Controllerを上手く使いたい
【UnityC#講座】ユニティちゃんの表情を替える【SetLayerWeight】
【UnityC#講座】ユニティちゃんをマウスカーソルの方向に移動させる
この作品はユニティちゃんライセンス条項の元に提供されています
スポンサーリンク