3DCGはオブジェクト+テクスチャ+マテリアルのオブジェクトを基礎として、それにライティングやアニメーション、カメラワークの
要素が付加され、最終的にレンダリングを通して描画される。
3DCGオブジェクトを制作する作業のこと。
3DCGオブジェクトは1次元(点/Vertex)、2次元(線/Edge)、3次元(面/Polygon)のデータの集合体としてデータに保持されている。
特にPolygonは最小限かつ最大限の三角形にて構成される。
MeshはPolygonの集合体で構成される。
例えば、平面の四角形(Plane)はPolygonが2つによって構成されるMeshだと言える。
3DCGオブジェクトの精密さ、細かさが増すにつれて、細部まで表現できる反面、データが肥大化する。
3DCGオブジェクトのシミュレートにはサーフェス/ソリッド/(ワイヤーフレーム)モデルなどがあり3DCAD系のソフトウェア以外はモデリングの手法としてサーフェスモデル/モデリングの手法が用いられることが多くその中に「ポリゴンモデリング」、「自由曲面モデリング」、「スカルプトモデリング」がある。
サーフェスモデル/モデリングは名前の通り表面属性を取り扱う手法であり、その対象としてソリッドモデル/モデリングはオブジェクトの中身属性も取り扱う手法となっており、重心や重量などをシミュレートすることができる。
ポリゴンモデリングでは基本形状となるPrimitiveを利用して、Extrudeなどの機能を駆使してでモデリングを行うことが多かったが、近年はPCのスペック向上とソフトウェアの進化によりスカルプティングも1つのソフトウェアで行えることが増えてきている。
(ただし、専用のソフトウェアと比べた場合に操作性や機能性に欠ける。)
テクスチャ(画像)を3DCGオブジェクトに適用(Wrap)する作業のこと。
テクスチャを制作するためにはいつかの手法/ツールが存在している。
3DCGオブジェクトに画像をそのまま適応しても意図した通りには
貼り付けることができてないので、一度UV展開したテクスチャデータを用いて
PhotoShop等で制作する手法が取られることもあるが、ペイントツールや他のマッピング等で直接Wrap処理を行う場合もある。
テクスチャ/テクスチャマップには様々な種類があるが、全てのテクスチャマップが必ず必要というわけではない。
※ニュアンスは多少差異があるので要注意である。
カラーマップ(Color Map / Diffuse Map)
透明マップ(Transparency Map)
反射マップ(Specular Map)
法線マップ(Bump Map/Displacement Map/Normal Map)
陰影マップ(Shadow Map)
発光マップ(Emission Map)
間接光マップ(AO = Ambient Occlusion)
etc...
色情報だけじゃない!テクスチャーマッピングの種類を解説
色情報だけじゃない!テクスチャーマッピングの種類を解説 その2
"テクスチャ"という言葉にはColorMapの認識が強い傾向があり、その他のマップデータは主にマテリアル設定の際に使用される。
近年、この工程は重要になってきており、リアルな描画を表現するために、またレンダリング処理の負荷を軽減するためににSubstanceフォーマットが登場しており、使用できるソフトウェアも増えてきている。
同時にHDR形式の画像は重要になっている。
シェーディングは陰影をつける作業のことだが、3DCGオブジェクトの質感を調整する作業としての認識で良い。
実世界のオブジェクト同様に、オブジェクトの質感は光があたってこそ表現される。
従来はライティング手法のLambertやPhongモデルを用いられることが一般的であったが、近年はPBR(Physical Based Rendring)が主流となっているため、少しずつ要素や概念が変わってきている。
物理ベースレンダリングを柔らかく説明してみる(1)
物理ベースレンダリング -基礎編-
PBRは従来のライティングモデルとは異なり、物理的な根拠を基準としたモデルを採用しているためHDRI用の環境マップ(Environment Map)が別途必要となる。
またその他にもMetalness MapやRoughness Mapを採用しており、従来の必要とされるMapモデルの理論が変わってきている。
物理的に正しい!?PBR(フィジカルベースドレンダリング)基礎編!
シェーディングの概念は近年重要となってきており、レンダリングパイプラインの概念を知っておく必要がある。
3DCGの需要は、高グラフィックなリアルタイムレンダリングへと向かっている。
3DCGモデルやカメラにモーションを付ける作業のこと。
3DCGキャラクターの場合、スケルトンモデル/ボーンを設定してリギングやスキニングという作業が必要となる。
腕や肩、首といったパーツの動作は、それぞれソフトウェア独自のアルゴリズムによって保管されるため、破綻のないモデリング作業やスケルトンモデルの調整作業が重要となる。
今となっては、多くのモーションデータがネット上で公開されているため、基本的なアニメーションを付けることは容易となっている。
オリジナルのモーションや精度の高いモーションを適用する場合、モーションキャプチャのデータを利用することもある。
空間の光源を調整する作業のこと。
ライティングにはソフトウェアごとに種類も使い方も異なるが基本的に以下のものが用意されている。
並行光源(Directional Light)
点光源(Spot Light/ Cone Light)
環境光源(Environment Light / Ambient Light)
平面/線光源
3点照明など実写撮影のライティングの知識があると良いが、プラスαで3DCGの空間を表現するライティングの知識も必要となる。
ライティングの処理は非常に重いため、静的なオブジェクトの陰影などはBakeする作業するなどして軽量化する手法が取られることが多い。
これまでに作業を行った3Dの世界をカメラ(ViewPort)で切り取った画(2D)に描画する作業のこと。
3Dから2Dに変換するレンダリング処理には様々なアルゴリズムが存在しており、近年ではレイトレーシングという手法が注目されている。
またレンダリングには、プリレンダリングとリアルタイムレンダリングの2種類がある。
3DCGのソフトウェアにはどちらも採用している場合が多いが、全ての工程・結果をリアルタイムに反映しながらプレビューで確認して作業するにはPCに高付加がかかるため、それぞれのパートで快適に作業できるよう機能が切り分けられて、リアルタイムにレンダリングされている場合が多い。
静止画や動画に書き出す場合は、最終的にすべての作業結果をシミュレートして、プリレンダリングするフローが用いられる。
レンダリングは非常に時間がかかる作業になりやすいため、制作過程において不要なオブジェクトデータを削除したり、
レンダリングの設定を最適化しておく必要がある。
レンダリングした画を加工する作業で、いわゆるEffectの認識が一般的である。
※この作業より前の段階でコンポジットという作業が入る場合もあるが、プロジェクトや作業内容によっては変動的になるためここでは割愛している。
ColorGradingやMotionBlur、Distortion、Glow、Anti-Aliasing、Camera-Depth、SSAOなどがあげられる。
ソフトウェアによってはある程度この機能が同梱されている場合もあり、ポストプロセスが差し込まれるタイミングが異なっているようにも感じる。
というのも近年のPCスペックとソフトウェアのレンダリングアルゴリズムの向上によって、リアルタイムレンダリング処理が可能となり部分的に施されているためである
この話は、レンダリングパイプラインやレンダリングのアルゴリズムに通ずることであるため、別途学習が必要となる。
以上、基本的なプロセス・フローとなる。