関連サイト
本書の関連ページが用意されています。
内容紹介
本書ではUnityの個々機能を深く掘り下げることはしない。また、機能別に分離して説明する方法ではなく、開発過程の中で必要な機能を説明し、それを適用していく方法を採用している。
本書のサンプルスクリプトはC#で進行しており、キャラクター3Dモデルのインポート、移動ロジック、総発射ロジックと衝突判別などの基礎的な内容から敵キャラ(NPC)の人工知能を有限状態マシン(FSM)で実装する高度な開発手法まで紹介する。また、ゲーム開発に必要な追跡アルゴリズムは、ナビゲーションメッシュを使用して実装し、実際のゲーム開発に頻繁に使用される技法だが、材料を探すのが難しい銃口炎(Muzzle Flash)、血痕効果(Blood Effect)、ラグドール(Ragdoll)、レイキャスト(Raycast)、タッチ移動ロジックなどの手法も直接ゲームを作りながら実装してみる。最後に、ネットワークゲームを開発するために必要な技法も詳しく紹介する。Unityゲーム開発の基礎を固めたいと願う初心者の開発者だけでなく、今後のネットワークゲーム開発までを念頭に置いた中級以上の開発者まで、本書は大きく役立つだろう。
書誌情報
- 著者: 李在賢, 金 凡峻(訳)
- 発行日: 2015-03-20 (紙書籍版発行日: 2014-09-11)
- 最終更新日: 2015-03-20
- バージョン: 1.0.0
- ページ数: 424ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: インプレス
対象読者
ゲーム開発の現場にいる初中級レベルの開発者。C#の中級レベルの知識が必要。
著者について
李在賢
1969年生まれ。韓国のSamsung、LG、SK、Hynix半導体などの製造メーカーおよび、国民銀行、企業銀行などの金融機関でSIフリーランサーとして勤務する。OpenValve、Metal Warrior、Agent Tie、Zombies in Dark1、2など10種類以上のiOS用ゲームを開発、ローンチした。ゲーム開発の学習のためのウェブサイト(http://www.unity3dstudy.com/)も運営している。
金 凡峻
1974年生まれ。法政大学経営学部出身。大学時代に趣味でプログラミング勉強し、韓国に帰国後、家庭用デジタル機器製作会社で組み込みエンジニアとして勤務する。2006年、再び日本に渡り、TVレコーダー制作会社およびゲーム会社に勤務する。2012年に帰国し、現在は韓国で技術書の執筆や翻訳、個人開発プロジェクトに携わっている。主な著書に『作りながら学ぶOSカーネル』(韓国語版・Hanbit Media/日本語版・秀和システム)、『脳を刺激するハードウェア入門』(韓国語版・Hanbit Media)、『Unix Linux ユーティリティー Make イージー・マスター・ガイド』(韓国語版・Code&Contents)などがある。
目次
はじめに
Chapter 01 Unity3Dの紹介
- Unity3Dゲームエンジンの誕生
- 統合開発環境(IDE:IntegratedDevelopment Environment)
- ビルトインミドルウェア
- オープンコミュニティ
- Asset Store(アセットストア)
- Unityをダウンロードする
- Unityのインターフェース
- まとめ
Chapter 02 ゲーム開発の準備
- これから開発するゲームの紹介と開発手順
- 新しいプロジェクトを作成する
- 開発環境(IDE)の調整
- Projectビューの体系的な管理
- キャラクターモデルのインポート
- Asset Storeアカウントの作成
- ProjectビューからAsset Storeにアクセス
- Asset Storeからリソースをダウンロード
Chapter 03 ゲームステージの制作
- 3Dモデル
- テクスチャ(Texture)
- テクスチャを適用する
- Shader(シェーダ)
- Prefab(プレハブ)
- Prefabを利用した壁の作成
- ライト(Light)
- 空の表現方法(Skybox&SkyDome)
- まとめ
Chapter 04 主人公キャラクターの制作
- 空のゲームオブジェクト
- 3Dモデルのインポートおよびオプションの設定
- コンポーネント(Component)
- スクリプトの作成
- キーボード入力値を受け取る(Inputクラス)
- キャラクターの移動 ― Translate
- 正規化されたベクトル
- キャラクターの回転 ― Rotate
- カメラトラッキング ― Follow Cam
- レガシーアニメーション(Legacy Animation)
- アニメーションクリップ(Animation Clip)
- アニメーションコントロール
- アニメーションブレンディング
- リアルタイムシャドウ(Real Time Shadow)
- Projectorを用いた影
- Planeメッシュを利用した影
- まとめ
Chapter 05 発射体の制作とサウンドエフェクト
- 弾丸モデルの準備
- Rigidbody(リジッドボディ)コンポーネント
- Collider(コライダ)コンポーネント
- 衝突判定の条件
- 衝突イベント(Collision Event)
- タグの活用
- 弾丸発射ロジック
- 弾丸発射軌跡エフェクトを作成する
- Particle(パーティクル)を活用する
- 弾丸の入射角応用
- 爆発エフェクトおよび爆発力の生成
- ランダムにテクスチャを適用する
- サウンド ― Audio Source、Audio Listener
- 発砲炎エフェクト ― Muzzle Flash
- まとめ
Chapter 06 敵キャラクターの制作
- メカニム(Mecanim)
- メカニムアニメーションに切り替える
- Animator Controller(アニメータコントローラ)
- モンスターの追跡ルーチン(Navigationメッシュ)
- モンスターの攻撃ルーチン
- モンスターの攻撃を受けるリアクション
- 血痕エフェクト
- デカール(Decal) ― 床に飛び散る血痕エフェクト
- モンスターに攻撃能力を与える
- モンスターの攻撃停止 ― タグ
- モンスターの攻撃を停止 ― Delegate、Event
- モンスターの死亡処理
Chapter 07 ゲームマネージャの実装
- モンスター出現ロジック
- ゲームマネージャへのアクセス方法
- public関数 ― サウンド処理
Chapter 08 レイキャスト(Raycast)の活用
- モンスターの攻撃
- ドラム缶爆発
- レーザービームの実装
Chapter 09 Lightmapping(ライトマッピング)/ LightProbe(ライトプローブ)
- Lightmapping(ライトマッピング)
- Light Probe(ライトプローブ)
Chapter 10 シーンの分割とマージ
- シーンの分割
- シーンのマージ
- シーンのAssetBundleの作成
- ストリーミングでダウンロードするシーンの実装
Chapter 11 ネットワークゲーム
- ネットワークゲームの定義
- ネットワーク通信プロトコル
- Unityのネットワーク機能
- Unityのネットワークゲーム開発の手順
- ネットワーク版ゲームの開発
- まとめ
Chapter 12 リアルなゲームを実装するための便利な機能
- ラグドール
- スクリーンタッチ
- タッチで移動する
- まとめ