画力がないなら立体を作ればいい

3DCGでワンシーンメイキング(オリジナル小説の挿絵作り)

Zbrushのサブディビジョンレベル不要論?

(約 6,500文字の記事です。)
f:id:yamato-tsukasa:20190222170706p:plain
さて、プラグイン開発もとりあえず一区切りにして、Zbrushをようやく触れるようになった。久しぶりのペンタブでのスカルプト練習。今までZbrushのプラグインという、内側から見た視点ばかりだったが、今回はユーザーとしての外側からの目線だ。そして見つけた不便をプラグインで穴埋めし、ようやく戻ってきた。

2019/10/11 追記

この記事は、テクスチャをポリペイントから作ることを知らなかった頃の記事です。今はそれができるので、その視点から言うと「ディビジョンレベルなしだとつらい」ということに。

f:id:yamato-tsukasa:20191007203214p:plain

といっても、ローポリベースで作業して、ポリペイントを作る段階になって「一時的に」ディバイドをかけてハイポリにし、テクスチャ作成後には再びローレベルに落としてハイレベル削除するのですが。
それ以外の場合には、やはりディビジョンレベルありではNGな操作が多くイライラしますね。基本的には確定させたメッシュで運用し、一時的にレベルを与える、という使い方が一番気楽かもね。もちろんツールのバックアップやZPRのこまめなリネーム保存などが前提になりますが、保険の意味でも役立つので、結局はたまにしかディビジョンレベルを与えない、というのが今の私の使い方。

2019/03/03 追記1

プロジェクトオールで元の造形を転写する場合にはディビジョンレベル低から転写して徐々にディビジョンレベルを上げていく方が転写精度が上がる。というのもプロジェクト(転写)は最も近い頂点に対してのみ行われるので、遠い頂点には転写されない。だが低レベルでは頂点数が少ないため多少遠くても「最も近い頂点」となり得るので転写の効力が現れる。なので低レベルから徐々に転写を繰り返すことで転写の精度を上げられるのだ。(転写の誤差を減らすことができる。)

なのでディバイドにも価値がある。とはいえ、一過性の、瞬間的なディビジョンレベルなので、やはりずっとディビジョンレベルを維持すべきかどうかは難しい問題だ。

2019/03/03 追記2

ハイポリでテクスチャやノーマルマップを作った後にローポリのメッシュでFBXなどで他のソフトに移植する場合。この場合には低ディビジョンレベルと高ディビジョンレベルとの往復に非常に意味がある。ハイポリで各種マップを生成し、メッシュ自体はローポリでFBX出力する。テクスチャやマップ類はハイポリで作るが、メッシュ自体はローポリなので軽い。これは主にゲームエンジンへの出力時に役立つだろう。UE4を勉強し始めて痛感。

2019/03/03時点での結論

やはりディビジョンレベルは必要(笑)だが使い方によっては不要。ここは各自のZbrushの運用方法に依存する。フィギュア造形だけなら不要だと思うし、UE4などのローポリ必須なゲーム用途なら必須。なので必要ならば活用し、不要なら使わない、という普遍的な結論です(爆)

以下、過去ログです。



Zbrushの違和感

で、久々にスカルプトしていて気付いたこと。ディビジョンレベルが別れていることのメリットって何だ?これである。
今までは何となく分かっていた。だが、久々に使ってみて、シンプルな視点で考えてみたら、何かおかしいのだ。

ディビジョンレベルが残っていると出来ないことが結構ある

いわゆるリトポ系が全滅。当然、スカルプトリスのパレットナイフも使えない。断面形状はともかくすぱっとメッシュを2分割しようと思ってパレットナイフを使うと警告ダイアログで目が点になる。Zmodelerも使えないとは!何かおかしいよ!自然じゃない。

Zbrushのディビジョンレベルって必要か?何のためにあるの?しばらくスカルプトしていなかったが故のシンプルな疑問。

で、考えてみた結果、驚きの事実に気が付いた!!!

ディビジョンレベルは、実はハイポリからローポリへのプロジェクトオールだった!

これに気付いたときに驚いたよ。だって、ローポリ状態でスムーズブラシで綺麗にならしても、ハイポリまでディビジョンレベルを上げてから戻ってくると、再び面が荒れているんだもの。

Div 5にしてブラシをかけた。
f:id:yamato-tsukasa:20190222172433p:plain

そしてDiv 1に戻した。
f:id:yamato-tsukasa:20190222172455p:plain

んで、スムーズブラシで滑らかにした。
f:id:yamato-tsukasa:20190222172516p:plain

そしてDiV 5にした。
f:id:yamato-tsukasa:20190222172535p:plain

さて、ここでDiv 1に戻したらどうなると思う?














普通は滑らかな面に戻っているはずだと思うでしょ?









