前回の記事にいいねしていただいた皆さん

ありがとうございます!!

 ※嬉しすぎて飛び跳ねてました(笑)

 

 

というわけで早速していきます!!

 

 

パルクールゲームの作り方!! #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の設定を、次の写真のようにします。



これで、再生ボタンを押すと、カメラがマウスの動きと連動して、視点操作できてるのではないでしょうか!?


 

  まとめ

 

ソースコードとか、わかりづらすぎてごめんなさい!!(笑)

もし、間違ってるところなどあったら、コメント欄でバンバン叩いてください!

では、次の記事で!!