学習記事一覧 · Unity

Unity入門ブログシリーズ:目次

このシリーズは、SBクリエイティブ刊『Unityの教科書 Unity 6完全対応版』に収録の付属サンプルゲームを題材に、実際のコードを読み解きながらUnityとC#の基礎を学ぶ技術ブログです。 各記事は独立して読めますが、順番に読むと知識がスムーズに積み上がります。


書籍・著作について

  • 題材の出典: ゲームおよびコードの元になっているのは、上記書籍に付属するサンプルです(章・題材の対応は各記事で触れます)。本サイトは出版社・著者の公式サイトではありません。
  • 本ブログの位置づけ: 学習の補助として、コードの読み方・考え方を説明するものです。書籍の代替提供を目的とせず、**コード掲載は学習上必要な範囲(必要最小限)**にとどめます。
  • 著作権・サンプルの利用: 書籍・付属サンプル・素材に関する権利は出版社・著者等に帰属します。サンプルの利用条件は、書籍付属の利用案内・Readme・出版社サポートページに従ってください。

このシリーズについて

「コードを写すだけ」で終わらないために、各記事ではなぜそのコードが必要なのかを丁寧に解説しています。ゲームを動かしながら、プログラミングの考え方を身につけましょう。

  • 対象読者:Unity学び始めの方・C#をこれから覚えたい方
  • 使用環境:Unity 6・新Input System対応
  • 各記事の構成:記事の目次(セクションへのジャンプリンク)→ コード全体 → ポイント解説 → 処理フロー図 → カスタマイズ課題 → まとめ

関連シリーズ:100日Unityチャレンジ

長期の学習計画(Day 1〜100)と、生成AIメンター用プロンプトは 100日Unityチャレンジ にまとめています。


記事一覧

Chapter 3|Rouletteゲーム入門

Unity入門:ルーレットゲームを作りながら学ぼう!

マウスをクリックするとルーレットが回転するゲームで、UnityとC#の基礎中の基礎を学びます。

# 学習ポイント
① using ってなに?(名前空間)
② クラスと MonoBehaviour
③ 変数でスピードを管理する
④ Start() と Update() の違い
⑤ 入力の受け取り方
⑥ ルーレットを回す(transform.Rotate())

Chapter 4|SwipeCarゲーム入門

Unity入門:スワイプカーゲームを作りながら学ぼう!

マウスをスワイプして車を動かすゲームで、2スクリプトの役割分担とリアルタイムUI更新を学びます。

# 学習ポイント
① 2種類のマウス入力を使い分ける
② Vector2 で座標を記憶する
③ スワイプの長さを速度に変換する
④ transform.Translate() で移動する
⑤ GameObject.Find() でオブジェクトを取得する
⑥ リアルタイムで距離を表示する(TextMeshProUGUI)

補足(付属サンプル更新版)
補足:SwipeCar 付属サンプル更新版(コード対応) — 『Unityの教科書』付属 Chapter 4 を更新したプロジェクト向け。本編コードとの差分・result 表示・ポイント計算の全文ソースを掲載します。


Chapter 5|CatEscapeゲーム入門

Unity入門:矢をよけろ!CatEscapeゲームを作りながら学ぼう!

上から降る矢をよけるゲームで、プレハブの量産・衝突判定・HPゲージという実践的な要素を学びます。

# 学習ポイント
① キーボード入力で瞬時に移動する
② Time.deltaTime でフレームレートによらない時間管理をする
③ プレハブから Instantiate() でオブジェクトを量産する
④ Destroy() でオブジェクトを削除してメモリを節約する
⑤ 円と円の距離で当たり判定をする
⑥ スクリプト間でメソッドを呼び出して連携する
⑦ Image.fillAmount でHPゲージを表現する

Chapter 6|ClimbCloudゲーム入門

Unity入門:雲を踏んで頂上を目指せ!ClimbCloudゲームを作りながら学ぼう!

雲の足場を踏みながら頂上を目指すゲームで、物理演算・スプライトアニメーション・シーン管理を学びます。

