1. はじめに
こんにちは!Unityの使い方シリーズ第7回へようこそ!
ゲーム作りの中で「条件によって動きを変える」仕組みはとても大事です。例えば、プレイヤーがボタンを押したらジャンプする、敵が近づいたら警戒する、アイテムを拾ったら得点が増える――こんな動きが作れると、ゲームがぐっと面白くなりますよね。
この記事では、Unityで「if文」を使って条件に応じた動きを作る方法を詳しく解説します。「if文って何?」「どうやって使うの?」という初心者の方でも分かりやすいように、手順を1つ1つ丁寧に説明していきます。
Unity初心者でもすぐに試せるサンプルコードも用意しているので、読みながらぜひ実際に作業してみてください!ゲーム作りの第一歩を一緒に始めましょう!
2. if文とは?
if文は、プログラムの中で「条件に応じて処理を変える」ための仕組みです。ゲームを作る中では、特定の条件に応じてキャラクターやオブジェクトを動かすために、if文を使うことがとても多いんです。
if文の基本構文
if文の基本的な書き方は以下の通りです。
if (条件)
{
// 条件が成立したときに実行する処理
}
この構文を使うと、「もし条件が成立したら、この処理を実行する」という指示ができます。
簡単な例
例えば、以下のようなコードを考えてみましょう。
if (score >= 100)
{
Debug.Log("ゲームクリア!");
}
この例では、score
(スコア)が100以上になったら「ゲームクリア!」と表示する処理を実行します。条件が満たされない場合は何もしません。
ゲームでの活用例
if文は、ゲームのさまざまな場面で活躍します。例えば:
- プレイヤーの体力が0以下になったらゲームオーバー
if (playerHealth <= 0) { Debug.Log("ゲームオーバー"); }
- 敵がプレイヤーに近づいたら攻撃する
if (enemyDistance < 5.0f) { Debug.Log("攻撃開始"); }
- アイテムを拾ったら得点が加算される
if (itemCollected) { score += 10; }

など、プレイヤーの行動やゲームの進行に応じた多彩な挙動を作れます!
次のセクションでは、Unityでif文を実際に使う準備を進めていきましょう!
3. Unityでif文を使う準備
ここからは、Unityでif文を使うための準備をしていきます。ゲーム作りでの基本的な操作も含めて説明するので、初心者の方でも安心して進められますよ!まず、Unity Hubを使ってプロジェクトを開きます。
1. C#スクリプトを作成する
Unityでif文を使うには、スクリプト(プログラム)を記述する必要があります。
- プロジェクトウィンドウを右クリックします。
- 「Create」→「C# Script」を選び、新しいスクリプトを作成します。
- スクリプトの名前を「IfExample」と入力します。
2. スクリプトをオブジェクトにアタッチする
- ヒエラルキーウィンドウを右クリックし、「Create Empty」を選び、名前を「GameController」に変更します。
- 作成した空のオブジェクト「GameController」をヒエラルキーウィンドウで選択します。
- 作成した「IfExample」スクリプトをプロジェクトウィンドウからドラッグ&ドロップして「GameController」にアタッチします。
- インスペクターを確認し、「IfExample」スクリプトがアタッチされていることを確認してください。

これでUnity内でif文を使うための準備が整いました!次は、具体的にif文を使ってどのような動きを作るかを見ていきましょう。簡単な例を一緒に作っていきます!
4. if文を使った簡単な例
ここでは、Unityでif文を使った簡単なプログラムを作ってみます。今回の例では、**「プレイヤーがスペースキーを押したらジャンプする」**という動きをConsole(デバッグログ)で確認できるようにします。
1. スクリプトを編集する
- プロジェクトで作成した「IfExample」スクリプトをダブルクリックして開きます。
- 以下のコードをコピー&ペーストしてください。
using UnityEngine;
public class IfExample : MonoBehaviour
{
void Update()
{
// スペースキーが押されたら
if (Input.GetKeyDown(KeyCode.Space))
{
Debug.Log("ジャンプ!");
}
}
}
コードの解説
void Update()
- 毎フレーム呼び出される関数です。キー入力など、継続的にチェックしたい処理をここに書きます。
Input.GetKeyDown(KeyCode.Space)
- キーボードのスペースキーが押された瞬間を検出します。
- 条件を満たした場合、
Debug.Log("ジャンプ!");
が実行されます。
2. スクリプトをアタッチする
- Unityのヒエラルキーウィンドウで、「GameController」オブジェクトを選択します。
- プロジェクトウィンドウから「IfExample」スクリプトをドラッグ&ドロップして、「GameController」にアタッチします。
3. 動作確認
- Unityエディター上で「再生(Play)」ボタンを押します。
- キーボードのスペースキーを押してみてください。
- Consoleウィンドウに「ジャンプ!」というメッセージが表示されれば成功です!
5. まとめ
この記事では、Unityで「if文」を使って条件に応じた動きを作る方法を学びました。if文はゲームプログラミングの基礎であり、「条件によって動きを変える」仕組みを作るときに欠かせないテクニックです。

Unityでif文を使いこなせるようになると、ゲームに独自のロジックを組み込むことができるようになります。アイディア次第で、プレイヤーの行動に応じた面白い動きをどんどん追加できますよ!今回の内容をもとに、ぜひあなたのゲームでも試してみてくださいね。
Unity初心者でも簡単!アセットを活用してゲーム開発を加速しよう!
Unity Asset Storeには、初心者でもすぐに使える便利なアセットがたくさんあります。
でも「どれを使えばいいの?」「どう活用すればいいの?」と迷っていませんか?
この記事では、初心者向けのおすすめアセットとその活用法を詳しく解説!
ゲーム開発をもっと楽しく、効率的に進めたいなら必見です!
6. よくある質問(Q&A)
- Qif文が動かないのですが、何が問題ですか?
- A
条件が正しく設定されていない可能性があります。次の点を確認してください。
- 条件内の変数や関数が正しく初期化されているか。
- スペルミスや大文字小文字の間違いがないか。
- スクリプトが正しいオブジェクトにアタッチされているか。
- UnityのConsoleウィンドウにエラーメッセージが表示されていれば、その内容を確認してください。
- Qif文の条件が複雑になると、どうすればわかりやすく書けますか?
- A
複数の条件を扱う場合、以下の方法を試してみてください。
&&や||を使う:複数の条件を1つのif文で記述できます。 if (health > 0 && isGrounded) { Debug.Log("ジャンプできる!"); }
変数で条件を整理する:複雑な条件は変数で分けて記述すると分かりやすくなります。 bool canJump = (health > 0 && isGrounded); if (canJump) { Debug.Log("ジャンプできる!"); }
- QUnityでの入力処理(Input.GetKeyなど)がうまく動作しません。どうしたらいいですか?
- A
主に以下の点を確認してください。
- ゲームウィンドウが選択されているか:Unityエディターの「Game」タブがアクティブになっていることを確認してください。シーンビューが選ばれていると入力を受け付けません。
- 条件が正しいか:例えば、
Input.GetKeyDown(KeyCode.Space)
は「キーが押された瞬間」だけ反応します。キーを押し続ける場合はInput.GetKey(KeyCode.Space)
を使用してください。