UnityでFPSゲームを作る際、一人称視点でのマウス操作は基本機能の一つですよね。
マウスで視点を動かす機能を実装したいと思ったことはありませんか。
この記事では、一人称視点でのマウス操作実装を解説します。
回転制御の基本を整理し、FPS制作の入口としてUnity入門の森を案内していきましょう。
- 一人称視点のマウス操作の実装方法
- 基本的なスクリプト
- 回転制御の基本
- 感度調整の方法
- 実装のポイント

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

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

基本的なスクリプトを説明します。
スクリプトの実装
基本的なスクリプトは、以下の通りです:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using UnityEngine; public class MouseLook : MonoBehaviour { public float mouseSensitivity = 100f; public Transform playerBody; private float xRotation = 0f; void Start() { Cursor.lockState = CursorLockMode.Locked; } 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.localRotation = Quaternion.Euler(xRotation, 0f, 0f); playerBody.Rotate(Vector3.up * mouseX); } } |
このスクリプトで、基本的な一人称視点のマウス操作が実装できます。
このスクリプトで、基本的な一人称視点のマウス操作が実装できます。
スクリプトの説明
スクリプトの各部分を説明します:
- mouseSensitivity:マウスの感度を設定する変数
- playerBody:プレイヤーの体(水平回転用)
- xRotation:上下の回転量を保存する変数
- Cursor.lockState:マウスカーソルをロックする
- Mathf.Clamp:上下の回転を制限する
これらの要素を組み合わせることで、一人称視点のマウス操作ができます。
スクリプトの各部分を理解すれば、カスタマイズできます。
回転制御の基本

回転制御の基本を説明します。
水平回転と垂直回転
一人称視点のマウス操作では、水平回転と垂直回転を分けて扱います。
水平回転(Mouse X)は、プレイヤーの体全体を回転させます。
垂直回転(Mouse Y)は、カメラだけを回転させます。
水平回転と垂直回転を分けることで、自然な操作ができます。
回転の制限
上下の回転を制限することが大切です。
Mathf.Clampを使って、-90度から90度の範囲に制限します。
これにより、首を180度回転させることができなくなります。
回転を制限することで、自然な操作ができます。
回転の順序
回転の順序も重要です。
水平回転を先に行い、その後に垂直回転を行うことで、自然な操作ができます。
順序を間違えると、操作が不自然になることがあります。
回転の順序を正しくすることで、自然な操作ができます。
感度調整の方法

感度調整の方法を説明します。
感度の設定
感度は、mouseSensitivityの値を変更することで調整できます。
値が大きいほど、カメラの動きが速くなります。
値が小さいほど、カメラの動きが遅くなります。
感度の値を調整することで、カメラの動きを調整できます。
感度の推奨値
感度の推奨値は、以下の通りです:
| 用途 | 推奨値 | 特徴 |
|---|---|---|
| FPSゲーム | 100-200 | 素早い操作が必要 |
| 探索ゲーム | 50-100 | 落ち着いた操作 |
| カメラ視点調整 | 20-50 | 細かい調整が必要 |
用途に応じて、適切な値を設定しましょう。
用途に応じて感度を設定することで、快適に操作できます。
実装のポイント

実装のポイントを説明します。
ポイント1:カーソルのロック
カーソルをロックすることが大切です。
Cursor.lockState = CursorLockMode.Lockedで、マウスカーソルをロックします。
これにより、画面の外にマウスが移動しても、操作が続けられます。
カーソルをロックすることで、快適に操作できます。
ポイント2:Time.deltaTimeの使用
Time.deltaTimeを使うことも大切です。
Time.deltaTimeを使うことで、フレームレートに依存しない操作を実現できます。
フレームレートが変わっても、操作感が一定になります。
Time.deltaTimeを使うことで、フレームレートに依存しない操作を実現できます。
ポイント3:回転の制限
回転を制限することも大切です。
Mathf.Clampを使って、上下の回転を-90度から90度に制限します。
これにより、自然な操作ができます。
回転を制限することで、自然な操作ができます。
まとめ

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




コメント