TECH PLAY

作って学べる Unity 本格入門 [Unity 2021対応版]

2,970円 (税込)

楽天

作って学べる Unity 本格入門 [Unity 2021対応版]

書籍情報

発売日:

著者/編集:賀好昭仁

出版社:技術評論社

発行形態:単行本

書籍説明

内容紹介

3Dゲームの制作を通して、Unityの基本的な使い方からエフェクト、チューニングまで、開発ノウハウのすべてが学べます!手を動かして、ゲーム開発のコツを理解する、Unity入門書の決定版。

目次

●Chapter 1 ゲーム開発をはじめよう ○1-1 ゲームについて理解しよう 1-1-1 ゲームは数千年前から存在していた 1-1-2 デジタルゲームの登場 ○1-2 Unityについて理解しよう 1-2-1 Unityとは 1-2-2 Unityにはどんな機能がある? 1-2-3 Unityは高くて手に入れられない? 1-2-4 Unityの弱点 ●Chapter 2 Unityの開発環境を構築しよう ○2-1 macOSにUnityをインストールしよう 2-1-1 Unity Hubのインストール 2-1-2 Unityのプラン 2-1-3 Unityのインストール ○2-2 WindowsにUnityをインストールしよう 2-2-1 Unity Hubをインストールする 2-2-2 Unityをインストールする ○2-3 Unityを動かしてみよう 2-3-1 プロジェクトを作成する 2-3-2 シーン、ゲームオブジェクト、コンポーネント、Asset 2-3-3 基本的なビューとウインドウ 2-3-4 Sceneビューでの操作方法 2-3-5 ゲームオブジェクトを配置する 2-3-6 カメラを確認する 2-3-7 ゲームを実行する 2-3-8 物理エンジンで遊んでみる ●Chapter 3 C#の基本文法を学ぼう ○3-1 Unityでスクリプトを使おう 3-1-1 スクリプトを作成する 3-1-2 スクリプトをアタッチする 3-1-3 ログを活用する ○3-2 データの扱い方について学ぼう 3-2-1 変数 3-2-2 定数 3-2-3 ベクトル型 ○3-3 関数とクラスについて学ぼう 3-3-1 メソッド(関数) 3-3-2 クラスとインスタンス ○3-4 フィールドとプロパティについて学ぼう 3-4-1 フィールドとプロパティ 3-4-2 アクセス修飾子 3-4-3 クラスを隠蔽する ○3-5 演算子について学ぼう 3-5-1 算術演算子 3-5-2 比較演算子 3-5-3 論理演算子 3-5-4 代入演算子 3-5-5 条件演算子 ○3-6 制御構造について学ぼう 3-6-1 制御構造 3-6-2 if else 3-6-3 for 3-6-4 foreach 3-6-5 while 3-6-6 switch ○3-7 クラスの継承について学ぼう 3-7-1 クラスの継承 3-7-2 抽象メソッドとオーバーライド ○3-8 Unityのライフサイクルについて学ぼう 3-8-1 Unityのライフサイクル 3-8-2 void Awake() 3-8-3 void Start() 3-8-4 void Update() 3-8-5 void FixedUpdate() 3-8-6 void OnDestroy() 3-8-7 void OnEnabled() 3-8-8 void OnBecameInvisible() ○3-9 コルーチンについて学ぼう 3-9-1 コルーチン ●Chapter 4 ゲーム企画の基本を学ぼう ○4-1 ゲーム開発の罠を知っておこう 4-1-1 ゲーム開発における罠とは 4-1-2 罠にはまるとどうなるか 4-1-3 お蔵入りさせず、どんどん世に出していく 4-1-4 どうやってお蔵入りを回避する? ○4-2 ゲームの方向性を決めよう 4-2-1 ゲームの概要を思い浮かべてメモする 4-2-2 ゲームを制作する理由を考える ○4-3 ゲームのルールを考えよう 4-3-1 スポーツにもゲームにもルールが必要 4-3-2 直感的なルールを作る 4-3-3 サンプルゲームの場合 ○4-4 ゲームの公開方法を決めよう 4-4-1 プラットフォームへの影響 4-4-2 Unityの対応プラットフォーム ○4-5 企画書を作ろう 4-5-1 ゲームの企画書 4-5-2 企画書作りのポイント ○4-6 ゲームの開発手順を確認しよう 4-6-1 ゲームのコア要素を考えてみる 4-6-2 プロトタイピング 4-6-3 完璧を求めないようにする ●Chapter 5 ゲームの舞台を作ってみよう ○5-1 プロジェクトを作成しよう 5-1-1 プロジェクトの作成 5-1-2 Asset Storeとは 5-1-3 Terrainで使用するAssetのインポート ○5-2 地形を追加しよう 5-2-1 Terrainの作成 5-2-2 Terrainの初期設定 5-2-3 地面に起伏を付ける 5-2-4 地面の高さを合わせる 5-2-5 地面の高さを平均化する 5-2-6 地面をペイントする ○5-3 木や草を配置しよう 5-3-1 木を植える 5-3-2 草を生やす 5-3-3 Terrainの平面サイズと配置 ○5-4 水や風の演出を追加しよう 5-4-1 水を配置する 5-4-2 風を吹かせる 5-4-3 Terrainの弱点 ○5-5 空を追加しよう 5-5-1 Skyboxとは 5-5-2 Skybox用Assetのインポート 5-5-3 SkyBoxの基本設定 5-5-4 Skyboxで昼夜を表現する 5-5-5 Lightで昼夜を表現する ●Chapter 6 キャラクターを作ってみよう ○6-1 キャラクターをインポートしよう 6-1-1 サンプルプロジェクトの準備とAssetのインポート 6-1-2 3Dモデルのインポート 6-1-3 Prefabを配置する 6-1-4 Shaderを変更して影を付ける ○6-2 キャラクターを操作できるようにしよう 6-2-1 入力の取得方法 6-2-2 ゲームオブジェクトの動かし方 ○6-3 カメラがキャラクターを追いかけるようにしよう 6-3-1 Cinemachineのインポート 6-3-2 キャラクターを追尾するカメラを配置する ○6-4 キャラクター操作のためのスクリプトを書こう 6-4-1 スクリプトの作成 ○6-5 キャラクターにアニメーションを付けよう 6-5-1 Mecanim(メカニム)とは 6-5-2 アニメーションのインポート 6-5-3 Animator Controllerを作成する 6-5-4 スクリプトからアニメーションを切り替える ●Chapter 7 敵キャラクターを作って動きを付けよう ○7-1 敵キャラクターがプレイヤーを追いかけるようにしよう 7-1-1 敵キャラクターのインポート 7-1-2 追いかけるのは意外と難しい 7-1-3 NavMeshのしくみ 7-1-4 NavMeshをベイクする 7-1-5 敵キャラクターにプレイヤーを追跡させる ○7-2 一定範囲に入ると襲ってくるようにしよう 7-2-1 オブジェクトにタグを付ける 7-2-2 検知のためのColliderをセットする 7-2-3 衝突検知用の汎用スクリプトを作成する ○7-3 視界に入ると襲ってくるようにしよう 7-3-1 Raycastとは 7-3-2 敵キャラクターからプレイヤーにRaycastする 7-3-3 障害物を設定する ○7-4 敵キャラクターに攻撃させてみよう 7-4-1 アニメーションの設定 7-4-2 スクリプトを書く 7-4-3 アニメーションにスクリプトの実行イベントを仕込もう ○7-5 敵を倒せるようにしよう 7-5-1 武器をインポートする 7-5-2 攻撃の当たり判定を配置する 7-5-3 スクリプトのアタッチ 7-5-4 武器と敵のレイヤー設定 7-5-5 プレイヤーのアニメーション設定 ○7-6 敵キャラクターを出現させよう 7-6-1 敵キャラクター登場の基本 7-6-2 敵キャラクターをPrefab化する 7-6-3 Prefabの特徴を知っておく 7-6-4 Coroutineを使う 7-6-5 スクリプトを書く ●Chapter 8 ユーザーインタフェースを作ってみよう ○8-1 タイトル画面を作ろう 8-1-1 新規シーンの作成 8-1-2 Canvasとは 8-1-3 Canvasの解像度を設定する 8-1-4 タイトルの文字を配置する 8-1-5 ボタンを配置する 8-1-6 シーン遷移を実装する 8-1-7 シーンをビルド対象に追加する ○8-2 ゲームオーバー画面を作ろう 8-2-1 ゲームオーバー画面シーンの作成 8-2-2 UIに影を付ける 8-2-3 Tweenアニメーションを使う 8-2-4 メイン画面からゲームオーバー画面に遷移させる ○8-3 アイテムを出現させよう 8-3-1 アイテムのスクリプトを書く 8-3-2 アイテムのPrefabを準備する 8-3-3 敵を倒したときにアイテムを出現させる 8-3-4 JSONを利用してデータを保存する ○8-4 ゲーム画面のUIを作ろう 8-4-1 メニューを追加する 8-4-2 ポーズ機能の実装 8-4-3 アイテム欄の実装 8-4-4 ライフゲージを追加する ●Chapter 9 ゲームが楽しくなる効果を付けよう ○9-1 BGMやSEを追加しよう 9-1-1 Unityで再生可能な音声ファイル 9-1-2 Audio Clipのプロパティ 9-1-3 Audio Sourceを使用する 9-1-4 Audio Mixerを使用する 9-1-5 2Dサウンドを管理するクラスを作成する ○9-2 パーティクルエフェクトを作成しよう 9-2-1 パーティクルエフェクトとは 9-2-2 攻撃がヒットしたときのエフェクトの作成 9-2-3 エフェクトの実装 9-2-4 Assetを活用する ○9-3 ゲーム画面にエフェクトをかけてみよう 9-3-1 Post Processingのインストール 9-3-2 カメラの準備 9-3-3 エフェクトを付ける ●Chapter 10 ゲームのチューニングを行おう ○10-1 パフォーマンスを改善しよう 10-1-1 フレームレートを設定する 10-1-2 Profilerでパフォーマンスを計測する 10-1-3 Scriptのチューニング 10-1-4 Renderingのチューニング ○10-2 ゲームの容量を節約しよう 10-2-1 ゲームのファイルサイズに注意 10-2-2 肥大化の原因と基本的な対策 10-2-3 画像のサイズを減らす 10-2-4 音声ファイルのサイズを減らす 10-2-5 Resourcesの中身を減らす 10-2-6 不要なシーンをビルド対象から外す 10-2-7 AssetBundle ○10-3 ゲームをビルドしよう 10-3-1 ビルドの共通操作と設定 10-3-2 Windows・macOS向けのビルド 10-3-3 Android向けのビルド 10-3-4 iOS向けのビルド 10-3-5 WebGL向けのビルド 10-3-6 ビルドしたいプラットフォームが選べない場合 ○10-4 ゲームを公開しよう 10-4-1 Google Play 10-4-2 App Store 10-4-3 Steam 10-4-4 UDP(Unity Distribution Portal) ●Chapter 11 プレイされるゲームにしていこう ○11-1 ゲームをもっとおもしろくしよう 11-1-1 レベルデザイン 11-1-2 遊びの4要素 11-1-3 プレイの動機を提供する ○11-2 ゲームを収益化しよう 11-2-1 ゲーム収益化は開発者の悩みのタネ 11-2-2 広告について知っておく 11-2-3 アプリ内課金について知っておく ○11-3 ゲームをもっと広めよう 11-3-1 プレスリリースを送る 11-3-2 SNSを使う 11-3-3 シェア機能を実装する 11-3-4 プロモーションに使えるサービスを活用する 11-3-5 広告を出す 11-3-6 リピート率を向上させる 11-3-7 あえて短いゲームにする 11-3-8 ゲーム内で自分の作品を紹介する ○11-4 開発の効率を上げよう 11-4-1 バージョン管理を利用する 11-4-2 自動ビルドを実行する 11-4-3 その他の開発効率化 ○11-5 Unityの魅力的な機能をさらに知っておこう 11-5-1 XR 11-5-2 Shader 11-5-3 タイムライン 11-5-4 ECS ○11-6 イベントに参加してみよう 11-6-1 Unityに関連したイベント 11-6-2 Unity Meetup 11-6-3 Unity1週間ゲームジャム 11-6-4 その他の勉強会・イベント ●Chapter 12 ビジュアルスクリプティングを体験しよう ○12-1 Boltについて知ろう 12-1-1 ビジュアルスクリプティングとは 12-1-2 Boltの導入方法 12-1-3 Boltの基礎 ○12-2 Boltを使ってみよう 12-2-1 作るものを決める 12-2-2 Boltでグラフを作ってみる 12-2-3 本章で作成したグラフを含むサンプルプロジェクト ○12-3 Boltのさまざまな機能を知っておこう 12-3-1 スーパーユニット 12-3-2 自作ユニット 12-3-3 State Graph ○12-4 Boltの強みと弱みを知っておこう 12-4-1 Boltの強み 12-4-2 Boltの弱み 12-4-3 まとめ ●Chapter 13 Unityでのトラブルシューティング ○13-1 エラーを確認しよう 13-1-1 エラーの内容をチェックしよう 13-1-2 よくあるスクリプトエラー 13-1-3 よくわからないエラーが出た場合 13-1-4 調べてもエラーが解決できない場合 ○13-2 情報を「見える化」しておこう 13-2-1 ログを出力する 13-2-2 ステップ実行 13-2-3 UnityのDebugモードを使う 13-2-4 デバッグ機能を実装する ○13-3 処理が実行されない原因を探ろう 13-3-1 関数の呼び出し元をたどっていく 13-3-2 イベント関数の記述ミスを疑う 13-3-3 スクリプトがゲームオブジェクトにアタッチされているかチェックする 13-3-4 衝突判定ではトラブルが起こりがち

著者情報

賀好, 昭仁

賀好昭仁

賀好 昭仁(かこう あきひと) CREATOR GENE代表、東京大学生産技術研究所 特任研究員。 Webサービス・スマホアプリ・ゲームなどの企画および開発を経て、2019 年に独立。開発を通じて世の中のハッピーを増やすべく、日々活動している。