OpenGL ESとC++で作る iPhone/iPad 実戦3Dゲーム

概 要

スマホ向けの本格的な戦車ゲームを作りながら、OpenGL ES2.0とC++を使った3Dグラフィックスを学ぶiPhone/iPadのプログラミング解説書です。スマートフォンの3Dに広く使われているのが、携帯デバイスに最適化されたシェーダーを持ったOpenGL ES2.0です。本書は、OpenGL ES2.0と移植性の高いC++を使って、本格的な戦車ゲームを作りながら、弾道計算のゲームらしいデフォルメ、コリジョン衝突判定の減らし方、スカイドームを使ってポリゴンを節約しながら情景を描くテクニック、走行や荷重移動のリアルな挙動の再現、臨場感を引き出すリアルなパーティクルエンジンなど、スマホ向けゲームプログラミングの基本を幅広く解説します。

著者 アイマジック岩渕亮
価格 本体2800円(税別)
ISBN 978-4-7980-3781-3
発売日 2013/4/26
判型 B5変
色数 1色
ページ数 336
CD/DVD
対象読者 中級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 01 ゲームを作ろう ― 3D戦車ゲーム

1-1 デバイスを知らなければゲームは作れない ― ハードウェアの基礎知識

1-2 3Dはこれからのゲームの中心 ― 三次元グラフィックの基礎知識

ベクトル

ポリゴンとバーテックスとプリミティブ

テクスチャ

ローカル、ワールド、ビュー、プロジェクション

行列

シェーダー

OpenGL ES

OpenGL ES 2.0

ゲームのシステム

1-3 良いゲームを考えるために ― デザインシーケンス

ゲーム開発の流れ

対象ハードウェアを知る

題材を決める

ルール設計

プロトタイプデザイン

1-4 詳しく掘り下げ、ゲームを楽しくする ― 戦車の情報集めとルール化

戦車の登場

III号戦車、IV号戦車

戦車の構造

曲がる仕組み

装甲厚

戦術

Chapter 02 開発環境の準備 ― ゲームエンジン

2-1 ゲームエンジンの機能

2-2 開発環境の構築

インストール

プロジェクトをスタート

C++を使うためには

開発の準備

2-3 ゲームエンジン開発

定数の準備

ベクトル

マトリックス

プリミティブ

シェーダー

シェーダーの読み込み

シェーダーの使用開始

アプリケーションコア

2-4 ゲームエンジンでひな形を改訂

アプリケーションコアの作成

データの準備

フレーム更新

フレームの描画

テスト

2-5 テクスチャ

テクスチャ対応シェーダー

アプリケーションの書き換え

Chapter 03 戦車モデルをつくる ― IV号戦車登場

3-1 IV号戦車とは

IV号戦車G型

モデル作成

3-2 階層構造モデル

バンドルリソースへの組み込み

階層構造ポリゴンクラス

3-3 戦車クラス

Update関数

Draw関数

3-4 戦車を表示する

Chapter 04 地形をつくる ― カメラとワールド座標

4-1 どこから見ているの?

4-2 地形データ

Chapter 05 スプライトとテキスト ― ゲームの情報表示

5-1 スプライト

スプライトクラス

シェーダーの実装

5-2 テキスト表示

フォントの作成

フォントクラス

テキスト表示

Chapter 06 戦車を動かす ― ユーザーインタフェース

6-1 入力操作

マルチタッチの有効化とRetina対応

タッチイベントの受け入れ

6-2 戦車の走行

戦車の操作

操作パネルのデザイン

操作パネルの入力値

速度制御

旋回操作

戦車の実装

操作パネルの表示

車輪の回転

6-3 砲塔旋回

旋回ハンドル

主砲の角度

Chapter 07 ゲーム世界を構築する― 戦車オブジェクト管理

7-1 敵戦車T-34登場

モデル作成

T-34の組み込み

7-2 ゲーム世界の構築

戦車オブジェクトの管理クラス

ゲーム世界のクラス

Chapter 08 主砲の発射 ― 弾道と戦車の物理計算

8-1 主砲発射

砲弾の物理

8-2 砲弾オブジェクト

8-3 発射ボタン

ダブルタップの受付

8-4 荷重移動

Chapter 09 戦車の爆発 ― パーティクルとエミッター

9-1 パーティクルの定義

9-2 エミッター

エミッターの定義

エミッターオブジェクト

エミッターオブジェクトの初期化

9-3 パーティクルの描画

加算合成

9-4 パーティクルシェーダー

アルファ合成

9-5 3Dスプライト

9-6 主なパーティクルの設定値

花火

Chapter 10 衝突 ― コリジョン

10-1 コリジョンの計算

点と球体

点と直方体

バウンディングボックスとバウンディングスフィア

10-2 装甲とコリジョン

10-3 被弾

球体と直線の交差

バウンディングボックス、バウンディングスフィアの生成

砲弾の衝突

Chapter 11 地面を走行する ― 戦車らしさとゲームらしさ

11-1 走行モデル

一輪車の場合

四輪車の場合

戦車の場合

11-2 地形高度の取得

11-3 戦車の高度を決定する

Chapter 12 戦車からの視点 ― ビュー・カメラ移動

12-1 コマンダーズキューポラ

12-2 視点の変更を実装する

Chapter 13 樹木とスカイドーム― 背景空間とゲームリソースの節約

13-1 スカイドーム

13-2 スカイドームクラス

13-3 樹木

13-4 樹木テクスチャーの作成

13-5 樹木クラス

13-6 樹木シェーダー

13-7 ビルボードの明るさ

PR

秀和システム