Blender ウォッチング

3DCGの謎用語を解説! 「スカルプト」で毛は生えないし「リメッシュ」では酔えない

「ダイナミックトポロジー」「ノーマルマップ」「ビルボード」なども解説

 本連載では、無料の高機能3Dモデリングツール「Blender」の使い方や関連情報を幅広くお伝えします。

 今回は3Dモデルを直感的に作成可能なスカルプトと、モデルの最適化(+α)に関する言葉について解説してみました。この2つは相対する物に思われますが、現状スカルプトモデルをリアルタイム処理環境に持ってくるには最適化が不可欠であるためです。

「スカルプト」で作成した「ハイポリ」モデルを手動「リメッシュ」し、「ローポリ」モデルを作成後、「ノーマルマップ」を「ベイク」……判らない単語があるなら本文へGO!

ローポリ

 ローポリゴンの略。ポリゴン数が比較的に少なめなこと。

 主にリソースの厳しい、リアルタイムゲーム環境などでよく使用される。対象の環境によってリソースの限界が変わるため、具体的なポリゴン数による定義はない。

ハイポリ

 ハイポリゴンの略。ポリゴン数が比較的に多めなこと。スカルプトにより作成されたモデルを指す文脈でよく使用されている。

ハイポリモデル(左)とローポリモデル(右)の例。ハイポリはスカルプトだけとは限らない。ちなみにハイポリシャリは30万頂点、ローポリシャリは98頂点

スカルプト

 3DCGモデルのモデリング方法の1つ。名前通り彫刻するように、直感的、かつ構造をあまり意識せずモデリングできる。それなりのディテールのモデルを作成するには、それなりの性能のPCが必要になること、ゲームやアニメーションモデルに落とし込むには、リメッシュベイクなどでローポリモデル化する必要が生じること、などが欠点。

スカルプトモデルの例。前はあまりかっこよくない

ダイナミックトポロジー

 前述どおり、スカルプトにはそれなりのマシンパワーが要求される。それを軽減し、構造への意識を減らすための「Blender」の機能の1つが、このダイナミックトポロジー(DynTopo)である。

 動的にスカルプトでモデルを変形した部分のみ細分化、そしてなだらかになった部分を統合することで、使用する面数を減らす。大まかなモデルが出来た後は、細分化のみを有効化しディテールを作り込むことも可能。

 ただし出来上がったモデルはやはり用途によりリメッシュベイクの必要が出てくる。

ダイナミックトポロジーの例。上の円と下の立方体の、面の細かさの違いに注目していただきたい

リメッシュ

 メッシュ構造を作り直すこと。リトポロジーとも。主に均一なメッシュにして変形を綺麗にしたり、細部をテクスチャにベイクした「ノーマルマップ」などに置き換え、面数を削減する用途などに使用される。

 「Blender」には自動でリメッシュを行ってくれる「リメッシャー」のほか、「スナップ」ツールや「Bsurfaces」アドオンなどを使用して手動で行う方法がある(一番最初の画像)。残念ながら現時点では自動リメッシュでは手動ほど綺麗にはならない。

 「v3.2」の時点でリメッシャーはスカルプトモードのツールバー以外にも、モディファイアーの[オブジェクトデータプロパティ]-[リメッシュ]にも実装されている。全部で5つの方法があるので(とはいえあまり実用には向かない物もあるが)、試してみるなら、まずは元データを壊さない[リメッシュ]モディファイアーから始めるのがいいだろう。

[リメッシュ]モディファイアーの「シャープ」でリメッシュした例。なお、下側の[オブジェクトデータプロパティ]-[リメッシュ]の[四角面]はモデルによっては動作しないことがある

マルチレゾリューション

 モデルの解像度(細分化レベル)を複数用意し、ユーザーが変更できる機能。上記のスカルプト時の重さと、リメッシュの手間の問題の両方を解決できる機能の1つ。

 各細分化レベルで行った編集結果は他の細分化レベルのモデルにも可能な範囲で反映される。

 「Blender」ではモディファイアーの形で提供され、ユーザーはモディファイアーパネル上の[細分化]パネル上のボタンを使用する。

 細分化方法には、「Catmull-Clark」アルゴリズムで細分化する[スムーズ]([細分化]ボタン)と、一切のスムージング処理を行わない[シンプル]、スムージングして細分化する[リニア]がある。

 ただし、構造を無視してモデリングするには限界があり、特にローポリモデルを意識し、スカルプトで加えたディテールをノーマルマップベイクして利用する場合では、実際に運用するローポリモデルを作成した後、このモディファイアーにより[リニア]で分割し、スカルプトでディテールを加えることを推奨する。

マルチレゾリューションはレベル間で変更が共有される

ノーマルマップ

 色の「RGB」で法線ベクトルの「XYZ」軸を表現し、法線による疑似的な凹凸の表現を行うためのテクスチャマップ。高さのみのバンプに比べ、表現力が高くなっている。

ベイク

 重い計算処理の結果をファイルや画像に出力しておき、後で利用できるようにする機能。物理演算機能や、レンダリング機能で使用される。

 スカルプトで作成したハイポリモデルのディテールを「ノーマルマップ」の形で出力し、ローポリモデルで利用するのにも利用される。

ノーマルマップのベイク例。手順は割愛するが、重要な部分は赤線で囲んだので機会があれば試していただきたい

スプライト

 画像データをカメラに平行に表示した物。大昔のゲームではハードウェアで実装されていたが、3Dグラフィック用ハードウェアが一般的になった現在では、平面ポリゴンにアルファ透過テクスチャを設定し、カメラに向けた物が使用される。

ビルボード

 看板の意味であるが、3DCGではカメラに向けて回転する軸(「Blender」ではZ軸)を1つにしたスプライトを意味する。要は常にこちらを向く立て看板である。

 森林など、特に遠景の形状を省略するのに使用される。当然ながら厚みなどはないため、真上から見下ろす視点の場合は別の方法で表現する必要がある。

ビルボードの使用例。ジオメトリノードではインスタンスコンストレイントは動作しないので、ベクトル演算でカメラに向ける必要がある