(約 4,300文字の記事です。)
Blenderのハイポリ表現においてフラットシェードとスムーズシェードではポリゴン数が16倍も違うことを前回の記事で紹介した。ディスプレイ上で最終完成となるデジタルメディア用途の場合に限るが、Zbrushにはないスムーズシェードによって「あなたに必要な最大ポリゴン数の16分の1のポリゴン数」でBlender上で作業ができることが分かった。
ではスムーズシェードで作業した場合にポリゴン数不足による影響が出るのか、あるいは十分問題なくモデルを完成させられるのか?
今回のテーマはノーマルマップ、陰影による嘘の立体表現とポリゴン数の関係。これを探ってみた。
ノーマルマップの表現なので残念ながら3Dプリンタ用のフィギュア造型にはあまり関係がない。
あとゲームキャラ用のモデラーにとっては割と当たり前の前提知識を書いています。が当記事の読者はフィギュア原型師など「テクスチャ」に関わらないモデリング専門の人が多いため、そういう人に分かりやすく紹介する内容となっています😊
前回の記事はこちら。
Blender 3.6 で快適操作できるポリゴン数
以下では基本的にスムーズシェード表示で作業している。
(前提)スムーズシェード=細分化2回分の表現力
最終的に欲しいポリゴン数の16分の1、つまり細分化2回分をロールバックしたときのポリゴン数のモデルにスムーズシェードを適用すれば、ほぼ「欲しいディティール」を表現できることを前回の記事で解説した。
では具体的にはどれくらいのポリゴン数ならこれをBlender上で動作させられるのか。エクセルで表にしてみた。
作業開始時のポリゴン数を1万ポリからスタートした場合、細分化レベルを1つ上げるごとにポリゴン数が4のN乗倍に膨らんでいく。同様に2, 3, ……, 10, 15万ポリを横に並べた。600万ポリを超える数字を赤で示している。
2万ポリ未満の作業開始では4回も細分化できる
緑のエリアを見ると1万~2万ポリから作業をした場合、4~5回まで細分化可能だ。1万~2万ポリは作業開始時のベースメッシュとしては問題ないほどのロー or ミドルポリだと思う。
ただしスカルプトするには1万ポリはちょっと少ない。細部を作れない。なのですぐに細分化レベルを上げることになる。
スザンヌの場合は7,800ポリの次は3万1,000ポリになるので次に進もう。
3万~9万ポリスタートならば細分化は3回まで
スザンヌを細分化して3万1,000ポリにした。ここからスカルプトすると仮定しよう。
この段階でかなりのハイポリ表現ができる。スカルプト開始時には問題ないレベルだろう。3万ポリで作業スタート時には3回まで細分化できる。スザンヌの場合201万ポリになった。
十分に細部が表現できていると思う。ここら辺の判断は各自で確かめてみて欲しい。
スザンヌの場合、201万ポリから細分化すると806万ポリになる。ところが私の環境ではマルチレゾリューションモディファイアの細分化ボタンを押して7秒ほど待てばそのままスカルプトを継続できる。普通のブラシだときちんと動作する。
さすがに800万ポリともなると色んな表現が滑らかだ。
ただし処理が重いブラシの場合には多少もたつきが生じる。ここをどう考えるかは各自の判断となる。
私のPCではやはり800万ポリだと色んなブラシがもたつく。ちょっとストレスを感じる。なのでセオリー通り600万ポリが一つの基準になると感じた。この場合だと201万ポリがスカルプト作業時の上限となる。
ただしスムーズシェード表示なので201万x4x4=3,216万ポリ相当のフラットシェード時の表現力になっている点に注目したい。
初期で9万ポリまでなら細分化は3回できる
ただしスザンヌの場合はたまたま約3万ポリからのスタートだったが、部分的にポリ割りを替えて10万ポリに近づけてから細分化すればギリギリの600万ポリを狙うこともできる。こういうちょっとした工夫は必要になるが、スカルプトできないことに比べれば軽微だろう。単なるノウハウの範囲だ。
上の表で考えれば初期のポリゴン数を1万~2万ポリとするか3万~9万ポリとするかで細分化の回数の上限が決まる。3, 4回は細分化できることになる。
デジタルメディアでの1キャラのポリゴン総数は?
これは業界にもよるので一概には言えない。だがゲーム用途だと、一例として、主人公や大ボスクラスだと3万ポリが最大値で他の雑魚キャラはもっとポリゴン数が少ないようだ、参考までに。(詳細は各自でご確認下さい。)私が調べた限りではデジタルメディア用途の1キャラ当たりのポリゴン総数は1万~9万ポリの範囲に収まると感じた。9万ポリ以上で運用している例はかなり稀で、そういう例外は極わずかだ。
1オブジェクトのポリゴン数であって「1キャラのポリゴン総数」ではない
またここでも重要なことだが、600万ポリという基準はBlenderが軽く動作する「1オブジェクト当たりのポリゴン数」の話だ。1キャラ当たりのポリゴン総数ではない。ここ重要。
なのでBlenderでメッシュの一部を別のオブジェクトに分離すれば、さらに細分化を数段上げることができる。
1キャラを1メッシュで仕上げることはほぼ皆無
当たり前の話で、仮に体をワンメッシュとしても、顔、ブーツ、服、髪、これらくらいはオブジェクト分けするのが当たり前だ。そして各オブジェクトのポリゴンの初期値が9万ポリは、ちょっと考えにくい。仮に2万ポリ以下であれば4回も細分化できる。
ということはたいていの部分を4回も細分化してスカルプトできるだけの能力がBlenderには備わっていることになる。
そう考えると、3Dプリント用途の造型であっても、もしかしたらBlenderで十分に形を出せる可能性すらある。だが今回はデジタルメディア用途の話に限定しているので割愛。ただそのポテンシャルはある気がする。恐らく肝はマルチレゾリューション・モディファイアの「3Dビュー表示時とスカルプト時で細分化レベルを自動切り替えできる点」だと思っている。ハイポリ時のPC負荷軽減対策があるという点。
スムーズシェードのハイポリをノーマルマップにできるか?
では600万ポリ付近のハイポリでスカルプトしたメッシュを使ってサブスタンス3Dペインターでローポリモデルにノーマルマップをベイクしたらどういった見栄えになるのかテストしてみた。
ここで重要になるのが「ハイポリメッシュのFBX作成時にフラットシェードなのかスムーズシェードなのか」だ。
実はノーマルマップにベイクする以前に、元のメッシュがフラットシェード表示のままFBXにしてエクスポートすれば、サブスタンス3Dペインターでベイクしたときにカクカクのノーマルマップが出来上がる。詳細は後述。
正しくスムーズシェードでハイポリメッシュを出力してベイクしてみると以下のように滑らかな仕上がりになった。画像はスザンヌのおでこ。
右図のノーマルマップの斜め直線はローポリゆえのポリゴンの境界線だ。当然ながらビューポート上では視認できず滑らかな仕上がり(左図)。鱗状な理由はブラシの遅延。(というか最適な設定値に煮詰めずテストしたため。ノイズではない。)
ノーマルマップは2,048ピクセル四方でテストしてみた。それ以上でも特に変わらず、それ以下だとピクセル数の不足によるブロックノイズが徐々に現れ始める。ピクセル不足(解像度不足)の問題はまぁ当たり前の話なので除外。2,048ピクセル四方で話を進める。
当然ながら十分に滑らかだ。1枚のポリゴン面をあからさまに視認できるほど荒くはない。これで201万ポリな表現力を500ポリで表現できるわけだ。
元の形状は500ポリのローポリなので、他の表現はノーマルマップによる嘘の陰影表現だということが横から見るとよく分かる。
(コラム)もしフラットシェードでFBXを作成すると?
【失敗例】フラットシェードなハイポリFBXではカクカク
以下は私が操作を誤って「フラットシェード」のままFBX出力したハイポリメッシュをノーマルマップ化して500ポリのスザンヌに適用した例だ。201万ポリのメッシュのフラットシェードな状態。1枚のポリゴン面をしっかりと視認できる。まるで拡大表示した荒い画像のような規則的な四角いポリゴン面が視認できる。
フラットシェードなので当然1つのポリゴンの境界が見えるし、ノーマルマップでもそれが忠実に再現されている。
もしこのミスに気付かなければ残念ながらBlenderのハイポリスカルプトでノーマルマップ作成は現実的ではない、という誤った結論になる所だった。危ない危ない😱
最大9,600万ポリ相当の表現力のノーマルマップ
Blender 3.6では600万ポリのメッシュに2回分の細分化相当の表現力がある。つまり600万x4x4=9,600万ポリ相当のハイポリなノーマルマップをサブスタンス3Dペインターで作成できることが分かった。
これって、デジタルメディア用途の、1万~9万ポリのキャラクターに対しては十分に高精細なノーマルマップが作れるということではないだろうか?つまりBlenderのスカルプト機能でノーマルマップ作成まではカバーできるということだ。
となるとデジタルメディア用途の場合ではZbrushとBlenderとの比較は、ポリゴン数以外の分野での比較になる。例えば使い勝手やワークフローの兼ね合いなどだ。
デジタルメディア用途ではハイポリの差は出ないかも
一般的にはZbrushはハイポリに強く、Blenderはハイポリに弱いと言われているが、ここまで分析してみると、どうやらデジタルメディア用途においてはハイポリの有利/不利はなさそうだというのが私の結論。
次回の最終回の記事で結論をまとめる予定。お楽しみに😊
続きはこちら。
今回の創作活動は約3時間30分(累積 約3,354時間)
(916回目のブログ更新)
筆者はAmazonアソシエイト・プログラムに参加しています。(Amazon様の商品を宣伝することで紹介料をAmazon様から頂けるという大変ありがたい仕組みのこと。)
以下の商品名や画像アイコンをクリックしてからAmazon様で何かお買物をして頂ければそのご購入総額の1~2%が私に寄付されます。クリック後に別の商品のご購入でもOKです!誰が何を買ったかは私に通知されませんのでご安心下さい😊
また当サイトは楽天アフィリエイト、バリューコマース Yahoo!ショッピング アフィリエイト、および第三者配信の広告サービス(Googleアドセンス)を利用しています。