Unityの脱初心者を目指す方に向けた「Unityで本格的なサンプルゲームを作成」するシリーズ。
このシリーズの人気のある『2Dアクションゲーム』と『2Dシューティングゲーム』を、初心者が最終的に把握しておくべき機能を網羅することを重点を置き、プログラミング教室でも利用しやすいような形にシンプルにまとめた書籍となります。
(もちろん、プログラミング教室に通ってなく、自分で初心者向けのサンプルを作り上げた方々もご利用ください。)

特に、基礎は勉強したが、まだオリジナルゲームの作成は難しいかなと感じている方々に最適な内容となっています。

プログラミング教室
Unityで本格的なサンプルゲームを作成してみよう
2Dアクション/シューティング 編

表紙_04

本記事ではこの本の目次を掲載しています。

本書は以下より入手できます。

【目次】

はじめに
 【脱初心者向けシリーズについて】
 【本書(プログラミング教室テキスト向け)について】
 【各章の作業概要】
 【各章で取り上げるUnity機能】
 【作成するゲームサンプル紹介】
 【サンプルゲームのテストプレイ】
 【キャラクター紹介】

目 次

2D アクション/シューティング 編

第1章. アクションゲーム(ダンジョンエスケープ)の作成

第1.1章. ダンジョンエスケープ作成の手順
 【今回のゲーム作成手順の概要と習得Unity機能】

第1.2章. プロジェクト単位・シーン単位の作業
 【プロジェクト単位の作業】
  ① プロジェクトの新規作成
  ② Unityへ素材の取り込み
  ③ プラットフォームの設定

 【シーン単位の作業】
  ① シーンの新規作成

第1.3章. PlayerにPhysicsの設定
 【PlayerにPhysicsを追加】
  ① シーンへPlayerを配置
  ② Playerの位置を設定
  ③ PlayerにPhysicsコンポーネントを設置
  【参考】【Rigidbodyでの回転制限(Freeze Rotation)】
  【参考】【理想のコライダーの形と大きさ】

 【床部品のPrefab作成】
  ① 床部品Block_Mainの設定
  ② 床部品Block_MainのPrefab化
  【参考】【Prefabとは】
  【参考】【Prefabの作成法】
  ③ 床部品Block_Edgeの設定
  ④ 床部品Block_EdgeのPrefab化

 【ベースとなる床の設置】
  ① シーンへ床のPrefab_Block_Mainを配置
  【参考】【Projectビュー内のオブジェクト名が長い場合】
  ② シーンへ床のPrefab_Block_Edgeを配置
  ③ Hierarchyビューで床のPrefabをフォルダにまとめる
  【参考】【空のオブジェクトとは】

 【Physics設定後のテスト】

 【第1.3章までのUnityパッケージ】
  【参考】【Unityパッケージのインポート】

第1.4章. Playerの移動機能を作成
 【Playerの移動機能の作成】
  ① スクリプトの作成とプログラミング
  【参考】【Visual Studioが起動しない場合】
  【参考】【プログラムに書き間違えがある場合】
  【参考】【初心者のよくあるミス】
  【参考】【プログラムの詳細説明:PlayerController】
  【参考】【プログラム内でのコメントアウト】
  【参考】【UpdateとFixedUpdate関数】
  ② スクリプトをオブジェクトに関連付け
  【参考】【スクリプト内のPublic変数】
  ③ ゲーム実行をしてテスト

 【カメラのPlayer追従機能の作成】
  ① スクリプトの作成とプログラミング
  【参考】【プログラムの詳細説明:CameraController】
  ② スクリプトをオブジェクトに関連付け
  ③ ゲーム実行をしてテスト

 【第1.4章までのUnityパッケージ】

