前回の記事にいいねしていただいた皆さん
ありがとうございます!!
※嬉しすぎて飛び跳ねてました(笑)
というわけで早速していきます!!
パルクールゲームの作り方!! #2
この記事を読む目安 : 10~15分
目次
1.今回すること
2.早速実装!!
1.今回実装すること
今回は、マウスで、視点操作ができるようにします。
では、Unityの起動から!
①今回は、3Dでプロジェクトを作成します。
(プロジェクト名は、何でも大丈夫です。)
②まず、左の+から、Create Emptyを押して、名前を
「Environment」とします。
(これから、ここに地面などを入れます。)
③そしたら、「Environment」を右クリックして、
3D Object → Plane をクリックして、
名前を 「Ground」とします。
④ここで、2つのパターンが有るのですが、とりあえず、この講座を進めたい!
って、人は、⑧まで、飛ばしてください!!
ミラーズエッジみたいに、本格的に作りたいって人は、
ここから飛ばさないで見てください!!(笑)
⑤まず、下のURLにアクセスします。
そして、Sing Upしたら、このような画面になると思います。
そうしたら、左上に「Character」というものがあると思います。
そこをクリックして、好きなキャラクターを選び、Use This Character を押します。
⑥そしたら、次に「Animations」をクリックします。
そして、Search🔍のところに「Locomotion」と打って、検索します。
このような画面になるのではないでしょうか?
(キャラクターは、人それぞれ違います)
そしたら、上から二段目の、右の方にある、「Basic Locomotion Pack」
をクリックして、右の方のDownloadを押します。
(Zipファイルがダウンロードされると思うので、解凍してください。)
保存ができたら、Unityに戻ります。
⑦さっきダウンロードしたファイルを、Unityの、フォルダーにドラッグします。
⑧ そうしたら、
⑧まで飛ばしてきた人は、左上の+から、3D Object → Capsuleをクリックします。
⑧まで飛ばさなかった人は、さっきの、ダウンロードしたフォルダーを開いて、
自分がダウンロードしたキャラクターの、キャラクターをドラッグします。
⑨ ここは、共通です。
さっき、作ったキャラクターの名前を「Player」とします。
(Capsuleの方は飛ばしてください)
そして、ここが少し難しいのですが、
右クリック、Prefab → Unpack を押します。
そうすることで、Prefab化が解除されるので、色々メリットがあります。
⑩Create Empty → Camera Holderという名前にする。
Main CameraをCamera Holderにドラッグする。
⑪ここから、プログラミングしていきます!!
メインカメラを開いている状態で、
右下の「Add Component」を押します。
そして、「Camera Controller」と入力して、
エンターキーを押します。
そうすると、下のような画面になっていると思います。
そしたら、「Camera Controller」 ダブルクリックして、
開きます。
(この記事では、Visual Codeを推奨しています。)
もしインストールしていない方は、下の記事からDownloadお願いします。
そうしたら、次のコードをコピー・アンド・ペーストしてください!!
----------------------------------------------------------------------------
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraController : MonoBehaviour { [Header("Sens")] public float sensX; public float sensY; [Header("Angle")] public float maxUp = -90f; public float maxDown = 90f; [Header("Player")] public Transform player; public Transform camHolder; float xRotation; float yRotation; void Start() { Cursor.lockState = CursorLockMode.Locked; } // Update is called once per frame void Update() { float mouseX = Input.GetAxisRaw("Mouse X") * Time.deltaTime * sensX; float mouseY = Input.GetAxisRaw("Mouse Y") * Time.deltaTime * sensY; yRotation += mouseX; xRotation -= mouseY; xRotation = Mathf.Clamp(xRotation, maxUp, maxDown); transform.rotation = Quaternion.Euler(xRotation, yRotation, 0); player.rotation = Quaternion.Euler(0, yRotation, 0); } }
----------------------------------------------------------------------------
まだ、ページにソースコードを埋め込む方法がわからないので、わかりにくいと思いますが、次の記事までに習得しておきます!!(有識者の方教えてくださ(殴)
そしたら、Ctr + S で保存して、Unityに戻ります。
そうしたら、CameraControllerの設定を、次の写真のようにします。
これで、再生ボタンを押すと、カメラがマウスの動きと連動して、視点操作できてるのではないでしょうか!?
まとめ
ソースコードとか、わかりづらすぎてごめんなさい!!(笑)
もし、間違ってるところなどあったら、コメント欄でバンバン叩いてください!
では、次の記事で!!