学習記事一覧 · Unity

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

このシリーズは、技術評論社刊『作って学べる Unity本格入門[Unity 6対応版]』(賀好 昭仁 著)に沿った記事として、いきのこバトルなどの題材のコードを読み解きながら学ぶ技術ブログです。
Unity教科書_Unity6対応(教科書サンプルゲーム連載)とは別シリーズです。併読は可能ですが、章番号や前提は共通ではありません。


書籍・著作について

  • 出典: 技術評論社刊『作って学べる Unity本格入門[Unity 6対応版]』(賀好 昭仁 著)。本サイトは出版社・著者の公式サイトではありません。
  • 本ブログの位置づけ: 題材プロジェクトのコードを読み解く学習補助の解説です。書籍の代替提供を目的とせず、**コード掲載は学習上必要な範囲(必要最小限)**にとどめます。
  • 著作権・サンプルの利用: 書籍に関する権利は出版社・著者に帰属します。サンプル等の利用条件は、書籍記載(P.4〜5)および出版社サポート情報に従ってください。

このシリーズについて

  • 対象読者:Unity と C# のコードを追いながら読み進められる方
  • 各記事の構成:Unity教科書シリーズと同様、目次(ジャンプリンク)→ コード → ポイント解説 → フロー → カスタマイズ → まとめ、を基本とします
  • いきのこバトル(IkinokoBattle) は第1回から第6回まで、プロジェクトの主要な読み筋を分解しています(順に読むと流れが掴みやすいです)

記事一覧(いきのこバトル)

第1回|タイトル・セーブデータ

Unity本格入門:いきのこバトルで学ぶタイトル・セーブデータ

タイトル・ゲームオーバー・ハイスコア保存に絞って読み解きます。UIボタン、PlayerPrefs と JSON、シングルトン型のセーブデータを学びます。

# 学習ポイント
① uGUI の Text でハイスコアを表示する
② Button.onClick と SceneManager.LoadScene()
③ SaveData とシングルトン Instance
④ JsonUtility と PlayerPrefs で永続化する
⑤ セーブキーを型ごとに分ける考え方(SavableSingletonBase)
⑥ static でシーン間にスコアを渡す
⑦ ハイスコア更新時に Save() する

第2回|メインシーンの時間と昼夜

Unity本格入門:いきのこバトルで学ぶメインシーンの時間と昼夜

MainSceneController と RoundLight、コルーチン・DOTween・ゲームオーバー遷移を扱います。

# 学習ポイント
① SingletonMonoBehaviourInSceneBase とシーン内シングルトン
② MinutesInGame で時間・満腹・ライトを一括更新
③ RoundLight で平行光の向きを変える
④ 昼夜判定と DOTween で Light.intensity を変える
⑤ コルーチン TimerLoop でゲーム内時間を刻む
⑥ GameOver と遅延後のシーン遷移
⑦ PassedDay と経過日数

第3回|プレイヤーと新 Input System

Unity本格入門:いきのこバトルで学ぶプレイヤーと新 Input System

PlayerController の移動・攻撃・投擲の流れ、PlayerInput・CharacterController を扱います。

# 学習ポイント
① [RequireComponent] で依存を明示する
② PlayerInput と FindAction
③ ReadValue<Vector2>() と移動
④ CharacterController と重力・ジャンプ
⑤ WasPressedThisFrame / WasReleasedThisFrame
⑥ EventSystem で UI クリックと攻撃を分ける
⑦ レイキャスト・Instantiate による投擲の概要

第4回|敵スポーンと NavMesh

Unity本格入門:いきのこバトルで学ぶ敵スポーンと NavMesh

Spawner / SpawnerManager、NavMesh 上への生成、難易度とリスト管理を扱います。

# 学習ポイント
① Spawner と SpawnerManager の分業
② SpawnLoop コルーチン
③ PassedDay とスポーン間隔・距離
④ NavMesh.SamplePosition と Instantiate
⑤ 距離で Destroy して負荷を抑える
⑥ List と LINQ で null 除去
⑦ IsSpawnable で同時存在数の上限

第5回|UI とメニュー

Unity本格入門:いきのこバトルで学ぶ UI とメニュー

Menu・ポーズ・ItemsDialog・RecipeDialog・LifeGauge を扱います。

# 学習ポイント
① Menu のシングルトンとボタン登録
② Time.timeScale でポーズと再開
③ Update でスコア表示と投げオノ数を同期
④ Legacy Cancel と ESC の処理の優先順位
⑤ ItemsDialog とスロットの量産
⑥ Toggle と OwnedItems のバインド
⑦ LifeGauge の fillAmount と座標変換
⑧ RecipeDialog の開閉

第6回|所持品データとオーディオ

Unity本格入門:いきのこバトルで学ぶ所持品データとオーディオ

OwnedItemsData の保存と AudioManager(DontDestroyOnLoad・Resources)を扱います。

# 学習ポイント
① OwnedItemsData の Instance と private コンストラクタ
② JSON と固定キーで PlayerPrefs に保存
③ Add / Use / GetItem
④ OwnedItem と [Serializable]
⑤ AudioManager と DontDestroyOnLoad
⑥ 二重インスタンスの防止
⑦ Resources.LoadAll で SE を辞書化
⑧ Play と ItemButton からの呼び出し

今後の題材

別のゲームや題材の記事を同じ Unity本格入門 カテゴリに追加する場合は、必要に応じて 別の 00-目次 をフォルダ分けすると整理しやすいです。


最終更新:2026年4月