3Dアクションゲームを作りたい。
でも、2Dと何がどう違うのか分からない。
特に多くの初心者が悩むのが、3D空間でのキャラクター操作や、カメラ視点の扱いです。
実は、3Dアクションも基本を押さえれば、考え方は2Dゲームと大きく変わりません。
この記事では、Unity 2022 LTSを想定し、3Dアクションゲームの作り方をキャラ操作・視点・当たり判定を中心に、実践的に解説します。
✨ この記事でわかること
- 3Dアクションゲームに必要な基本要素
- キャラクター操作の実装方法
- TPS/FPSカメラの設定
- 3D当たり判定の考え方

\あなたにピッタリのアクションゲーム制作講座を見つけよう!/
おすすめ第1位
Unity 2Dアクションゲーム
の作り方講座(ロックマン風)
ロックマン風の横スクロールACTをスマホ化・広告実装まで対応。ゲームのリリースまでを見据えた実践的なカリキュラムで、作って終わりにならない一本です。
3D入門に最適
ゼルダ風3Dアクションゲーム
の作り方講座
ゼルダ風の3Dアクションをスマホ対応で作れる入門講座。全16回で初心者でも3Dゲーム開発の基礎からしっかり習得できます。
3プラットフォーム対応
Unity FPSゲームの
作り方講座
FPS・VR・スマホの3プラットフォームに同時対応。1本作るだけで3つのゲームが完成する圧倒的なコスパが魅力の講座です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
3Dアクションゲームに必要な基本要素

3Dアクションゲームを作る上で、最低限必要な要素は次の5つです。
- キャラクターの移動と操作(CharacterControllerまたはRigidbody)
- カメラの視点設定(TPS/FPS)
- 当たり判定(ColliderとRaycast)
- 敵AI(基本的な行動パターン)
- ステージ構造(地形、障害物)
2Dと大きく違うのは、カメラの扱いです。
3Dでは、プレイヤーの後ろから見るTPS(Third Person Shooter)や、プレイヤーの視点で見るFPS(First Person Shooter)を選べます。
まずは、TPSから始めるのがおすすめです。
3Dカメラ追従の作り方|TPS・FPSカメラの基礎とCinemachine活用
CharacterControllerを使った移動の実装

3Dアクションゲーム制作では、キャラクターの移動実装で最初につまずく人がとても多いです。
特に初心者の場合、「コードは合っているのに、思った通りに動かない」という状況になりがちです。
その原因は、スクリプトではなく、CharacterControllerの設定にあることがほとんどです。

