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とC#の基礎中の基礎を学びます。
| # | 学習ポイント |
|---|---|
| ① | using ってなに?(名前空間) |
| ② | クラスと MonoBehaviour |
| ③ | 変数でスピードを管理する |
| ④ | Start() と Update() の違い |
| ⑤ | 入力の受け取り方 |
| ⑥ | ルーレットを回す(transform.Rotate()) |
Chapter 4|SwipeCarゲーム入門
マウスをスワイプして車を動かすゲームで、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月