第1.5章. 敵との当たり判定処理の作成
 【2種類の敵(ヘビとクモ)の作成】
  ① 敵(ヘビ)Prefabの作成
  【参考】【タグ(Tag)の使用】
  ② 敵(クモ)Prefabの作成

 【Playerの当たり判定処理の作成】
  ① スクリプトに当たり判定処理の追加
  【参考】【プログラムの詳細説明:PlayerController】

 【敵との当たり判定のテスト】
  ① テスト用の敵を配置
  ② ゲームオーバーのテスト
  ③ 敵をたおすテスト

 【第1.5章までのUnityパッケージ】

第1.6章. ゲームオーバー処理の作成
 【ゲームオーバー機能の作成】
  ① ゲームオーバーのUIを作成
  【参考】【UnityのUser Interface】
  【参考】【最新のUnityでのUIテキスト】
  【参考】【色の設定方法】
  ② 新規スクリプトの作成
  【参考】【プログラムの詳細説明:GameManager】
  ③ スクリプトをオブジェクトに関連付け

 【ステージ落下時のゲームオーバー処理】
  ① 見えないステージの底を作成
  ② ステージの底にタグを設定

 【Playerの当たり判定機能の修正】
  ① スクリプトの修正(PlayerController)
  【参考】【プログラムの詳細説明:PlayerController】
  ② ゲーム実行をしてテスト
  【参考】【Sceneビューでのゲーム実行確認】
  ③ テスト用の敵を削除

 【第1.6章までのUnityパッケージ】

第1.7章. ステージの作成
 【ステージの床の作成】
  ① ベースの床を複製
  ② 各階層の床の作成
  ③ ゲーム実行をしてテスト

 【背景の作成】
  ① シーンへ背景を配置
  ② 背景の位置を設定

 【ステージに敵の配置】
  ① 敵(ヘビ)をステージに配置
  ② 敵(クモ)をステージに配置
  ③ ゲーム実行をしてテスト

 【第1.7章までのUnityパッケージ】

第1.8章. ゴールでの当たり判定処理の作成
 【ゲームクリア処理の作成】
  ① ゲームクリアのシーンを作成
  ② ゲームクリア画面の作成
  ③ ゲームクリアのゴール作成
  ④ スクリプトにゴール通過判定処理の追加
  【参考】【プログラムの詳細説明:PlayerController】
  ⑤ シーン間の遷移処理の設定
  【参考】【シーン間遷移時の必須設定】
  ⑥ ゲーム実行をしてテスト

 【第1.8章までのUnityパッケージ】

第1.9章. キャラクターのアニメーション設定
 【Playerのアニメーション作成】
  ① 歩くアニメーションクリップを作成
  【参考】【AnimationとAnimator】
  ② ジャンプのアニメーションクリップを作成

 【アニメーションの制御機能を作成】
  ① Playerのアニメーターコントローラーを設定
  ② 床のPrefabのタグを設定
  ③ Playerのスクリプトにアニメーション制御を追加
  【参考】【プログラムの詳細説明:PlayerController】
  ④ ゲーム実行をしてテスト

 【第1.9章までのUnityパッケージ】

第1.10章. [参考] ゲームをもっと面白くしよう
 【リスタートボタンの作成】
  ① GameManagerスクリプトにリスタート機能を追加
  【参考】【プログラムの詳細説明:GameManager】
  ② GameシーンにボタンUIを設定
  ③ ゲーム実行をしてテスト
  ④ ClearシーンにClearManagerスクリプトを新規作成
  【参考】【プログラムの詳細説明:ClearManager】
  ⑤ ClearシーンにボタンUIを設定
  ⑥ ゲーム実行をしてテスト

 【タイマー機能とベストタイム保存機能】
  ① GameシーンにタイマーUIを配置
  ② GameManagerスクリプトにタイマー機能を追加
  【参考】【プログラムの詳細説明:GameManager】
  ③ ゲーム実行をしてテスト
  ④ Clearシーンに結果・ベストタイム表示UIを配置
  ⑤ ClearManagerスクリプトに結果タイム表示機能を追加
  【参考】【プログラムの詳細説明:ClearManager】
  ⑥ ゲーム実行をしてテスト

 【ベストタイムのクリア機能を追加】
  ① ClearManagerスクリプトにベストタイムクリア機能を追加
  【参考】【プログラムの詳細説明:ClearManager】
  ② ベストタイムクリア機能呼び出しUIを作成
  ③ ゲーム実行をしてテスト

 【第1.10章までのUnityパッケージ】

第1.11章. [参考] スマートフォンへの対応
 【Playerのジャンプのスマホ対応】

 【Playerの左右移動のスマホ対応】
  【参考】【プログラムの詳細説明:PlayerController】

 【第1.11章までのUnityパッケージ】

第1.12章. 全スクリプトの解説と練習問題
 【全スクリプトの機能一覧】

 【プログラムの詳細説明】
  ① PlayerController
  ② GameManager
  ③ CameraController
  ④ ClearManager

 【練習問題】
 【回答】


第2章. シューティングゲーム(スペースファイター)の作成

第2.1章. スペースファイター作成の手順
 【今回のゲーム作成手順の概要と習得Unity機能】

第2.2章. プロジェクト単位・シーン単位の作業
 【プロジェクト単位の作業】
  ① プロジェクトの新規作成
  ② Unityへ素材の取り込み
  ③ プラットフォームの設定

 【シーン単位の作業】
  ① シーンの新規作成

第2.3章. Fighterの移動機能を作成
 【Fighterをシーンへ配置】
  ① シーンへ背景を配置
  ② シーンへFighterを配置

 【Fighterの移動機能の作成】
  ① スクリプトの作成とプログラミング
  【参考】【プログラムの詳細説明:FighterController】
  ② スクリプトをオブジェクトに関連付け
  ③ ゲーム実行をしてテスト
  【参考】【ゲームオブジェクトの移動方法】

 【第2.3章までのUnityパッケージ】

第2.4章. 敵の移動機能を作成
 【敵Greenの移動機能を作成】
  ① シーンへ敵を配置
  ② スクリプトの作成とプログラミング
  【参考】【プログラムの詳細説明:EnemyController】
  ③ スクリプトをオブジェクトに関連付け
  ④ ゲーム実行をしてテスト
  ⑤ 敵GreenのPrefab化

 【敵Yellowの移動機能を作成】
  ① シーンへ敵を配置
  ② スクリプトの修正
  【参考】【プログラムの詳細説明:EnemyController】
  ③ スクリプトをオブジェクトに関連付け
  ④ ゲーム実行をしてテスト
  ⑤ 敵YellowのPrefab化

 【第2.4章までのUnityパッケージ】

第2.5章. Fighterのビーム砲を作成
 【Fighterのビーム砲の移動機能を作成】
  ① シーンへビーム砲を配置
  ② スクリプトの作成とプログラミング
  【参考】【プログラムの詳細説明:BeamController】
  ③ スクリプトをオブジェクトに関連付け
  ④ ゲーム実行をしてテスト
  ⑤ ビーム砲のPrefab化

 【Fighterのビーム砲発射機能を作成】
  ① スクリプトの修正 (FighterController)
  【参考】【プログラムの詳細説明:FighterController】
  ② ゲーム実行をしてテスト
  【参考】【シーン上にゲームオブジェクトを自動連続生成】
  【参考】【シーン上にPrefabを生成する方法】
  ③ スクリプトの修正 (BeamController)
  【参考】【プログラムの詳細説明:BeamController】
  ④ ゲーム実行をしてテスト

 【第2.5章までのUnityパッケージ】

