作って学べる Unity本格入門 [Unity 2022対応版]
書籍情報
発売日 : 2022年10月27日
著者/編集 : 賀好 昭仁
出版社 : 技術評論社
発行形態 : 単行本
書籍説明
内容紹介
3Dゲームの制作を通してUnityの基本的な使い方からエフェクト、チューニングまで開発ノウハウのすべてが学べます!PC・スマホで遊べるゲームの開発をマスターするUnity入門書の決定版。充実のサンプルデータで、初心者でも安心して学べます!
目次
■Chapter 1 ゲーム開発をはじめよう
1-1 ゲームについて理解しよう
1-1-1 ゲームは数千年前から存在していた
1-1-2 デジタルゲームの登場
1-1-3 ゲーム開発のハードルは高かった
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 ライフゲージを追加する
8-5 スマホ向けのUIを作ろう
8-5-1 スマホ向けUIの基本
8-5-2 バーチャルパッドを導入する
8-5-3 スマホの各種センサーを利用する
■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 SYNC
11-6-4 Unity1週間ゲームジャム
11-6-5 その他の勉強会・イベント
■Chapter 12 ビジュアルスクリプティングを体験しよう
12-1 ビジュアルスクリプティングについて知ろう
12-1-1 ビジュアルスクリプティングとは
12-1-2 ビジュアルスクリプティングの導入方法
12-1-3 ビジュアルスクリプティングの基礎
12-2 ビジュアルスクリプティングを使ってみよう
12-2-1 作るものを決める
12-2-2 グラフを作ってみる
12-3 ビジュアルスクリプティングのさまざまな機能を知っておこう
12-3-1 Subgraphでノードをまとめる
12-3-2 C#でカスタムノードを作成する
12-3-3 State Graph
12-4 ビジュアルスクリプティングの強みと弱みを知っておこう
12-4-1 ビジュアルスクリプティングの強み
12-4-2 ビジュアルスクリプティングの弱み
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 衝突判定ではトラブルが起こりがち
13-4 スマホゲームのトラブルに備えよう
13-4-1 特定のプラットフォームでのみ画質が悪くなる
13-4-2 クラッシュログを収集する
13-4-3 通信は失敗するものと考える
13-4-4 チーターは必ず現れる
13-4-5 Conditional Compilationを使っている箇所でエラーが出る
1-1 ゲームについて理解しよう
1-1-1 ゲームは数千年前から存在していた
1-1-2 デジタルゲームの登場
1-1-3 ゲーム開発のハードルは高かった
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 ライフゲージを追加する
8-5 スマホ向けのUIを作ろう
8-5-1 スマホ向けUIの基本
8-5-2 バーチャルパッドを導入する
8-5-3 スマホの各種センサーを利用する
■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 SYNC
11-6-4 Unity1週間ゲームジャム
11-6-5 その他の勉強会・イベント
■Chapter 12 ビジュアルスクリプティングを体験しよう
12-1 ビジュアルスクリプティングについて知ろう
12-1-1 ビジュアルスクリプティングとは
12-1-2 ビジュアルスクリプティングの導入方法
12-1-3 ビジュアルスクリプティングの基礎
12-2 ビジュアルスクリプティングを使ってみよう
12-2-1 作るものを決める
12-2-2 グラフを作ってみる
12-3 ビジュアルスクリプティングのさまざまな機能を知っておこう
12-3-1 Subgraphでノードをまとめる
12-3-2 C#でカスタムノードを作成する
12-3-3 State Graph
12-4 ビジュアルスクリプティングの強みと弱みを知っておこう
12-4-1 ビジュアルスクリプティングの強み
12-4-2 ビジュアルスクリプティングの弱み
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 衝突判定ではトラブルが起こりがち
13-4 スマホゲームのトラブルに備えよう
13-4-1 特定のプラットフォームでのみ画質が悪くなる
13-4-2 クラッシュログを収集する
13-4-3 通信は失敗するものと考える
13-4-4 チーターは必ず現れる
13-4-5 Conditional Compilationを使っている箇所でエラーが出る
著者情報
賀好 昭仁
賀好 昭仁(かこう あきひと)
CREATOR GENE代表、東京大学生産技術研究所特任研究員。Webサービス・スマホアプリ・ゲームなどの企画および開発を経て、2019年に独立。開発を通じて世の中のハッピーを増やすべく、日々活動している。
賀好, 昭仁