【UnityC#講座】上下キーで前進後退、左右キーで方向替える移動法【ユニティちゃん】



【Unityアセットストア公式】初購入特別キャンペーン

期間:日本時間 10月31日 17:00時まで
対象:アセットストアで初購入のユーザー限定
詳細:Unityアセットストアで初めてアセットを購入いただく方限定、アセット全品20%OFF


◆◆◆◆


Unity2018.1.5f1
Windows10

左右で方向転換/トップ

今回は以前書いた記事の操作方法を整理して紹介します。

【UnityC#講座】ユニティちゃんたちをドラクエっぽく一列に移動や順番変更させる【List、for文、NavMeshAgent】

WS・↑↓キーで前後に移動、AD・←→キーで左右に回転し、ついでにスペースキーでジャンプをするようにしました。

いつものごとくユニティちゃんと床のPlanを出しておいてください。

■AnimatorControllerの設定

AnimatorControllerを出します。

Project > Create > AnimatorController

Stateを出す

まだBlend TreeのState(四角いの)しかありませんが、以下のようになるようにセットしていきます。

左右で方向転換/AnimatorController完成図

罫線上にあるBlend Treeは罫線上で右クリックし、

Create State > From New Blend Tree

で出します。
Jumpはこれも同じようにし、

Create State > Empty

で作り名前をInspector上で変えます。

Blend Treeの設定

次にBlend Treeをクリックしてください。

左右で方向転換/AnimatorController/Blend Tree完成図

この画面を作るため、Blend TreeをクリックしInspectorを設定します。

左右で方向転換/AnimatorController/Blend Tree/Inspector

赤枠のところに注意して設定してください。
Motionの欄の右下の+ボタンでアニメーションを入れる欄を3つ作ります。
後ろ歩き、待機、前走行のアニメーションを入れます。
Thresholdの値の編集は下のAutomate Thresholdsのチェックを外すとできるようになります。

後ろ歩きは-1
待機は0
前走りは1

このようにセットしてください。
次に罫線の画面の左上のBase Layerをクリックして戻ります。

左右で方向転換/AnimatorController/Base Layerに戻る

Parametersの設定

次はParametersを設定します。

左右で方向転換/AnimatorController/Parameters

赤枠のParametersになっているかチェックしてから赤枠の+ボタンをクリックしBoolを選びJumpingと入力します。
BlendはBlend Treeを作った時点で勝手になっているはずですが、なければFloatで作ってください。

Transitionを設定する

TransitionはStateをつなぐ矢印です。
まずはBlend TreeからJumpへ向かうTransitionをクリックしてください。

左右で方向転換/AnimatorController/Transition

そしてInspectorの設定をしましょう。

左右で方向転換/AnimatorController/Transition設定

Has Exit Timeはチェックが入っているとアニメーションを最後まで流します。
そうするとアニメーションの急な切り替えに対応できないのでチェックを外します。
Conditionsは右下の+ボタンを押し空欄を出したらJumpingを選びます。
Blend TreeからJumpに向かう方のTransitionはTrue、戻す方をFalseにしてください。

スポンサーリンク

Jump Stateの設定

これで最後です。
Motionにジャンプのアニメーションを入れてください。
あと名前の欄をJumpにしてインターを押すと罫線上のStateの名前も変わります。

左右で方向転換/AnimatorController/Motion

できたらユニティちゃんのAnimatorにセットします。

左右で方向転換/AnimatorController/Animatorにセット

■スクリプトを書く

タグを設定する

次はユニティちゃんにアタッチするスクリプトを書きますが、その前にタグをセットしましょう。
今回はPlaneにGroundタグをつけ、ユニティちゃんがそれに接している時だけジャンプができるようになります。

PlaneのInspectorの左上を見てください。

左右で方向転換/タグ

Tagの欄のAdd Tagをクリックします。

左右で方向転換/Add Tag

Tagの項の+ボタンをクリック、出てきた入力欄にGroundと入力します。

左右で方向転換/Tagsの+ボタン

そしてまたPlaneのInspectorでGroundをセットします。

左右で方向転換/Groundタグ

スクリプトを書いてアタッチする

アタッチしたらInspectorでRigidbodyとCapsuleColliderがセットされていることを確認してください。
なかったら下のAdd Componentから自力でセットしましょう。

そして動かすとこのようになります。
操作はWS・↑↓キーで前後に移動、AD・←→キーで左右に回転し、スペースキーでジャンプです。

ちゃんと動かせたでしょうか?

■カメラをマウスで動かすスクリプト

ついでにカメラも軽く動かすことにしましょう。

【UnityC#講座】3D人型モデルを三人称視点で動かす【ユニティちゃん】

こちらで紹介した方法を簡略化したもので、マウスを横に移動させるとそれに合わせて回転します。
あとマウスの中ボタンスクロールで距離が変わります。

まず空のオブジェクトを出してAxisと名付け、以下のスクリプトをアタッチしてください。

結果はこのようになります。

左右で方向転換/Cameraをスクリプトで動かす

今回はこれで終わります。

■関連記事

【UnityC#講座】Cameraをターゲットに向かせる、画面を分割する、切り替える

【UnityC#講座】ユニティちゃんでもっとAnimator Controllerを上手く使いたい

【UnityC#講座】ユニティちゃんの表情を替える【SetLayerWeight】

【UnityC#講座】ユニティちゃんをマウスカーソルの方向に移動させる

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています

スポンサーリンク

目次に戻る


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください