強火で進め

このブログではプログラム関連の記事を中心に書いてます。

3Dプログラム入門としても良さそうな本「テクニカルアーティストスタートキット」

出版社のページでは以下の様に書かれています。

「テクニカルアーティスト」とは、CGの科学的・技術的背景を理解し、映像制作に活用できるアーティスト、あるいはアーティストとエンジニアとの間をつなぐ役割を果たす方々を指しています。本書では、テクニカルアーティストを目指すCGクリエイターに不足がちだと思われる知識や、比較的すぐに効果が出る分野を厳選し的を絞って解説しています。

しかし、サンプルページを見てみると3DCG関連のCG/数学/物理の入門書という感じで3Dを始めるプログラマにも向いてるいのでは?という印象でした。

テクニカルアーティストスタートキット|書籍情報|デジタルクリエーターを支援するサービスカンパニー 株式会社ボーンデジタル
http://www.borndigital.co.jp/book/detail.php?id=235

テクニカルアーティストスタートキット -映像制作に役立つCG理論と物理・数学の基礎- [演習データ付属]

テクニカルアーティストスタートキット -映像制作に役立つCG理論と物理・数学の基礎- [演習データ付属]

目次

Chapter 1: カメラと座標系 
Chapter 2: プロシージャ 
Chapter 3: カラーモデル 
Chapter 4: シャドウとローカルシェーディング 
Chapter 5: テクスチャ 
Chapter 6: パーティクル 
Chapter 7: NURBS 
Chapter 8: イメージ/ムービーフォーマット

詳細目次

Chapter 1 カメラと座標系 
 1.1 カメラ 
  1.1.1 カメラの構造 
  1.1.2 CGのカメラの仕組み・特徴 
  1.1.3 カメラパラメータの画像への影響 
 1.2 座標系 
  1.2.1 座標系とは 
  1.2.2 さまざまな座標系 
  1.2.3 右手系と左手系 
  1.2.4 座標系の階層関係 
  1.2.5 CGで使われるさまざまな座標系 
 1.3 まとめ 
■練習課題 
課題1 カメラの画角ぴったりのプレーン 
課題2 モーションブラーの制御 
課題3 座標系の変換 
課題4 ニア/ファークリッピングプレーン 

Chapter 2 プロシージャ 
 2.1 プロシージャ 
 2.2 関数 
  2.2.1 関数って役に立つの? 導関数とは? 
  2.2.2 関数とは? 
  2.2.3 逆関数とは? 
  2.2.4 関数の形 
  2.2.5 簡単な関数で勉強: 直線 
  2.2.6 関数の例 
  2.2.7 ベクトルとポイント 
  2.2.8 ちょっとしたパーティクルの制御の例 
 2.3 2D/3Dの入力と出力 
  2.3.1 ハイトフィールド(入力: 2D、出力: 1D) 
  2.3.2 密度(入力: 3D、出力: 1D) 
  2.3.3 出力の次元が上がると? 
 2.4 もう少し複雑な関数 
  2.4.1 ランダム関数とノイズ関数 
  2.4.2 フラクタル 
  2.4.3 L-System 
 2.5 プロシージャルテクスチャ 
  2.5.1 普通のテクスチャと何が違うの? 
  2.5.2 プロシージャルテクスチャの長所と短所 
 2.6 プロシージャルシェーディング 
  2.6.1 Mayaのプロシージャルシェーダ 
  2.6.2 RenderManのプロシージャルシェーダ 
 2.7 まとめ 
■練習課題 
課題1 パーティクルの制御(Maya) 
課題2 パーティクルの制御(After Effects) 
課題3 ランダムとノイズの違い(Maya) 
課題4 地面に沿ってオブジェクトを動かす(Maya) 
課題5 ヒルベルトの曲線 
課題6 フラクタルの練習 
課題7 L-System 
課題8 簡単なトゥーンシェーダの作成(Maya) 
課題9 RenderManで簡単なトゥーンシェーダを作ってみましょう 

Chapter 3 カラーモデル 
 3.1 カラーモデル 
  3.1.1 人間は色をどうやって見ているの? 
  3.1.2 色の単位・基準 
  3.1.3 色空間とRGB・CMYカラーモデル 
  3.1.4 表色系とは 
 3.2 カラーマネジメント 
  3.2.1 RGB 色空間の規格 
  3.2.2 白色とは? 白色点と色温度 
  3.2.5 ハイダイナミックレンジ(HDR) 
 3.3 まとめ 
■練習課題 
課題1 HDRの作成 

Chapter 4 シャドウとローカルシェーディング 
 4.1 ローカルシェーディング 
  4.1.1 良いシェーディングのためには 
 4.2 ライト 
  4.2.1 ライトの種類と特徴 
  4.2.2 CGのライト特有の性質 
 4.3 物理とローカルシェーディング 
  4.3.1 実世界における現象 
  4.3.2 シェーディングモデルの基本 
 4.4 よく使われているローカルシェーディングモデル 
  4.4.1 アンビエント/環境光成分とその反射モデル 
  4.4.2 ディフューズ/拡散反射成分とその計算モデル 
  4.4.3 スペキュラー/鏡面反射成分とその計算モデル 
 4.5 影 
  4.5.1 影の種類 
  4.5.2 影の作成手法 
  4.5.3 Mayaのシャドウのパラメータ: デプスマップ、レイトレースに共通 
  4.5.4 Mayaのシャドウのパラメータ: デプスマップシャドウに特有 
  4.5.5 Mayaのシャドウのパラメータ: レイトレースシャドウに特有 
  4.5.6 アンビエントオクルージョン 
 4.6 まとめ 
■練習課題 
課題1 Blinn、Phong、異方性シェーダの共通点と相違点 
課題2 スペキュラーだけライトに反応するマテリアルの作成 
課題3 ランプシェーダと同じようなトゥーンシェーダの作成 
課題4 Oren-Nayar(っぽい)シェーダの作成 
課題5 白い影の作成 

Chapter 5 テクスチャ 
 5.1 テクスチャリングとは 
  5.1.1 2Dテクスチャ 
  5.1.2 3Dテクスチャ 
 5.2 マッピング 
  5.2.1 UVで2Dテクスチャマッピング 
  5.2.2 プロシージャルUVで2Dテクスチャマッピング 
  5.2.3 投影で2Dテクスチャマッピング 
  5.2.4 3Dテクスチャマッピング 
 5.3 サンプリング 
  5.3.1 エイリアシング 
  5.3.2 エイリアシングの対策: アンチエイリアシング 
  5.3.3 エイリアシングとメッシュの精度 
  5.3.4「 テクスチャリング=マッピング+サンプリング」のまとめ 
 5.4 テクスチャの種類 
  5.4.1 カラーマップ 
  5.4.2 透明度マップ 
  5.4.3 環境マップ 
  5.4.4 ディスプレイスメントマップ 
  5.4.5 バンプマップ 
  5.4.6 法線(ノーマル)マップ 
  5.4.7 デプスマップ 
  5.4.8 カスタムマップ 
 5.5 補間 
 5.6 まとめ 
■練習課題 
課題1 投影 
課題2 環境マップ 
課題3 法線マップ 
課題4 プロシージャルUV 
課題5 デプスマップシャドウのバイアス 
課題6 ディスプレイスメントのエイリアシング 
課題7 トゥーンシェーダの シャドウの形 

Chapter 6 パーティクル 
 6.1 力学: 運動とは 
  6.1.1 速さ・時間・距離 
  6.1.2 スカラー量とベクトル量 
  6.1.3 等速直線運動と加速度、 等加速度運動 
  6.1.4 微分・積分と物理との関係 
  6.1.5 相対速度 
  6.1.6 自由落下運動・鉛直上方(下方)投射 
  6.1.7 水平投射・斜方投射 
  6.1.8 円運動 
 6.2 Maya パーティクル基礎1 
  6.2.1 パーティクルツール 
  6.2.2 パーティクルのアトリビュート 
  6.2.3 エミッタノード 
  6.2.4 パーティクルのアニメーション 
 6.3 力学: 力とは 
  6.3.1 力の合成・分解 
  6.3.2 力の単位 
  6.3.3 運動の三法則 
  6.3.4 さまざまな力 
 6.4 Maya パーティクル基礎2 
  6.4.1 フィールドノード 
  6.4.2 パーティクルによるインスタンス化 
 6.5 Mayaケーススタディ 
  6.5.1 パーティクルとランダム 
  6.5.2 パーティクルインスタンスの回転 
  6.5.3 フィールドを使ったパーティクルアニメーション 
 6.6 まとめ 
■練習課題 
課題1 オブジェクトの自由落下と斜方投射(Maya) 
課題2 レイヤの自由落下と斜方投射(After Effects) 
課題3 パーティクルで自由落下(Maya) 
課題4 摩擦のシミュレーション(After Effects) 

Chapter 7 NURBS 
 7.1 陽関数とパラメータ形式の関数 
  7.1.1 陽関数とその限界 
  7.1.2 パラメータ形式の関数 
 7.2 スプライン 
  7.2.1 制御点 
  7.2.2 スプラインの数式 
  7.2.3 ベジェ曲線 
  7.2.4 B –スプライン曲線 
  7.2.5 NURBS 
  7.2.6 ノット列の値: パラメトリゼーション 
  7.2.7 その他のスプライン: 補間 
 7.3 MayaにおけるNURBSカーブ 
  7.3.1 制御点 
  7.3.2 スパン 
  7.3.3 エディットポイント 
  7.3.4 次数 
  7.3.5 NURBSカーブの作成・編集 
 7.4 パラメータ曲面 
  7.4.1 NURBS 曲面 
  7.4.2 NURBSマッピング 
  7.4.3 ポリゴンとNURBSのパラメトリゼーション 
  7.4.4 NURBSのマッピングの例 
 7.5 NURBSサーフェスの作成・編集 
  7.5.1 リボルブ 
  7.5.2 ロフト 
  7.5.3 バイレイル 
  7.5.4 フィレット 
  7.5.5 リビルド 
  7.5.6 ステッチ 
 7.6 NURBSのテッセレーション 
  7.6.1 NURBSテッセレーション設定 
 7.7 NURBSワークフロー 
  7.7.1 NURBSのみ 
  7.7.2 NURBSからポリゴンとサブディビジョンメッシュへ 
  7.7.3 サブディビジョンメッシュとは 
 7.8 まとめ 
■練習課題 
課題1 ベジェ曲線を表計算ソフトを使って描いてみましょう 
課題2 モーションパスを使ってパラメータの分布の違いを体験しましょう 
課題3 NURBSのレンダリングパラメータを調整してみましょう 

Chapter 8 イメージ/ムービーフォーマット 
 8.1 ファイルフォーマットの基礎 
  8.1.1 アスキーファイルとバイナリファイル 
  8.1.2 テキストエンコーディング 
  8.1.3 エンディアン 
  8.1.4 バイナリにおける数の表し方 
  8.1.5 データの圧縮 
 8.2 主要なイメージフォーマットとその特徴 
  8.2.1 ベクトルイメージとラスタイメージ 
  8.2.2 SVG 形式: ベクトルイメージ 
  8.2.3 TGA 形式 
  8.2.4 JPEG 形式 
  8.2.5 GIF 形式 
  8.2.6 TIFF 形式 
  8.2.7 PNG 形式 
  8.2.8 CIN、DPX 形式 
  8.2.9 Open EXR 形式 
  8.2.10 その他 
 8.3 主要なムービーフォーマットとその特徴 
  8.3.1 クロマサブサンプリング 
  8.3.2 圧縮方式の分類 
  8.3.3 コンテナフォーマット 
 8.4 まとめ 

索引