ところが違った!

f:id:yamato-tsukasa:20190222172608p:plain

荒れているのよ!再び!!

f:id:yamato-tsukasa:20190222172752p:plain


これはおかしいぞ?と思って考えてみたら、ディビジョンレベルの往復とは、実はハイポリからローポリへのプロジェクトオールだったって事なのね。それなら合点がいく。ローポリがつるんとしていてもハイポリの情報が残っているわけだからプロジェクトオールで低めの山が再現されるのは当たり前だ。

同様にいくらローポリのレベルで面を綺麗に整えても、ハイポリの情報はハイポリ状態でしか編集できないから、ハイポリの面荒れはハイポリ状態でしか整えることが出来ない。ならばローポリのディビジョンレベルの存在意義って何だ?レベルの往復に何の意味があるの?

ディビジョンレベルの上下で行き来できることのメリットって何よ?

ローポリだと面が荒れない?

最初はそう思っていた。だが、今改めて検証しているとそんなことはない。ローポリで綺麗にならしてもハイポリでガタガタならディビジョンレベルを往復させただけで再び荒れますけど?結局ハイポリの荒れ具合はハイポリのディビジョンレベルでスムーズをかけるしかない。ならばローポリのディビジョンレベルの存在意義って何?

少ない操作で移動させられる?

いやいや、ブラシサイズを大きくすれば結局ポリゴン密度に無関係に移動させられるよ。

ポリゴン数を一時的に下げてPCを軽く動かす

でもそれって、仮のローポリを2つめのサブツールとして用意し、目玉アイコンを切り替えればいいよね?今ならばVisibility SwitcherもYT Subtool Helperもあるから、サブツール数も目玉の数も無関係にワンクリックで制御できるし。むしろサブツールごとに異なるサブディビジョンの制御の方が面倒なのだが?

Zbrush用プラグイン「Visibility Switcher」(全ての目玉アイコンをワンクリックで一気に復元) - - BOOTH
Zbrushのサブツール操作プラグイン「YT Subtool Helper」 - YAMATO Tools - BOOTH
Zbrushを便利にする色々なプラグイン「YT Misc Tools」 - YAMATO Tools - BOOTH


低サブディビジョンレベルがあることのデメリット

ハイポリ情報喪失のリスク

低サブディビジョンレベルのままうっかりマージしてしまうとハイレベルの情報が一気に消える。これが危険性だ。それに気付かずに作業を進めてしまうと、かなりファイルをロールバックさせないと元のデータを取り出すことが難しくなる。最初からハイポリのみのサブツールならばいくらマージ&スプリットしてもWeldオプションがOFFなら可逆変換だ。

そもそも使い道がないのに残しているだけで操作上の制約が生まれる

リトポ系もそうだし、Zmodelerも使えない。なんで自ら不便なツールを選ぶのか?

ディビジョンレベルをなしにする運用

メインはいきなり最終レベルのハイポリで造形する

結局、ハイポリでないと表現できない部分があるのならば最初からその解像度で操作した方がいい。ハイポリの面荒れはハイポリでしか直せない。低サブディビジョンレベルもハイポリの面荒れ修正には全く役に立たない。むしろ二度手間三度手間になる。不要なのだ。

PCを軽くするためのローポリと2つで1組の運用

本番用がメチャクチャ重いとしよう。それをかなり軽量にしたダミーの位置合わせ用のポリゴンを用意する。Zremesherでもいいし、トポロジ変更していなければReconstruct Subdivで元のディビジョンレベルまで再構築が可能だからそれで作ってもいい。これで目玉アイコンを切り替えれば軽量化は可能だ。むしろ元の低ディビジョンレベルよりも軽く出来る可能性すらある。自作のプラグインを使えばサブツール数などあってないようなものだから関係ない。操作の手間はワンクリック程度から変わらない。

Zbrush用プラグイン「Visibility Switcher」(全ての目玉アイコンをワンクリックで一気に復元) - - BOOTH
Zbrushのサブツール操作プラグイン「YT Subtool Helper」 - YAMATO Tools - BOOTH
Zbrushを便利にする色々なプラグイン「YT Misc Tools」 - YAMATO Tools - BOOTH


バックアップ体制も出来たから安心

今回作ったプラグイン「サブツールを別のツールにバックアップ」で、サブツールをワンクリックで別のツールにバックアップ出来るようになった。

だから、ダイナミックサブディビジョンで一端完成形としてハイポリのディビジョンを確定させる前にバックアップして、その後ハイポリ化して運用すれば安心。いつでもバックアップツールから復元可能だから。それでも作業中のツールには本番用のハイポリとローポリの2つ一組があるだけだから問題ない。バックアップ数がメインのツールを逼迫することはない。

確定ディバイドでハイポリ化していればいつでも低レベルに戻れる

例えば、低ディビジョンレベルを削除してポリゴン密度を確定させることを「確定ディバイド」と呼ぼう。確定ディバイドならば、実はReconstsubivによって低レベルに再構築が可能だ。例えばZeremesherやZmodelerで四角ポリゴンを破壊する操作をしない限り、四角ポリゴンを保ったままトポロジ変更している場合には、いつでも低レベルに再構築が可能。ならば、やはり低レベルを保持するメリットがない。

造形初期時は低レベルから始めるという錯覚

確かにローポリだと全体造形がしやすい。だが低ポリに戻る必要はないので、造形の進度に応じて確定ディバイドを進めてどんどんハイポリ化すべきだ。しばらくはそう思っていた。

だが、低ポリのメリットがない。移動させやすいのは単にブラシを大きくすればポリゴン密度は関係ない。面が荒れやすいのは当たり前なので、Zintensity強めのポリッシュ系でなでれば真っ平らになるでしょ?強めのスムーズをかければなめらかになるでしょ?
ローポリだと面荒れもないが、本当に必要な形に近づかない。結局は密度を上げての作業が必ず必要になる。いつまで低レベルを保持するか考えなければならない。でも、その必要ある?最初から仕上げレベルの密度で始めれば、目に見える状態が制作進度であり、理想との差が必要な作業量を意味する。シンプル。PCが重いなら重くならないぎりぎりまでハイポリ化して作業すればいい。どう考えてもディビジョンレベル2,3ってことはない。4以上だろう。それで作業すればいいじゃないの?低レベルポリの造形に満足しても1レベル上げたら形も変わるし、意味ないよね?変わるかもしれない状態を完成させても、やっぱり変わっちゃうよ?だったら直接最初からゴールを目指さない?

一応発見したメリット

面荒れでもローレベルから順番にスムーズをかけていくと、確かに効率的に面荒れを取ることが出来た。これをいきなり最高レベルでスムーズブラシをかけても確かになかなか滑らかになってくれない。ただ、ラフモデリングをスカルプトリスで終えている場合にはそこからのプロジェクトオール以降の造形になるのでそこまで面荒れがひどいことがあるだろうか。
今のところの唯一のサブディビジョンのメリットだと感じる。逆にこれでなければ不要論優勢だ。

しかもこの点はスカルプトリスモードで解消されている。スカルプトリスモードではブラシサイズによってスムーズの強度が大きく変わるので、通常モードのように「何度こすっても滑らかになってくれない」という事がない。その点でも基本的な造形はスカルプトリスモードで行った方がいい気がする。

スカルプトリスモードならパレットナイフが使えるから滑らかにする以上の大きな変更はワンクリックで削り取れるからそもそもそんなに長時間スムーズブラシをかけることがない。そういう点でも、スカルプトリスでの造形の方が自由で直感的だ。

f:id:yamato-tsukasa:20190222181128p:plain

結論

Zbrushでディビジョンレベルは不要。デメリットの方が多い。最初から完成形のポリゴン数か、それに近いポリゴン数で作業をした方が、無駄なやり直しが少ない。トポロジ調整も何もかも自由。一番制約が少ない状態だ。徐々にディビジョンレベルを確定ディバイドさせるのではなく、最初から完成形のポリゴン数で作業する。密度は増えないし、減らない。その作業の過程で得られた修正感覚こそが宝。経験値。だから経験を積むほどに一発で理想の形を作れるようになるから作業が早くなっていく。上達する。ここでローポリの造形ノウハウなど必要ない。ハイポリでもきちんとしたサイコロは作れるが、6面体のサイコロしか作れない技術でハイポリ造形はできない。頂点を操るという技術が違いすぎる。

勘違いして欲しくないことは、ローポリでしか作れない造形や、ダイナミックサブディブの滑らか造形をブラシで作れといっているわけではないこと。板ポリ一枚で表現できるならそれがいいに決まっている。また幾何学的な滑らかさはPCに作らせれば綺麗なのは間違いない。その結果を保持するためだけに、ディビジョンレベルをキープする必要がないって事。バックアップを取ってから確定ディバイドさせた状態で運用すればいい。そうすればobjにしようが外部ソフトに持っていこうが形は変わらない。

ハイポリでの表現が完成形ならば、完成形を確定させたデータを運用しましょう、って事です。そういう意味でも、低レベルのディバイドは必要性が低い。軽いデータでなければならないのならば、それ専用のデータを運用した方がいいので。どっちつかずだと破綻するだけ。これがZbrushを面倒くさくさせている理由の一つだったのだと今日気が付いたのでした。

また一つZbrushを使いやすくするためのノウハウが生まれた。

基本的にはGood Bye, Subdivision level.




今回の創作活動は約45分(累積 約764時間)
(193回目のブログ更新)