Unity2018.1.5f1
Windows10
□
■■追記■■
この記事のスクリプトの改良版を以下のリンク先で紹介しました。
【UnityC#講座】3D人型モデルを三人称視点で動かす操作を改良
■■追記ここまで■■
今回はアクションRPGみたいなカメラが、操作する人型オブジェクトの周りをマウス操作でぐるぐる回るようにします。
こんな感じですね
人型オブジェクトはユニティちゃんを使うのでダウンロードしておいてください。
■カメラを設定する
オブジェクトを用意する
まずカメラの設定から始めます。
Main Cameraを空のオブジェクトの子にし、空のオブジェクトが回転することでカメラが人型オブジェクトを向きながら回転するようにします。
なのでまず空のオブジェクトを出して「Axis」と名付けてください。
Hierarchy > Create > Create Empty
あとユニティちゃんと彼女が乗るPlanを出しておきましょう。
Project > UnityChan > Models > unitychan
Hierarchy > Create > 3D Object > Plan
Planは真っ白ですが見づらかったらユニティちゃんアセットの中にあるMaterialを当てたら良いでしょう。
Project > UnityChan > Stage > Materials
HieralchyのPlanの文字かSceneのPlanのオブジェクトにアタッチすると模様が変わります。
次にHieralchyでMain CameraをAxisにアタッチするとMainCameraはAxisの子オブジェクトになります。
スクリプトで子オブジェクトにすることもできますが今回は分かりやすくこうしました。
カメラを動かすスクリプトを書く
そうしたらスクリプトを書きましょう。
名前はオブジェクトと同じ「Axis」にします。
Project > Create > C# Script
Inspectorの設定をする
これをAxisにアタッチしたら次はそのInspectorを設定します。
Playerにユニティちゃんを入れてください。
CamにMain Cameraを入れてください。
Axis Posに何も入れないとカメラの軸がユニティちゃんの中心になります。
私はY軸を1にするとちょうどよく感じます。
さて、無事カメラは動いたでしょうか。
マウスホイールで距離を変えられます。
さて次はAnimator Controllerの設定に入りましょう。
スポンサーリンク
■Animator Controllerの設定をする
Animator Controllerを出す
Animator Controllerはアニメーションの遷移を管理するシステムです。
Project > Create > Animator Controller
名前は「UnityChanAnime」にしました。
Animator Controllerのアイコンをダブルクリックすると罫線の画面が出てきます。
罫線上にある四角いものをStateと言います。
罫線のウィンドウはマウスホイールで拡大縮小ができ、マウスホイールでドラッグすると移動することができます。
Parametersを設定する
Animator Controllerのウィンドウの左上のParametersをクリックしてください。
次に+ボタンを押し、出てきたメニューの中からFloatを選びます。
それでXとYという名前をつけてください。
Blend Treeの設定をする
次は罫線上で右クリックをして次のように選んでください。
Create State > From New Blend Tree
出てきたBlend TreeというStateをダブルクリックすると画面が変わります。
その出てきたBlend TreeのStateをクリックするとInspectorが変わります。
Inspectorの設定をする
まずBlend Typeを2D Simple Directionalにします。
次にParametersをXとYになるようにしてください。
次はその下のMotionを設定します。
+ボタンをクリック、Add Motion Fieldをクリックするとアニメーションを入れる空欄ができます。
それを5つ作ってユニティちゃんアセット付属のアニメーションを入れます。
Pos XとPos Yの数値もついでに設定しましょう。
WAIT00 ・・・ 0 0
RUN00_F ・・・ 0 1
WALK00_B ・・・ 0 -1
RUN00_R ・・・ 1 0
RUN_L ・・・ -1 0
これでAnimatorControllerのウィンドウはこのようになっています。
最後にUnityChanAnimeをユニティちゃんのAnimatorにセットします。
ついでにApply Root Motionのチェックを外してください。
これはアニメーションの動きで移動するかどうかを決めるものです。
■ユニティちゃんをスクリプトで動かす
スクリプトを書く
またC#スクリプトを出して今度は名前を「Player」にします。
Inspectorの設定
できたスクリプトをユニティちゃんにアタッチしてください。
そしたらCamの部分にMain Cameraを入れます。
さあ動かしてみましょう。
WASD、↑←↓→で前後左右に動きます。
カメラはマウスで動き、その方向に前進します。
今回は前進する時だけ方向が変わるようにしましたが気に入らなかったら自分で改造してみてください。
[RequireComponent(typeof(CapsuleCollider))]
[RequireComponent(typeof(Rigidbody))]
これをスクリプトに入れたことにより自動的にコンポーネントにCapsule ColliderとRigidbodyが追加され、再生した時に設定もされるようにしました。
もしされないようなことがあったら以下のように設定してください。
□
今回はこれで終わります。
お疲れさまでした。
この作品はユニティちゃんライセンス条項の元に提供されています
■関連記事
【UnityC#講座】3D人型モデルの動かし方をユニティちゃんで学ぶ【Animator】
【UnityC#講座】ユニティちゃんにキソラちゃんがついてくるようにする【NavMeshAgent、Blend Tree】
【UnityC#講座】ユニティちゃんの表情を替える【SetLayerWeight】
【UnityC#講座】AnimatorControllerを使いまわす【AnimatorOverrideController】
【UnityC#講座】AnimatorControllerの使い方
【UnityC#講座】ユニティちゃんたちをドラクエっぽく一列に移動や順番変更させる【List、for文、NavMeshAgent】
【UnityC#講座】ユニティちゃんをマウスカーソルの方向に移動させる
【UnityC#講座】上下キーで前進後退、左右キーで方向替える移動法【ユニティちゃん】
【UnityC#講座】無料アセットでユニティちゃんに剣を振らせる
スポンサーリンク