Knowledge / 3D CG / Overview(全体像と学習フロー) • 13 min read
Overview(全体像と学習フロー)
目次
全体像
3DCGのモデル作成から、実際にアニメやゲームで利用されるまでの工程は以下の通りです。
- モデリング
- UV展開
- テクスチャリング
- リギング
- ブレンドシェイプ
- シェーディング
- エフェクト(プロシージャル)
- アニメーション
- ステートマシン(※ゲームの場合)
- ライティング
- カメラ制御
- ポストプロセス、コンポジション
- レンダリング
流派によって若干順番が前後するかもしれませんが、大体このような順番です。
各工程の作業量は、求めるクオリティによって変わりますが、工程自体はクオリティ関係なく発生します。
これらを、パフォーマンスを考えながら、納期に収まるように、クオリティ追求する必要があります。
そして、前にある工程は、基本的に後ろにある工程すべてに配慮する必要があります。 (システム開発と同じですね)
一つずつ簡単に触れていきます。
モデリング
おそらく大半の人が3Dと聞いて思い浮かべるであろう作業です。
3次元の物体の表面上に、制御可能な点を置いて、それらを移動することで形を作っていきます。
2026年現在、3Dモデリングソフトは主にPCで動きますが、PCの画面は平面なので、一度に操作できるベクトル情報は2つまでになります。
つまり、納得のいく位置まで点を移動させるためには、色々な角度に視点を切り替えつつ調整しなくてはならない、ということです。
これが原因で、特に微妙な曲面を含むモデルにおいて、この工程は恐ろしく時間がかかります。
そして、どれだけ時間をかけたとしても、モデリングだけであなた自身が納得するものを作り上げることは、まずできません。(3DCGの場合)
アウトプットのクオリティアップおよび効率化には、モデリングに費やした時間と同じかそれ以上に、後続工程の把握が不可欠です。
UV展開
モデリングした3次元物体は、そのままだとただの座標情報の集まりです。
頂点座標をつないだ「面」の情報はありますが、初期状態の面は、色情報を持っていません。
面に色をつけて最終的な3DCGにしますが、つけたい色が1色ではなく、複雑な絵であるということが多々あります。
平面の絵と3次元のモデルを結び付けて、モデルのどこに絵のどの部分を貼るのか?の準備をするのがUV展開です。
数学で、牛乳パックをハサミで切って開いて直方体の構造を確認する授業があったと思いますが、あれのイメージです。
UVが整っていないと、3Dがぐちゃっとなることがあります。(特にパターンテクスチャなどで顕著)
(マテリアル分割)
さりげなく面倒な作業ですが、練度が関係する作業ではないので大したことはないです。
モデルの面のうち、似たような質感を割り当てたい箇所を選択して、グループにまとめます。
テクスチャリング
モデルに貼る絵(テクスチャ)を用意する工程です。
「書き影(どんな時も発生するアニメ調特有のウソの影)」が無いという点で、リアル調の方がそれっぽさにたどり着くまでは早いです。
その辺に無数に散らばっている無料のマテリアルテクスチャを読み込むだけで完了します。
ただ、使い込まれた傷など、物のコンテクストまで再現しようとするとリアル調もしっかり大変になっていきます。
また、モデリングが微妙な場合、テクスチャを貼っている最中にモデルの破綻に気づくことが非常に頻繁に起こります。
そうなるとモデリングまで逆戻りです。
リギング
アニメーションしないモデルなら不要の工程です。
主に筋肉で動いたり、風に揺られて動く布なんかで、この工程が必要になります。
現実の体は、筋肉の収縮で骨が動きますが、3DCGは骨を操作して、面(メッシュ)は骨についていく形で動きます。
- どの骨とどの骨がつながっているか
- どの辺りの頂点座標は、どの骨につられてどれだけ動くか
これらを定義する作業がリギングです。
モデリングで固定の形を作って、それを無理やり動かす訳なので、まぁうまくいきません。
肘を曲げたら腕の内側の肉がめり込んだり、肩を上げたら肩が消失したりします。
リギングの調整でどうにもならない時があり、その時はモデリングまで逆戻りです。
ブレンドシェイプ
以上で3DCGの造形は完成です。
ただし、要素自体が変化しない前提であれば。
人物の表情なんかが分かりやすい例ですが、例えばアニメーションの中で怒りの表情をさせたい時、モデリング同様に頂点を動かさなくてはいけないというのは、非効率です。
表情筋を動かすための骨を仕込む方法もありますが、プリセット的に変形を登録できると便利ですよね?
そこで、部位ごとに頂点移動の組み合わせをスタートを0%、ゴールを100%として登録しておいて、必要に応じて数値で呼び出してモデルを変形できるのがブレンドシェイプです。
つまり「追加のモデリングができるよ。やったね!」ということです。
シェーディング
光に対する反応を計算することで、質感を作る作業です。
必然的にベクトル合成に詳しくなれます。
工夫によって、以下のようなことができます。
- 時間経過で反射が変わるようにすることで、モデルを動かさずに水が流れているようなアニメーションを作る
- 輪郭線の描画のされ方や、色を閾値で集約することで、同じモデルの画風を変換する
見た目がとっつきづらいですが、慣れるとパターンに入るのと、チュートリアルを真似ているうちから「すごいことをやってる」感を味わえます。
エフェクト(プロシージャル)
厳密には元のモデルと無関係ですが、よい見せ方には欠かせないのと、Blenderであればエフェクトのベースになっているプロシージャル(ジオメトリノード)がモデリングの効率化と切っても切れない関係なので、組み込んでおきます。
プロシージャルは、座標計算の連続を定義して、最終的なアウトプットモデルを作り上げる方法です。
以下のようなことができます。
- 画面中に大量発生させたポイントに、小さな粒を割り当てることで、光の粒子(パーティクル)エフェクトを作る
- 画面中に大量発生させたポイントに、建物モデルを割り当てることで、大きな街並みを作る
- 所定の手続きで変換(立方体をワンクリックできれいな球にしたり、手書きしたカーブを髪の束にしたり)
アニメーション
モデルに動きをつけます。
「この瞬間は、原点または間接がこの位置・この角度」を打ち込んでいき、それに物理演算要素が加わって最終的な画面になります。
一応フレームの間は、プログラムが補完してくれるので、fpsの数だけ作画(打ち込み)が必要ということはないです。
それでも、打ち込みは、ひたすらに地道な作業です。 (しかもアニメーションが良くないと、カメラワークでも挽回できません)
アニメーションの内容(そして予算)にもよりますが、最近はモーションアクターにボディスーツを着せてモーションキャプチャする方法がメジャーかと思います。
ステートマシン構築
用意したアニメーション素材を、状態変化にあわせて切り替えます。
ほとんどは、想定通り回路が組めているか?というプログラムの世界ですが、アニメーション同士をブレンドさせたりできるので、その知識があるかどうかで作成が必要なアニメーション素材の種類が変わってきたりします。
ライティング
3点ライティングとか、レンブラントライトとかですね。
せっかくモデルもテクスチャもよくても、光の当て方で台無しになってしまいます。
制御項目は少ないですが、センスが重要です。
カメラ制御
カメラワークです。
任意の場所に置いたり、物に追従するように設定できます。
とりあえず制御すること自体は、それほど複雑でないです。
センスは……ライティングと合わせて、『Vision』を読みましょう。
コンポジション、ポストプロセス
デジタルのイラストやレタッチをする人にはお馴染みのやつです。
画面全体の色調補正であったり、コントラストなどの強さを調整します。
光るオブジェクトの拡散度合いなんかも調整できます。
田園風景を「おーいお茶」の世界からミッドサマーやサイケ空間に変える力があるといえば、重要性は伝わると思います。
ただ、あまり遡って問題が発生する所ではないかな。
レンダリング
最終的な現像です。
映像制作の場合、大体の環境において、制作作業中のビューポートの見た目は、作業効率のために解像度などを下げています。
そのため、最終的なアウトプットは、現像してみないと分かりません。
ハイクオリティなアニメーションの現像には何時間もかかる場合があるので、手戻りを少なくするためには、現像の知識が必要になります。
ゲームの場合、ユーザー操作などで引きのショットになった際、描画範囲が広がります。
描画範囲が広がると、読み込まないといけないモデルの数が増え、1モデルあたりに必要な解像度は下がります。
しかし、広がる前に映っていたモデルの容量は、勝手には下がりません。
大量の群衆が映るカットで、一人しか映っていない時と同じ人物モデルを全員に適用すると処理能力が必要以上に使われてしまうので、パフォーマンスを最適化するために、カメラからの距離に応じて読み込むモデルを変えるLODと呼ばれる手法が使われます。
LODの正体は、元のモデルに近い形をもつローポリゴンのモデルです。
つまり「追加のモデリングができるよ。やったね!」ということです。
学習フロー
まずは、一連の流れを経験します。
凝ったモデルでスタートすると確実に挫折するので、シンプルなモデルで始めることをお勧めします。
日本語で有名なのは、ワニでもわかるBlender+VRChatシリーズですね。
Blenderのバージョンが古いですが、全体の流れは変わらないので、参考になります。
一連の流れを経験した後、何から着手すべきか?
一連の流れを経験した後は、自分がエキスパートになりたい分野の学習を進めるとよいと思いますが、 もしも一人ないし少人数で3Dを使ったアニメーションやゲームを制作したいと思っている場合について意見を述べます。
モデリングから始めたくなると思いますが、それは罠です。
最初に注力すべきは、シェーディングです。
これには大きく2つ理由があります。
理由その1:コスパ
全体像を見てもらえれば分かるように、3DCGは、それぞれに専門家がいるような工程が10以上組み合わさって出来ています。
つまり、限られた人的リソースで、ある程度のクオリティを追求しようと思った場合、力の抜きどころを考える必要があります。
ただでさえ後半に経験ありきの総合演出が控えているので、モデリングに使えるリソースというのは、ほとんど無いくらいに考えておくべきです。
モデリングは、アセットが大量に出回っているので、よっぽどオリジナルなものを作ろうとしていない限り、使えるものは既にあります。
ここでいう「オリジナリティ」は、コーディネートレベルの話でなく、マジで存在しないのレベルを指します。
そこで色々なアセットを集めて利用することになりますが、その際にちぐはぐ感が出ないようにまとめるのがシェーディングになります。
また、シェーディングの知識が身につくと、エフェクトが作れるようになります。
造形はきれいだけど演出がないアニメ・ゲームと、造形は若干雑だけど演出があるアニメ・ゲーム、どちらが良いか。
意見の分かれる所だと思いますが、個人的には後者の方がエンタメとしてベターだと思います。
理由その2:正しいモデリングは、後続工程を知らないと分からない
モデリングの終了 = モデリングの結果かと言うと、そうではありません。
モデリングの結果が本当の意味で出るのは、最終的にアニメやゲームの中で使われた時です。
モデリングは、とても時間がかかるものでありながら、
モデリングの時は問題なく見えたものが、後続工程で破綻することが非常によくあります。
曲面上のNpole避け、関節配置など、モデリングのベストプラクティスは色々ありますが、守らなかった時にどうなるのか?を自分自身で経験しておくことで、それらのテクニックが使えるようになると思います。
ということで、全工程の真ん中あたりから知識を蓄えていく、というのが個人的なオススメ学習フローです。
学習以前の問題
これも一人ないし少人数で3Dアニメーションやゲームを制作したいと思っている人向けですが、
そもそも自作は最終手段だと思った方が事故が少なく済みます。
モデル、テクスチャ、メジャーな動物のリグ、アニメーション、シェーダー、エフェクト、ライティング…
すべてアセットが出回っています。
- 企画ができたら、必要な材料をリストアップする
- さぼれる所を判断する
- 近しい既存アセットでプロトタイピングをして、成立性をチェックする
- どうしても妥協できない部分について、**他のアセットのレベルに合わせて(ここ重要)**調整する
こうしないと絶対に終わりません。(自分への戒めも兼ねて)