Unityでマウス操作でカメラを動かしたいと思ったことはありませんか。
FPSゲームなどでは、マウスでカメラを動かす機能が必要ですよね。
この記事では、マウス操作でカメラを動かす基本構造を解説します。
感度調整や回転制限でつまずきやすい点を整理し、FPSや3D操作の基礎理解としてUnity入門の森を案内していきましょう。
- マウス操作によるカメラ制御の基本
- 基本構造と実装方法
- 感度調整の方法
- 回転制限の実装
- つまずきやすいポイント

マウス操作によるカメラ制御は、基本的な実装方法を覚えれば実現できます。
感度や回転制限も、少し工夫すれば実装できますよ。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
マウス操作によるカメラ制御の基本

マウス操作によるカメラ制御の基本を説明します。
どのような構造になっているのでしょうか。
基本構造
マウス操作によるカメラ制御の基本構造は、以下の通りです:
- マウスの移動量を取得:Input.GetAxis(“Mouse X”)やInput.GetAxis(“Mouse Y”)で取得
- カメラの回転に反映:取得した値をカメラの回転に加算
- 感度を調整:移動量に感度を掛けて調整
- 回転を制限:上下の回転を制限する
この構造を理解すれば、マウス操作によるカメラ制御を実装できます。
実装の流れ
実装の流れは、以下の通りです:
- マウス入力の取得:マウスの移動量を取得
- 回転量の計算:移動量に感度を掛けて計算
- カメラの回転:計算した値をカメラの回転に適用
- 回転の制限:上下の回転を制限
この流れに沿って実装すれば、マウス操作によるカメラ制御ができます。
基本構造と実装方法

基本構造と実装方法を説明します。
基本的なスクリプト
基本的なスクリプトは、以下の通りです:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using UnityEngine; public class MouseCameraControl : MonoBehaviour { public float mouseSensitivity = 100f; private float xRotation = 0f; void Update() { float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime; float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime; xRotation -= mouseY; xRotation = Mathf.Clamp(xRotation, -90f, 90f); transform.Rotate(Vector3.up * mouseX); transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f); } } |
このスクリプトで、基本的なマウス操作によるカメラ制御ができます。
基本的なスクリプトを実装すれば、マウス操作によるカメラ制御ができます。
スクリプトの説明
スクリプトの各部分を説明します:
- mouseSensitivity:マウスの感度を設定する変数
- xRotation:上下の回転量を保存する変数
- Input.GetAxis(“Mouse X”):マウスの左右の移動量を取得
- Input.GetAxis(“Mouse Y”):マウスの上下の移動量を取得
- Mathf.Clamp:上下の回転を制限する
これらの要素を組み合わせることで、マウス操作によるカメラ制御ができます。
スクリプトの各部分を理解すれば、カスタマイズできます。
感度調整の方法

感度調整の方法を説明します。
感度の設定
感度は、mouseSensitivityの値を変更することで調整できます。
値が大きいほど、カメラの動きが速くなります。
値が小さいほど、カメラの動きが遅くなります。
感度の値を調整することで、カメラの動きを調整できます。
感度の推奨値
感度の推奨値は、以下の通りです:
| 用途 | 推奨値 | 特徴 |
|---|---|---|
| FPSゲーム | 100-200 | 素早い操作が必要 |
| 3D探索ゲーム | 50-100 | 落ち着いた操作 |
| カメラ視点調整 | 20-50 | 細かい調整が必要 |
用途に応じて、適切な値を設定しましょう。
用途に応じて感度を設定することで、快適に操作できます。
実行時の感度調整
実行時に感度を調整する方法もあります。
以下のようなコードで実装できます:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public float mouseSensitivity = 100f; void Update() { // 実行時に感度を調整 if (Input.GetKey(KeyCode.LeftShift)) { mouseSensitivity = 50f; // 感度を下げる } else { mouseSensitivity = 100f; // 通常の感度 } // カメラ制御の処理... } |
実行時に感度を調整することで、状況に応じて操作を変更できます。
実行時に感度を調整することで、柔軟な操作ができます。
回転制限の実装

回転制限の実装方法を説明します。
上下の回転制限
上下の回転を制限するには、Mathf.Clampを使用します。
以下のようなコードで実装できます:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
private float xRotation = 0f; public float minAngle = -90f; public float maxAngle = 90f; void Update() { float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime; xRotation -= mouseY; xRotation = Mathf.Clamp(xRotation, minAngle, maxAngle); transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f); } |
Mathf.Clampで、回転を-90度から90度の範囲に制限できます。
Mathf.Clampで回転を制限することで、適切な視点を維持できます。
左右の回転制限
左右の回転を制限する方法もあります。
ただし、左右の回転を制限すると、操作が不自然になることがあります。
必要に応じて実装しましょう。
左右の回転制限は、必要に応じて実装します。
回転制限の値
回転制限の値は、用途に応じて調整します。
- 上下:-90度から90度:一般的なFPSゲーム
- 上下:-45度から45度:制限を強くしたい場合
- 左右:制限なし:一般的には制限しない
用途に応じて、適切な値を設定しましょう。
用途に応じて回転制限の値を設定することで、適切な視点を維持できます。
つまずきやすいポイント

マウス操作によるカメラ制御でつまずきやすいポイントを説明します。
ポイント1:マウスの上下が逆になる
マウスの上下が逆になることがあります。
この場合、mouseYの符号を反転させましょう。
|
1 2 3 |
xRotation -= mouseY; // 逆にする場合 xRotation += mouseY; // 正しい方向にする場合 |
符号を変更することで、マウスの上下を調整できます。
マウスの上下が逆になる場合、符号を変更します。
ポイント2:感度が高すぎる、低すぎる
感度が高すぎる、または低すぎる場合、操作が困難になります。
mouseSensitivityの値を調整して、適切な感度に設定しましょう。
値が大きすぎる場合は小さくし、値が小さすぎる場合は大きくします。
感度を調整することで、快適に操作できます。
ポイント3:回転制限が効かない
回転制限が効かない場合、Mathf.Clampの使い方を確認しましょう。
xRotationの値をClampした後、localRotationに適用する必要があります。
順序を確認して、正しく実装しましょう。
回転制限が効かない場合、実装の順序を確認します。
まとめ

この記事では、Unityでマウス操作によるカメラ制御を実装する基本を解説しました。
重要なポイントをおさらいします。
- マウス操作によるカメラ制御の基本構造として、マウスの移動量を取得し、カメラの回転に反映する構造がある
- 基本構造と実装方法として、Input.GetAxisでマウスの移動量を取得し、transform.Rotateでカメラを回転させる
- 感度調整の方法として、mouseSensitivityの値を変更することで調整でき、用途に応じて適切な値を設定する
- 回転制限の実装として、Mathf.Clampを使用して上下の回転を制限し、用途に応じて適切な値を設定する
- つまずきやすいポイントとして、マウスの上下が逆になる、感度が高すぎる・低すぎる、回転制限が効かないなどのポイントがある
マウス操作によるカメラ制御は、基本的な実装方法を覚えれば実現できます。
感度や回転制限も、少し工夫すれば実装できますよ。
Unity入門の森で、FPSや3D操作の基礎理解としてUnity入門の森を案内する学習先として、カメラを含めたUnityの基礎を体系的に学べます。
あなたのペースで、少しずつ進めていけば大丈夫です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。





コメント