Unityによる3Dゲーム開発入門

―iPhone/Android/Webで実践ゲームプログラミング

[cover photo]
TOPICS
Programming , Game
発行年月日
PRINT LENGTH
432
ISBN
978-4-87311-506-1
FORMAT
PDF
Ebook
3,740円
Ebookを購入する

WindowsやMac、スマートフォン、ゲーム機でプレイ可能な3Dゲームの開発をステップバイステップで解説。3Dシーンの構成方法やスクリプトの役割といったゲーム開発の基本を押さえたあと、3Dグラフィックや物理シミュレーション、ハイクオリティなライティングをマスターします。開発したゲームはApp StoreやWebで配布できる形式にビルドします。本書ではプロが実践する開発パイプラインにそって解説するので初心者でも本格的な3Dゲーム制作のワークフローを無理なく学ぶことができます。Unityという本格的な開発環境を誰でも利用できる今こそ3Dゲーム開発に挑戦する最高の機会です。Unity 3.4対応。

関連ファイル

正誤表

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

正誤表 - 2011年9月掲載(2刷以降は修正済み)

■P.vii 上から2行目
  • 【誤】Unityユーザー助け合い所(unityuserj@groups.facebook.com)
  • 【正】Unityユーザー助け合い所(http://www.facebook.com/groups/unityuserj/)
■P.359 下から2行目
  • 【誤】中にあるweb.htmlをダブルクリックすると、ブラウザが立ち上がり
  • 【正】中にあるWebPlayer.htmlをダブルクリックすると、ブラウザが立ち上がり
■P.360 上から1行目
  • 【誤】web.html(HTMLファイル)にブラウザからアクセスすることで、
  • 【正】WebPlayer.html(HTMLファイル)にブラウザからアクセスすることで、

目次

目次
本書に寄せて
まえがき
1章  Unityとは
    1.1 Unityの入手
    1.2 初めての起動
    1.3 本書のサンプルゲーム

2章 すべての基本、シーンと役者と台本(スクリプト)
    2.0 サンプルゲームの試遊
    2.1 ゲームの新規作成
    2.2 オブジェクトの生成
    2.3 位置の調整
    2.4 編集画面のカメラ操作
    2.5 オブジェクトへのコンポーネントの追加
    2.6 Unityでゲームを作る工程のまとめ
    2.7 台本は JavaScriptで書ける

3章 物理シミュレーションされたオブジェクトを配置してみよう
    3.0 サンプルゲームの試遊
    3.1 プリミティブ
        3.1.1 プリミティブの作成
        3.1.2 プレビュー
    3.2 Rigidbodyコンポーネント
        3.2.1 Rigidbodyコンポーネントの追加
        3.2.2 Rigidbodyを押すスクリプトの追加
        3.2.3 スクリプトコンポーネントの追加
        3.2.4 プレビュー
    3.3 プレイヤーを追従するカメラを作ろう
    3.4 自発的に動くオブジェクトを作ってみよう
        3.4.1 橋のプリミティブを作成
        3.4.2 橋の移動
        3.4.3 回転の追加
        3.4.4 橋の先に島を作る
        3.4.5 回転橋のプレビュー
    3.5 まとめ

4章 グラフィックを置いてみよう
    4.0 サンプルゲームの試遊
    4.1 テクスチャの適用
        4.1.1 マテリアルの作成
        4.1.2 テクスチャの用意
        4.1.3 マテリアルにテクスチャを適用する
        4.1.4 オブジェクトにマテリアルを適用する
    4.2 3Dモデルの配置
        4.2.1 3Dモデルとは
        4.2.2 UnityAssetStore
        4.2.3 壁の配置
        4.2.4 電柱の配置
        4.2.5 土管の配置
    4.3 アルゴリズムで作るテクスチャ( AllegorithmicSubstances)
    4.4 まとめ

5章 サウンド
    5.0 サンプルゲームの試遊
    5.1 耳の準備
    5.2 回転橋の音を鳴らす
        5.2.1 TheFreesoundProject
        5.2.2 音声ファイルの取り込み
        5.2.3 オーディオアセットのセットアップ
    5.3 足音を鳴らす
        5.3.1 足音のスクリプト
        5.3.2 Bootcampプロジェクトのサウンドアセットの活用
        5.3.3 プレビュー
    5.4 ミュージック
        5.4.1 ゲームのミュージック
        5.4.2 BGMの入手
        5.4.3 BGMの組み込み
        5.4.4 工場の島の BGMの組み込み
        5.4.5 プレビュー
    5.5 まとめ

6章 スクリプト
    6.0 サンプルゲームの試遊
    6.1 タイトル画面やゲームオーバーをつなぐのはスクリプト
    6.2 タイトル画面を作って UIを置こう
        6.2.1 UIスクリプトの作成
    6.3 ゲームオーバーを作ろう
        6.3.1 床から落ちて死んだことを判定する
        6.3.2 関数のオーバーライドと MonoBehaviour
        6.3.3 ほかのスクリプト内の関数の呼び出し(プレイヤー側の関数の呼び出し)
    6.4 まとめ

7章 全体をつかんだらもっとゲームらしく
    7.0 サンプルゲームの試遊
    7.1 キャラクターをモデルに
        7.1.1 シーンへキャラクターモデルを追加
        7.1.2 キャラクターモデルの差し替え
        7.1.3 Character Controllerの修正
        7.1.4 キャラクターにアニメーションをさせる
        7.1.5 キャラクターアニメーションスクリプトの適用
    7.2 Projectorによる疑似影
        7.2.1 Projectorパッケージ
        7.2.2 Projectorプロパティ
    7.3 さらなる仕掛け
        7.3.1 床の作成
        7.3.2 床の回転
        7.3.3 回転床を複数配置する
        7.3.4 ゴール床の配置
        7.3.5 DeadZoneの拡大
        7.3.6 テクスチャの割り当て
        7.3.7 3Dモデルの活用
    7.4 Skybox(スカイボックス)
    7.5 まとめ

8章 アニメーション
    8.0 サンプルゲームの試遊
    8.1 アニメーションの原理
        8.1.1 Animationコンポーネントと Animation Clip
        8.1.2 Animation Clipの作成
        8.1.3 Wrap Mode(ラップモード)
        8.1.4 Animationビューの基本操作
    8.2 前進・後退リフトの作成
        8.2.1 子オブジェクトのアニメーション
        8.2.2 Tangent(タンジェント)
        8.2.3 リフトの複製
    8.3 カメラアニメーション
        8.3.1 島を Prefab(プレハブ)にする
        8.3.2 カメラアニメーションの作成
    8.4 まとめ

9章 ライティング
    9.0 サンプルゲームの試遊
    9.1 夜の環境表現
        9.1.1 アンビエントライト(環境光)の配置
        9.1.2 フェードアウトを用いたスカイボックスの切り替え
    9.2 ハイウェイの作成
        9.2.1 道路の配置
        9.2.2 街灯の設置
        9.2.3 車の配置
        9.2.4 平行光源
    9.3 まとめ

10章 レンダリング
    10.0 サンプルゲームの試遊
    10.1 Shader(シェーダー)
        10.1.1 Diffuseシェーダー
        10.1.2 Bumped Diffuseシェーダー
        10.1.3 Specularシェーダー
        10.1.4 Bumped Specularシェーダー
    10.2 Rendering Path(レンダリングパス)
        10.2.1 Rendering Pathの指定
        10.2.2 Rendering Pathの種類
    10.3 Lightmapping(ライトマッピング)
        10.3.1 ライトマッピングとは
        10.3.2 ライトマップ生成の準備
        10.3.3 ライトマップの生成
        10.3.4 プレビュー
    10.4 まとめ

11章 風船割りゲームを作ってみよう(スクリプト)
    11.0 サンプルゲームの試遊
    11.1 ゲームの仕様
    11.2 キャラクターカメラの基本的なセッティング
    11.3 舞台セットの配置
        11.3.1 床の配置
        11.3.2 壁の配置
        11.3.3 ライティング
    11.4 プレイヤーが発射する飛び道具を作る
        11.4.1 モデルの入手
        11.4.2 剣のプレハブの作成
        11.4.3 発射スクリプト
        11.4.4 風船の作成
        11.4.5 スコアとステージクリア
    11.5 まとめ

12章 パーティクル
    12.0 サンプルゲームの試遊
    12.1 Particle Systemオブジェクト
    12.2 羽虫の作成
    12.3 衝突の火花の作成
        12.3.1 パーティクルの作成
        12.3.2 プレハブの作成
        12.3.3 スクリプトの付加
    12.4 爆発の作成
        12.4.1 親オブジェクトの作成
        12.4.2 閃光のパーティクル
        12.4.3 火花のパーティクル
        12.4.4 煙のパーティクル
        12.4.5 爆発のプレハブ
        12.4.6 風船への設置
        12.4.7 爆発のプレビュー
    12.5 降る雪の作成
        12.5.1 パーティクルの作成
    12.6 まとめ

13章 プラットフォームへの出力
    13.0 サンプルゲームの試遊
    13.1 ビルド
        13.1.1 スタンドアロンへのビルド
        13.1.2 Web Playerへのビルド
        13.1.3 iOSへのビルド
        13.1.4 Androidへのビルド
    13.2 モバイル対応
        13.2.1 表示方向の変更
        13.2.2 ユーザーインターフェイスの変更
    13.3 Unity Remote
    13.4 まとめ

14章 プラットフォームやライセンスごとの違い
    14.1 なんと言ってもメモリの限界
    14.2 リアルタイムの影
    14.3 ライセンスによる違い
        14.3.1 標準機能
        14.3.2 Pro版の機能(1):最適化の強化
        14.3.3 Pro版の機能(2):共同作業の機能
    14.4 まとめ

15章 ゲームエンジンの隠れた真価
    15.1 情報収集の 3つの柱
        15.1.1 Unityの公式コミュニティ
        15.1.2 英語にくじけない
        15.1.3 無数のまとめサイト
    15.2 ゲームの作り方を変える: Asset Store
    15.3 まとめ
おわりに
索引

コラム目次
    スクリプトのプロパティ値の変更
    トランスフォームツールを用いた回転
    Sceneビューでの Colliderのサイズ変更
    継承について
    Prefab(プレハブ)アセット
    合体したオブジェクトとヒエラルキー
    CharacterControllerのプロパティ
    InputManager
    Projectorの落とし穴
    TransformGizmoTogglesボタン
    ゲーム開始地点の変更
    Animationコンポーネントのプロパティ
    Tangentの種類
    プレハブのリンク
    RenderSettingsのプロパティ
    フレアの大きさ
    パーティクルの速度方向と発生位置
    ポーズボタンとステップボタン
    ForceとVelocityの違い