# 学習ポイント
① Rigidbody2D で物理演算を使う
② AddForce() で力を加えて動かす
③ linearVelocityY == 0 で二段ジャンプを防ぐ
④ 最大速度を上限として自動歩行する
⑤ スプライト配列と 1 - idx でアニメーションする
⑥ SceneManager.LoadScene() でシーンを切り替える
⑦ OnTriggerEnter2D() でゴール判定をする
⑧ public フィールドでInspectorから設定する

Chapter 7|Igaguriゲーム入門

Unity入門:3Dで的を狙え!Igaguriゲームを作りながら学ぼう!

クリックした方向にいがぐりを飛ばすゲームで、2Dから3Dへのステップアップと、レイキャスト・パーティクルを学びます。

# 学習ポイント
① 2Dと3Dの物理コンポーネントの違い(Rigidbody vs Rigidbody2D)
② Camera.main.ScreenPointToRay() で画面クリックを3D方向に変換する
③ 公開メソッドでいがぐりを「外から操作する」
④ OnCollisionEnter() で3D衝突を検知する
⑤ isKinematic = true で物理演算を動的に止める
⑥ ParticleSystem.Play() でエフェクトを再生する

補足(発展④・距離ボーナス)
補足:Igaguri 距離ボーナス(radius を Bounds.extents から) — 本編では radius を手で決める形が基本。このページでは Collider.bounds.extents から radius を推定する応用と、AABB・厚みまわりの注意をまとめます。


Chapter 8|AppleCatchゲーム入門

Unity入門:リンゴをキャッチしてスコアを稼げ!AppleCatchゲームを作りながら学ぼう!

落ちてくるリンゴをキャッチする3Dゲームで、タグ判定・サウンド・タイマー・動的難易度設計を学びます。

# 学習ポイント
① Physics.Raycast() で3D空間のクリック位置を取得する
② Mathf.RoundToInt() でグリッドにスナップする
③ tag でオブジェクトの種類を判別する
④ AudioSource.PlayOneShot() で効果音を再生する
⑤ タイマーで難易度を段階的に変化させる
⑥ SetParameter() で外部からパラメータを一括変更する
⑦ 確率でボムとリンゴを出し分ける
⑧ 生成時にコンポーネントのパラメータを注入する

学習ロードマップ

【基礎】                【応用】                 【3D入門】
Chapter 3              Chapter 5               Chapter 7
Roulette               CatEscape               Igaguri
  ↓                      ↓                       ↓
using / クラス         Instantiate / Destroy   ScreenPointToRay
Start / Update         当たり判定              Rigidbody(3D)
transform.Rotate()     HPゲージ               ParticleSystem
Chapter 4              Chapter 6               Chapter 8
SwipeCar               ClimbCloud              AppleCatch
  ↓                      ↓                       ↓
Vector2                Rigidbody2D             Physics.Raycast
GameObject.Find()      AddForce()              タグ判定
TextMeshProUGUI        SceneManager            難易度設計

シリーズを通じて学べること

このシリーズを読み終えると、以下の技術が身についています。

入力:マウスクリック・スワイプ・キーボード・3Dレイキャストによるクリック検出

移動と物理:Translate による直接移動、Rigidbody / Rigidbody2D を使った物理ベースの動き、AddForce による力の制御

オブジェクト管理:Instantiate でプレハブから量産、Destroy で削除、GameObject.Find / GetComponent でスクリプト間連携

衝突判定:手動の距離計算、OnCollisionEnter / OnTriggerEnter(2D・3D両対応)、tag による種別判定

UI:TextMeshProUGUI でテキスト表示、Image.fillAmount でゲージ表示、AudioSource で効果音再生

ゲーム設計:タイマー・スコア・難易度の動的変化、SceneManager によるシーン切り替え、スプライトアニメーション


関連(別書籍・別シリーズ)

Unity本格入門:技術評論社刊『作って学べる Unity本格入門[Unity 6対応版]』に沿った別シリーズです。本シリーズ(SBクリエイティブ刊『Unityの教科書 Unity 6完全対応版』付属サンプル)とは題材が異なります。


最終更新:2026年4月