▼そのUnityの作業、依頼しませんか?
ゲーム開発に使える素材・知識

【Unity】一人称視点で使えるカメラの動きをスクリプトを使って実装する

【Unity】一人称視点で使えるカメラの動きをスクリプトを使って実装する
一人称視点で使えるカメラの動きをスクリプトを使って実装する

↑このような感じでカーソルの動きと同じようにカメラも動く

一人称視点で使えるカメラの動きをスクリプトを使って実装していく。少し階層構造が複雑なので、じっくり読んでいただきたい。

一人称視点で使えるカメラの動きをスクリプトを使って実装する

現在の状況

一人称視点で使えるカメラの動きをスクリプトを使って実装する
  • X軸Z軸方向に動かせるPlayerが設置してある
  • Main CameraがPlayerの子オブジェクトになっている

 

「Player」は動かせるようにしている。「Character Controller」を使ってオブジェクトを動かす【Unity】で動かせる。この記事の続きとして読むと非常にわかりやすくなる。

Character Controllermコンポーネントを使ってオブジェクトを動かす
「Character Controller」を使ってオブジェクトを動かす【Unity】【Unity】Unityで使える「Character Controller」コンポーネントを使って、オブジェクトを動かしていく。スクリプトがあるので、簡単にオブジェクトを動かせる。上下左右に動かせるようにする。...

「Player」にスクリプトをアタッチ

一人称視点で使えるカメラの動きをスクリプトを使って実装する

【Player選択】→【LookXというスクリプトを追加】

 

「LookX」スクリプトに記述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LookX : MonoBehaviour
{
    [SerializeField]
    private float x_sensitivity = 3f;

    void Update()
    {
        float x_mouse = Input.GetAxis("Mouse X");

        Vector3 newRotation = transform.localEulerAngles;
        newRotation.y += x_mouse * x_sensitivity;
        transform.localEulerAngles = newRotation;
    }
}

 

x_sensitivityの値を変更すると、カメラの動くスピードが変更される。

 

このような階層構造にする

一人称視点のカメラが設定できるような階層構造にする

【Create Empty】→【LookYに名前を変更】→
【画像のような階層構造にする】

プレイヤーも空のオブジェクトもカメラの位置も同じ位置のほうが良い。カメラに関しては少しだけY軸方向に高いほうがプレイヤーの目線に合うこともあるので、そのあたりはあとで微調整していただきたい。

 

「LookY」にスクリプトをアタッチ

一人称視点のカメラが設定できるようにスクリプトをアタッチする

【LookY選択】→【LookYというスクリプトを追加】

 

「LookY」スクリプトを記述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LookY : MonoBehaviour
{
    [SerializeField]
    private float y_sensitivity = 3f;

    void Update()
    {
        float y_mouse = Input.GetAxis("Mouse Y");

        Vector3 newRotation = transform.localEulerAngles;
        newRotation.x -= y_mouse * y_sensitivity;
        transform.localEulerAngles = newRotation;
    }
}

 

y_sensitivityの値を変更すると、カメラの動くスピードが変更される。

 

実行してこんなふうになったらOK

一人称視点で使えるカメラの動きをスクリプトを使って実装する

【カーソルを動かした方向にカメラも動いたらOK

 

おわりに

もっと良いスクリプトがあると思う。思いついたら書くので許してほしい。

以上、一人称視点で使えるカメラの動きをスクリプトを使って実装する方法だ。

このようなチュートリアルを販売しているので、Unityでゲームを作成している人は購入していただきたい。

>>Unityでもっとゲーム開発する

【Unity3Dサンプルゲーム】うちのポチが危ないところでフリスビーを要求する理由を教えてくれの本記事
【Unity3Dサンプルゲーム】うちのポチが危ないところでフリスビーを要求する理由を教えてくれの概要新しいサンプルゲームを公開します。今回は3Dゲームが作れるような記事になっています。ゲーム名は非常に長いですが、特に気にしないください。...
ABOUT ME
さぎのみや
さぎのみや
超書手。現在はUnityメディア「ユニシャー」の運営とゲーム開発がメインです。Unity、ライティング関係のお仕事お待ちしております。 >>詳しいプロフィール >>Amazonほしいものリスト
【Unity3D】新しいサンプルゲーム(チュートリアル)を作りました!!!
Unity有料サンプルゲーム

「Unityで3Dゲームを本格的に作っていきたい!」という人におすすめのチュートリアルとなっています。

画像のようなゲームの作り方を販売しています。色々と応用できるサンプルゲームとなっています。ぜひ、作ってみてください。

詳細
>>【Unity3Dサンプルゲーム】うちのポチが危ないところでフリスビーを要求する理由を教えてくれ

>>BOOTHでサンプルゲームを見る

COMMENT

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

CAPTCHA


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