Unityで3Dキャラを動かす方法|CharacterControllerとRigidbodyの違いを理解する

アクションゲームの作り方

Unityで3Dキャラクターを動かしたい。でも、CharacterControllerとRigidbody、どちらを使えばいいか分からない。

多くの学生が最初に悩むのが、この2つの違いです。

実は、用途に応じて使い分けることで、効率的に実装できます。

この記事では、3Dキャラクターの動かし方について、CharacterControllerとRigidbodyの違いを解説します。

この記事でわかること

  • CharacterControllerとRigidbodyの違い
  • それぞれの使い分け方
  • TPS/FPSの違い
  • 実装例と調整のコツ
ゲーム開発講師
ゲーム開発講師

3Dキャラクターの移動は、ゲームの操作感に大きく影響します。まずは、CharacterControllerとRigidbodyの違いを理解しましょう。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
ゲームを「遊ぶ側」から「作る側」へ

あなたのオリジナルゲーム、今年こそ完成させませんか?

RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。

Unity入門の森|永久会員チケット

永久会員チケット|Unity入門の森

全講座ラインナップを見てみる

実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。

CharacterControllerとRigidbodyの違い

CharacterControllerとRigidbodyの違い 図解

3Dキャラクターを動かす方法には、主に2つあります。

  • CharacterController:物理演算を使わず、直接移動を制御
  • Rigidbody:物理演算を使い、物理的な挙動を再現

それぞれ、特徴が異なります。

CharacterControllerの特徴

操作感が良く、アクションゲーム向きです。
例えば、壁にぶつかる、段差を乗り越える、といった処理をUnityが自動で行ってくれるため、初心者でも「思った通りに動くキャラ」を簡単に作れます。
ただし、物理挙動は弱く、慣性や押される挙動は再現できません。

Rigidbodyの特徴
物理演算を使うので、慣性や摩擦、衝突のリアルな挙動を再現できます。
例えば、坂道で加速したり、他のオブジェクトに押されると吹き飛ぶ、といった自然な動きが可能です。
しかし、キー入力どおりに動かすのは難しく、段差で引っかかったり、操作が思い通りにならない場合があります

まとめると、CharacterControllerは「操作感重視で簡単に動かしたいプレイヤーキャラクター向け」、Rigidbodyは「リアルな挙動を再現したいオブジェクトや敵向け」と言えます。

CharacterControllerを使った移動

Unity CharacterController 移動実装

CharacterControllerは、物理演算を使わずに移動を制御します。

操作感が良く、アクションゲームに適しています。

以下のコードで、基本的な移動ができます。

このコードで、WASDキーで移動、スペースキーでジャンプができます。

CharacterControllerは、自動的に地面との衝突を処理します。

isGroundedで接地判定も簡単に取得できます。

ゲーム開発講師
ゲーム開発講師

CharacterControllerは、物理演算を使わないので、操作感が良くなります。3Dアクションゲームでは、こちらがおすすめです。

Rigidbodyを使った移動

Unity Rigidbody 移動実装

Rigidbodyは、物理演算を使い、物理的な挙動を再現します。

リアルな動きができますが、操作感はCharacterControllerほど良くありません。

以下のコードで、基本的な移動ができます。

このコードで、Rigidbodyを使った移動ができます。

Rigidbodyは、物理演算を使うので、慣性や摩擦の影響を受けます。

リアルな動きができますが、操作感はCharacterControllerほど良くありません。

使い分けのポイント

CharacterControllerとRigidbody 使い分け

CharacterControllerとRigidbodyは、用途に応じて使い分けます。

ただし、状況に応じて使い分けることが大切です。以下のような場面を参考にしてください。

  • プレイヤーキャラクターで操作感を重視したい場合:ジャンプや移動を正確に制御したいアクションゲーム。CharacterControllerを使うと、壁や段差の接触を自動で処理してくれるので操作が安定します。
  • 敵キャラクターやオブジェクトにリアルな物理挙動を入れたい場合:衝突で吹き飛ぶ、慣性で滑る演出を加えたいとき。Rigidbodyを使うと、物理演算で自然な動きが表現できます。
  • 混合の場面:プレイヤーキャラクターはCharacterControllerで正確な操作感を維持し、敵や落下するオブジェクトはRigidbodyで物理挙動を入れると、ゲーム全体の動作が自然になります。
  • 特殊な挙動が必要な場合:キャラクターが乗り物に乗る、スプリングで弾む演出など。Rigidbodyを一時的に併用することで、特殊な力学挙動を表現できます。
CharacterControllerを使う場面 Rigidbodyを使う場面
アクションゲーム 物理シミュレーション
操作感を重視する場合 リアルな動きが必要な場合
プレイヤーキャラクター 敵やオブジェクト

基本的には、プレイヤーキャラクターにはCharacterController、敵やオブジェクトにはRigidbodyを使います。

状況に応じて柔軟に使い分けることが大切です。

TPSとFPSの違い

TPSとFPSの違い 図解

3Dゲームには、2つの視点があります。

  • TPS(Third Person Shooter):プレイヤーの後ろから見る視点
  • FPS(First Person Shooter):プレイヤーの視点で見る視点

TPSは、プレイヤーキャラクターが見えるので、操作しやすいです。

FPSは、プレイヤーの視点なので、没入感があります。

アクションゲームでは、TPSが一般的です。

FPSは、シューティングゲームなどで使われます。

カメラの設定

Unity カメラ設定 TPS

TPSカメラは、プレイヤーの後ろから見る視点です。

以下のコードで、基本的なTPSカメラができます。

このコードで、マウスでカメラを回転させ、プレイヤーの後ろから見る視点ができます。

distanceの値を変えると、カメラとプレイヤーの距離が調整できます。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

実践的な3Dキャラクター操作を学ぶには

Unity 3Dキャラクター操作 講座

ここまで、3Dキャラクターの動かし方について解説してきました。

ただし、実際のゲーム制作では、さらに多くの要素が必要になります。

アニメーション、エフェクト、UI、サウンドなど、全体を体系的に学ぶには、専門の講座が効率的です。

Unity入門の森では、3Dアクションゲームの作り方を、基礎から完成まで丁寧に解説しています。

コードの意味から、なぜその実装方法を選ぶのかまで、しっかり理解できる内容になっています。

Q: 初心者でも本当に作れるの?
A: はい。Unity入門の森の講座では、プログラミング経験がなくても、手順通りに進めれば完成までたどり着けます。分からない部分は、動画と図解で詳しく説明しています。

3Dアクション制作に特化した講座なら、効率的にスキルアップできます。

ゲーム制作でスキルを上げたい方は、ぜひチェックしてみてください。

ゲームを「遊ぶ側」から「作る側」へ

あなたのオリジナルゲーム、今年こそ完成させませんか?

RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。

Unity入門の森|永久会員チケット

永久会員チケット|Unity入門の森

全講座ラインナップを見てみる

実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。

まとめ

3Dキャラクター操作 まとめ

Unityで3Dキャラクターを動かす方法について解説しました。

要点のまとめ

  • CharacterControllerは、操作感が良く、アクションゲームに適している
  • Rigidbodyは、物理演算を使い、リアルな動きができる
  • プレイヤーキャラクターにはCharacterController、敵やオブジェクトにはRigidbodyを使う
  • TPSは、プレイヤーの後ろから見る視点で、操作しやすい

基本を押さえれば、あとは応用していくだけです。

まずは、ここで紹介したコードを実際に動かしてみてください。

動かしながら理解を深めていくのが、上達への近道です。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

コメント

タイトルとURLをコピーしました