第2.6章. ビーム砲と敵の当たり判定処理
 【ビーム砲と敵へのPhysics適用】
  ① ビーム砲へのPhysicsの適用
  【参考】【Colliderのトリガー機能】
  【参考】【ゲームでの当たり判定方法】
  ② ビーム砲へタグを設定
  ③ 敵GreenへのPhysicsの適用
  【参考】【RigidbodyのBody Typeについて】
  ④ 敵Greenへタグを設定
  ⑤ 敵YellowへのPhysicsの適用

 【ビーム砲と敵のスクリプトを修正】
  ① ビーム砲のスクリプトの修正
  【参考】【プログラムの詳細説明:BeamController】
  ② 敵のスクリプトの修正
  【参考】【プログラムの詳細説明:EnemyController】
  ③ ゲーム実行をしてテスト

 【第2.6章までのUnityパッケージ】

第2.7章. 敵の自動発生機能とゲームクリア
 【敵の自動発生機能の作成】
  ① 敵の自動発生用スクリプトの作成
  【参考】【プログラムの詳細説明:EnemyManager】
  ② 敵を自動発生させる設定
  ③ ゲーム実行をしてテスト

 【スコア管理機能の作成】
  ① スコア管理用UIの作成
  ② スコア管理スクリプトの作成
  【参考】【プログラムの詳細説明:ScoreManager】
  ③ スクリプトをオブジェクトに関連付け
  ④ スコア管理と敵スクリプトとの連携
  【参考】【プログラムの詳細説明:EnemyContoroller】
  ⑤ ゲーム実行をしてテスト

 【ゲームクリア機能の作成】
  ① ゲームクリア用UI作成
  ② ゲームクリア用スクリプトの作成
  【参考】【プログラムの詳細説明:ScoreManager】
  ③ スコア管理と敵管理スクリプトとの連携
  【参考】【プログラムの詳細説明:EnemyManager】
  ④ ゲーム実行をしてテスト

 【第2.7章までのUnityパッケージ】

第2.8章. 敵のビーム砲機能とゲームオーバー
 【敵のビーム砲機能の作成】
  ① 敵のビーム砲の作成
  ② 敵ビーム砲のスクリプトの作成
  【参考】【プログラムの詳細説明:BeamController】
  ③ 敵のビーム砲発射用スクリプトの作成
  【参考】【プログラムの詳細説明:EnemyContoroller】
  ④ ゲーム実行をしてテスト

 【当たり判定とゲームオーバー機能の作成】
  ① ゲームオーバー用UIの作成
  ② FighterへのPhysicsの適用
  ③ ゲームオーバー用スクリプトの作成
  【参考】【プログラムの詳細説明:ScoreManager】
  ④ 敵ビーム砲との当たり判定作成
  【参考】【プログラムの詳細説明:FighterController】
  ⑤ ゲーム実行をしてテスト

 【第2.8章までのUnityパッケージ】

第2.9章. ゲームをもっと面白くしよう
 【背景の作成】
  ① 背景をシーン上に設定
  ② 背景移動用スクリプトの作成
  【参考】【プログラムの詳細説明:BackImageController】
  ③ ゲーム実行をしてテスト

 【サウンドの作成】
  ① サウンドファイルの用意
  ② サウンド用の設定
  【参考】【サウンド設定用コンポーネント】
  ③ サウンド用スクリプトの作成(Fighter)
  【参考】【プログラムの詳細説明:FighterController】
  ④ サウンド用スクリプトの作成(Enemy)
  【参考】【プログラムの詳細説明:EnemyContoroller】
  ⑤ ゲームを実行してテスト

 【ビーム砲と敵の自動消滅機能の作成】
  ① 自動消滅機能の設定
  ② 自動消滅用スクリプトの作成
  【参考】【プログラムの詳細説明:EnemyContoroller】
  ③ ゲームを実行してテスト

 【第2.9章までのUnityパッケージ】

第2.10章. 全スクリプトの解説と練習問題
 【全スクリプトの機能一覧】

 【プログラムの詳細説明】
  ① FighterController
  ② ScoreManager
  ③ EnemyManager
  ④ EnemyController
  ⑤ BeamController
  ⑥ BackImageController

 【練習問題】
 【回答】

おわりに

著者紹介



Sponsored Link