まずは、移動処理を書く前に、Inspectorで行う基本設定を確認しておきましょう。
CharacterControllerの基本設定(事前準備)
CharacterControllerを使って移動を実装する前に、Inspectorでの基本設定を行っておくことが重要です。
この設定が適切でないと、キャラクターが地面に埋まったり、段差を正しく乗り越えられなかったりします。
まずは、PlayerオブジェクトにCharacterControllerコンポーネントを追加してください。
設定で主に調整するのは、次の項目です。
- Height:キャラクターの身長
- Center:当たり判定の中心位置
- Radius:体の太さ
人型キャラクターの場合、以下の値を目安にすると扱いやすくなります。
- Height:1.8〜2.0
- Center Y:Heightの半分程度
- Radius:0.3〜0.5
設定後は、
Sceneビューで緑色のカプセルがキャラクターの体に合っているか必ず確認してください。
この設定ができていれば、CharacterControllerは地面との衝突や段差処理を自動で行ってくれます。
移動とジャンプの実装
基本設定ができたら、スクリプトを使ってキャラクターの移動処理を実装します。
3Dアクションでは、RigidbodyよりもCharacterControllerを使うほうが、操作感を安定させやすいのが特徴です。
以下のスクリプトで、前後左右の移動とジャンプを実装できます。
|
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
using UnityEngine; public class PlayerController3D : MonoBehaviour { [SerializeField] private float moveSpeed = 5f; [SerializeField] private float jumpHeight = 2f; private CharacterController controller; private Vector3 velocity; private bool isGrounded; void Start() { controller = GetComponent<CharacterController>(); } void Update() { isGrounded = controller.isGrounded; if (isGrounded && velocity.y < 0) { velocity.y = 0f; } // 移動入力 float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); Vector3 move = transform.right * horizontal + transform.forward * vertical; controller.Move(move * moveSpeed * Time.deltaTime); // ジャンプ if (Input.GetButtonDown("Jump") && isGrounded) { velocity.y += Mathf.Sqrt(jumpHeight * -3.0f * Physics.gravity.y); } // 重力 velocity.y += Physics.gravity.y * Time.deltaTime; controller.Move(velocity * Time.deltaTime); } } |
このコードで、WASDキーで移動、スペースキーでジャンプができます。
CharacterControllerは、物理演算を使わずに衝突判定を行うため、3Dアクションでも安定した操作感を作りやすくなります。
また、isGrounded を使えば、接地判定も簡単に取得できます。
TPSカメラの実装方法

3Dアクションゲームでは、カメラの実装で一気に難しく感じる人が多いです。
特に初心者の場合、
- カメラは回るけど、キャラクターの向きがおかしい
- 移動方向と視点が一致しない
- マウス操作が直感的でない
といった問題にぶつかりやすくなります。
これは、「カメラの回転」と「キャラクターの向き」の役割を整理できていないことが原因です。

まずは、TPSカメラの考え方を押さえてから、実装に進みましょう。
TPSカメラの基本的な考え方
TPSカメラは、キャラクターの後ろから全体を見渡す視点です。
このとき重要なのは、カメラ自体が自由に動くのではなく、プレイヤーを中心に回り込むように動かすという考え方です。
基本的な役割は次のように分かれます。
- カメラ:視点の回転・距離・高さを管理する
- キャラクター:移動方向と向きを決定する
TPSでは、カメラの回転に合わせて、キャラクターの向きや移動方向を調整することで、自然な操作感を作ります。
この役割分担を意識するだけでも、実装時の混乱を大きく減らせます。
TPSカメラの基本実装
TPSカメラでは、マウス入力を使ってカメラを回転させ、常にプレイヤーを追従させます。
以下のスクリプトで、基本的なTPSカメラを実装できます。
|
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 28 29 |
using UnityEngine; public class TPSCamera : MonoBehaviour { [SerializeField] private Transform target; [SerializeField] private float distance = 5f; [SerializeField] private float height = 2f; [SerializeField] private float rotationSpeed = 2f; private float currentRotationX; private float currentRotationY; void LateUpdate() { // マウス入力でカメラを回転 currentRotationX += Input.GetAxis("Mouse X") * rotationSpeed; currentRotationY -= Input.GetAxis("Mouse Y") * rotationSpeed; currentRotationY = Mathf.Clamp(currentRotationY, -35f, 60f); // カメラの位置を計算 Quaternion rotation = Quaternion.Euler(currentRotationY, currentRotationX, 0); Vector3 direction = rotation * Vector3.back; Vector3 position = target.position + direction * distance + Vector3.up * height; transform.position = position; transform.LookAt(target.position + Vector3.up * height); } } |
このコードでは、マウス操作でカメラを回転させながら、常にプレイヤーを中心にした視点を保ちます。
- distance:カメラとプレイヤーの距離
- height:カメラの高さ
を調整することで、見下ろし気味・近距離など、好みの視点に変更できます。
Unityで作る3Dアクション入門|TPS操作・カメラ制御・敵AIの基本
3D当たり判定の考え方

3D当たり判定には、主に2つの方法があります。
- Colliderを使った衝突判定
- Raycastを使った距離判定
Colliderは、オブジェクト同士の衝突を検知します。
Raycastは、特定の方向に線を飛ばして、何かに当たったかを判定します。
用途に応じて使い分けます。
Colliderを使った当たり判定
敵との衝突判定などに使います。
|
1 2 3 4 5 6 7 8 |
void OnTriggerEnter(Collider other) { if (other.CompareTag("Enemy")) { // 敵との衝突処理 } } |
このコードで、敵と衝突した時に処理を実行できます。
Raycastを使った当たり判定
攻撃判定や、地面との距離測定などに使います。
|
1 2 3 4 5 6 7 8 9 10 |
void Update() { RaycastHit hit; if (Physics.Raycast(transform.position, Vector3.down, out hit, 2f)) { // 地面との距離が2f以内 Debug.Log("地面との距離: " + hit.distance); } } |
このコードで、プレイヤーの真下に何かがあるかを判定できます。
⚠️ 当たり判定の注意点
- Colliderのサイズを適切に設定する
- Raycastの距離を調整する
- レイヤーを正しく設定する
敵AIの基本実装

3Dアクションの敵AIは、NavMeshを使うと効率的に実装できます。
NavMeshは、敵が移動できる経路を自動で計算してくれます。
以下のコードで、プレイヤーを追尾する敵が作れます。
|
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 28 29 30 31 32 33 34 |
using UnityEngine; using UnityEngine.AI; public class EnemyAI3D : MonoBehaviour { [SerializeField] private Transform target; [SerializeField] private float attackRange = 2f; private NavMeshAgent agent; void Start() { agent = GetComponent<NavMeshAgent>(); } void Update() { float distance = Vector3.Distance(transform.position, target.position); if (distance < attackRange) { // 攻撃範囲内 agent.isStopped = true; // 攻撃処理 } else { // プレイヤーを追尾 agent.isStopped = false; agent.SetDestination(target.position); } } } |
このコードで、敵がプレイヤーを追尾します。
attackRangeの値を変えると、攻撃範囲が調整できます。
NavMeshを使うには、ステージにNavMeshを設定する必要があります。
Window → AI → Navigationで、NavMeshを設定できます。
敵AIの基本ロジック|追尾・攻撃・退避の3パターンを解説
実践的な3Dアクション制作を学ぶには

ここまで、3Dアクションゲームの基本要素を解説してきました。
ただし、実際のゲーム制作では、さらに多くの要素が必要になります。
アニメーション、エフェクト、UI、サウンドなど、全体を体系的に学ぶには、専門の講座が効率的です。
Unity入門の森では、3Dアクションゲームの作り方を、基礎から完成まで丁寧に解説しています。
コードの意味から、なぜその実装方法を選ぶのかまで、しっかり理解できる内容になっています。
3Dアクション制作に特化した講座なら、効率的にスキルアップできます。
ゲーム制作でスキルを上げたい方は、ぜひチェックしてみてください。
アクションゲームを作りたいなら!Unity入門の森のアクション制作講座で本格ゲーム開発に挑戦しよう
Unity入門の森には、横スクロール・3Dアクション・FPSまで幅広いアクションゲームを作れる講座が揃っています。作りたいジャンルや目標に合わせて選んでみてください。
Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!スマホ化・広告実装まで対応した本格横スクロールACTを作れる!】

- ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
- 7ステージ+ラスボスステージの市販ゲームに近い本格的なゲーム設計
- スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
- 敵AI15体・多彩なマップギミック・武器システムを完全実装
- 完全オリジナルゲームをアセット不使用で素材提供付きで制作
Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを開発できるようになる本格的な講座です。
ステージ選択・ボスの弱点システム・新武器ゲットというロックマン風のゲーム設計はもちろん、スマホ実機ビルド・AdMob広告実装(リワード・インタースティシャル)まで対応。作って終わりではなく、リリースして収益化するところまで学べます。
書籍や他のチュートリアルでは扱われていないリリースレベルの開発スキルを習得したい人に、自信を持っておすすめできる一本です。
スマホ化・広告実装まで対応した本格横スクロールACT
ロックマン風の2Dアクションゲームをリリースまで作り上げよう
→ Unity 2Dアクションゲームの作り方講座を見てみる
広告収益まで視野に入れた実践スキルを今すぐ手に入れよう!
ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

- ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
- 初心者でも取り組みやすい丁寧な解説構成
- スマホ化対応で実機で動かせるゲームが完成
- 画像・動画・全ソースコード公開の充実したサポート
- アセットを使った実践的なゲーム開発手法が身につく
ゼルダ風3Dアクションゲームの作り方講座は、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを作りたい人におすすめの入門講座です。
3Dゲーム開発の基礎からスマホ化まで全16回でしっかり習得できます。画像・動画・全ソースコードを公開した丁寧な解説で、初めて3Dゲームに挑戦する人でも確実に完成まで到達できる構成です。
「3Dゲームはなんだか難しそう」と感じている人が最初の一歩を踏み出すのに最適な講座です。
初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の第一歩を踏み出そう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
3D開発の壁を一気に突破!スマホで動くオリジナルゲームを完成させよう!
Unity FPSゲームの作り方講座【全17回!FPS・VR・スマホの3プラットフォームを同時に作れる!】

- APEX・バトルフィールド風のFPSゲームをゼロから開発
- FPS・スマホ・VRの3プラットフォームに同時対応
- 書籍では学べないVR対応弓矢FPSのオリジナリティ高い開発手法
- 地上・空中の敵AIや弓矢チャージショットなど本格システムを実装
- 初心者でも安心の丁寧な解説と完成プロジェクトファイル付き
Unity FPSゲームの作り方講座は、APEX・バトルフィールド・Call of Dutyのような一人称視点のFPSゲームを作るための講座です。
弓矢を使ったオリジナリティの高いFPSをベースに、PC・スマホ・VRの3プラットフォームに同時対応した開発手法を全17回で習得できます。VR空間で弓を構えて矢を射るという高度なアクションの実装まで、書籍では学べないスキルが身につきます。
1本の講座でFPS・スマホ・VRを同時に作れるのはこの講座ならでは。3Dゲーム開発の幅を一気に広げたい中・上級者志望の方にもおすすめです。
FPS・スマホ・VRの3プラットフォームを同時に完成させる
1本作るだけで3つのゲームが完成する圧倒的な開発体験を手に入れよう
→ Unity FPSゲームの作り方講座を見てみる
書籍では学べないVR対応FPSで、一歩先の3Dゲーム開発スキルを今すぐ!
まとめ

3Dアクションゲームの作り方を解説しました。
要点のまとめ
- CharacterControllerを使うと、操作感が良くなる
- TPSカメラは、マウス入力で回転させる
- 当たり判定は、ColliderとRaycastを使い分ける
- NavMeshを使うと、敵AIの実装が楽になる
基本を押さえれば、あとは応用していくだけです。
まずは、ここで紹介したコードを実際に動かしてみてください。
動かしながら理解を深めていくのが、上達への近道です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。





コメント