3DCGで何をどう作るか考え中

ZbrushとBlenderの使い方、ヒント、コツなど。たまにZbrushプラグイン開発も。

アート造形ならばCAD由来の正確なRの角丸ベベルにこだわらなくてもいいんじゃない?

(約 5,600文字の記事です。)
f:id:yamato-tsukasa:20200229231833j:plain
色々試して辿り着いた結論。三角ポリまみれの正確な角丸ベベルをローポリにリトポした時点で、Rの正確さは失われる。だったら「だいたい角丸」っぽい表現でいいんじゃない?という結論。

ZRemesher、Quad Remesherならば元形状が正確ならば出力もだいたい正確という思い込み

これが間違いだった。よくよく観察してみると、リトポ後のポリゴン密度によっては割と適当な造形に(笑)思い込みとは恐ろしい。
で、分かったのは、リトポ後の最終メッシュがだいたい角丸になっていればいいわけで。だったら最初からだいたい角丸造形でもリトポ後には大差ないということに。

なので、元の形状で正確な角丸ベベルにこだわる必要がないな、という結論。これアート目的の造形の話ね。この乱暴理論でエンジンのデータなんか作る人はいないと思うけれど……。

くどいが、正確な幾何学的表現ならばCAD一択だ。議論の余地はない。

今の話はアート造形、見た目が全ての世界の話。その話の中では、データ容量などの関係で、常にハイポリにはできない。大抵はリトポし、微細はノーマルマップなどで表現する。なので最終出力の情報は丸められている。だいたいそれっぽく見えることが重要なのだ。着目点が異なる。

造形のしやすさで考える

Blender、だいたいいい感じで作れるが、Radial Symmetryでつまづく。見たままリアルタイムでメッシュを作れない。
ZModeler、これは意外と便利でサクサクとRadial Symmetryで作れる。だが角丸ベベルは絶望的に苦手。
で、BlenderにGoBで持って行けば万事解決かと思いきや、角丸ベベルは元のトポロジによっては適用できない場面がある。

f:id:yamato-tsukasa:20200229022753j:plain

金色パーツを再度作り直しながら色々試行錯誤していた。

f:id:yamato-tsukasa:20200229225432j:plainf:id:yamato-tsukasa:20200229225437j:plainf:id:yamato-tsukasa:20200229225441j:plainf:id:yamato-tsukasa:20200229225446j:plain

角丸のRをある程度以上大きくするとトポロジに干渉しておかしくなる。これ、自由な造形に絶望的なダメージ。

私は作りながら考えるスタイルを重視するので。最初から設計図ありきで見比べながら作る人はそこを意識してトポロジを整理すればいいだけの話になってしまう。。。

角丸ベベル付きのメッシュでブーリアン減算すればいい?

もちろん考えたさ。
ただその場合、このように打ち抜き後の縁に角丸ベベルを設定するときに絶望する。

f:id:yamato-tsukasa:20200229225441j:plain

トポロジのエッジ部分がベベルに干渉してメッシュが自己交差する。
回避するためには上記のオレンジ部分もブーリアン減算できるようなメッシュを作ってからブーリアン減算する必要がある。……、気が遠くなる。

つまり、Blender、Zbrushでのブーリアン結合では結合後のベベル追加が絶望的に難しくなることが多い、ということだ。上手くいく場合は少なくて、例えば両者が直方体/立方体ベースのシンプルな造形の場合のみ。その場合は板ポリなので変なトポロジになりにくいため。だがそんな単純な造形はバイクには少ない(笑)だから教科書やサンプルでは上手くいっていていても実際の造形では役に立たない。

Fusion 360を久々に使ったものの

f:id:yamato-tsukasa:20200229235552j:plain

うん、使いにくい。造形方法がCAD特有の、非直感的な作り方。これは慣れていないと思い通りに作れないし、慣れていても作れない造形がある。ポリゴンモデリングならば頂点/辺/面をつまんで引っ張るだけでできる形を作れなかったりする。何よりもほぼ忘れている色んな操作を再び学び直すのが億劫なのだ(笑)

それは置いといて、Fusion 360でも似た円盤と穴あき用のボディを作って結合>差分させてみた。……、やっぱり使いにくい。全然直感的じゃない。これであまたの作りたい形をFusion 360で作れるかというと今の私の実力では無理(笑)かといって学ぶ気力も無い。極めたとしてもソフトの制約上作れない形はあるわけで、そこもネック。ZbrushとBlenderでの自由な造形を知ってしまうとさすがに踏み込めない。そして幾何学的な正確さが絶対に必要かと言われるとNoだから、なおさら。

もちろんFusion 360ならば複雑でも正確な角丸ベベルを作れる。が、最初に言ったとおり、STLで正確造形でもリトポでローポリになれば不正確になる。なのでそもそも最初から正確なRは不要ということになる。

なので、色々試した結果、やはり二転三転して、Fusion 360は私にとっては使いにくい、という数年前のいちば~ん最初の感想の結論に。。。


直感的に作れて、直感的に角丸化出来て、そこそこ角丸っぽくできる造形方法はないか?

……、原点回帰。数ヶ月前に開発していたモデリング手法に戻ってくる。


ローポリ・ハイメッシュモデリングの復活

「ローポリ・ハイメッシュモデリング」と命名 - 画力がないなら立体を作ればいい

ただしそのままこの手法を使うわけではない。今回の考察でいくつかステップを経ていい感じにできることが分かった。

カックカクの角有りトポロジから手動で角丸ベベルを作っていく

残念ながら、認めたくはないが、アナログ作業的要素を入れる方が結果として一番早かった(笑)幾何学的なRの角丸を作るのではなく、目で見て真円のRっぽく手動で頂点・辺を移動させるのだ。The アナログ作業。だが、ZModelerを使えばRadial Symmetryで繰返し回数を最小限に抑えられる。左右対称の場合も手間半分になる。

f:id:yamato-tsukasa:20200229231418j:plainf:id:yamato-tsukasa:20200229231423j:plainf:id:yamato-tsukasa:20200229231430j:plainf:id:yamato-tsukasa:20200229231446j:plainf:id:yamato-tsukasa:20200229231452j:plain

スムーズOFFのディバイドで辺を増やし、Move Infinite Depthブラシで移動させてカーブを整える。4箇所の角丸を実施すれば全体に適用。

あれ?割とよくね?と思ったのだ。十分満足な角丸だったりする。

テストなのでそこまで気合いを入れて位置を調整したわけではない。だからよく見ると割といびつだ。逆に言うとそこをきちんと作ればいいだけのこと。

表面側の角丸化

このままではローポリ過ぎて表面側の角丸化ができない。ここでハイポリ化する。といってもディバイドするだけだが。で、あとはこれまた地味にスムーズブラシをかけていく。これまたアナログ作業。

f:id:yamato-tsukasa:20200229231818j:plainf:id:yamato-tsukasa:20200229231826j:plainf:id:yamato-tsukasa:20200229231833j:plain

ディバイドのスムーズ有り無しなどを組み合わせれば更に滑らかになる。で、作ってみた結果。あれ?これでよくね?かなりよくね?と思ったのだ。
例えばこれだけ離れてみると、もはや手作業の角丸なのかCAD由来の角丸なのかサッパリ分からない。

f:id:yamato-tsukasa:20200229231837j:plain

そもそもそんなに角丸にこだわる人はいない。作り手のエゴだと気付いた。

ただしあまりローポリにならない

そもそも全周角丸なのでローポリで表現できるはずがない。4万ポリで綺麗だったが、がんばっても以下の画像のように1万4千ポリで結構きつい。ガタツキが目立ち始める。

f:id:yamato-tsukasa:20200229232346j:plain

軽くするならカクカクポリに数万ポリのノーマルマップを割り当てるのが現実的だろう。それだけ角丸ベベルのPC負荷は高いということだ。
だが現実の物質には角丸処理をした丁寧な仕事のオブジェクトがたくさんある。何でもかんでも斜め45度のテーパーばかりではない。

この辺をどう対処しているかは作り手の環境依存、作品発表形態に依存すると思う。
私の場合は、Blenderが動けばそれでいいので、まずはバイク1台できてみてそれでBlenderが動いてくれるならば何万ポリでも構わない。これも作ってみなければ分からない。
1メッシュあたり200万ポリを超えるとフリーズ連発は分かっているが、メモリは余裕だ。

Blender内完結ならば1オブジェクトあたり200万ポリ未満ならば問題なさそう

今簡単に試してみたが、スザンヌでディバイドを繰り返し200万ポリまでは普通に動くがそれ以上になるとフリーズが増える。
で、200万ポリのスザンヌを6回コピペして全体で1千400万ポリにしてみたが、Blenderは普通に動く。メモリを2GB消費しただけ。もちろんテクスチャなどが増えればどんどん消費されるだろうがまだまだ余裕だ。

であればブレーキディスクハブが4万ポリなど大したことは無い。

f:id:yamato-tsukasa:20200301000237j:plain

ディスクの元の形状がローポリの多角形な円なのでリトポ後にも最外周や最内周の円ががたついた多角形の円に見える。そういう所まで忠実にリトポされているため、ふちが真円に見えない(笑)今後の課題。今はテストだからいい。

見た目の美しさを重視して4万ポリのままで十分だ。そこから減らしてノーマルマップを作って適用して、などは後回しでいい。

結論 ローポリ・ハイメッシュモデリングで造形していきます

これが一番直感的。もちろんアナログ的造形になるので後からの修正には弱いがそれは諦める。それよりも直感的にどんどん角丸化して作っていける方を優先する。ハイポリモデリングで形を作るのでトポロジ依存から脱出できる。作りたいだけ作って最後にZRemesherやQuad Remesherでリトポし、必要なら再度ディバイドするなどしてツルンと整えればそれで造形が終わる。直感的だ。作り方に依存しない。突起が欲しければ引っ張り、角丸が欲しければスムーズブラシをかければいい。シンプルだ。アナログ手法だが、その分直感的だ。人間はそもそもアナログだから。

と、ここまでできるだけ避けてきたアナログ手法だが、ここに来てついに採用することになった。もちろんシンプルな造形でトポロジに問題が無ければBlenderで角丸ベベルがいいのは間違いない。それも積極的に採用する。だがZbrushのZModelerやZbrush上でのディバイド&ローポリ・ハイメッシュモデリングも積極的に使っていく。

もうそろそろ手法自体でしどろもどろになるのは飽きてきたのだ。

f:id:yamato-tsukasa:20200229234448j:plain

これをどうやって作ったかに興味がある人は少数で、大半の人はこの造形が何を表すのかに興味があるあるだろう。それだけだ。Fusion 360で正確な角丸だろうが、Zbrushでスムーズブラシで手塗りで角丸なのかは、誰にも分からないだろうし、そもそも興味がないだろう。エッジが立った打ち抜き造形ではない、くらいは感じ取るだろうが、その程度だ。そして私も別に角丸であればRの正確さはまぁもうどうでもいいや。これで現実のバイクを組み上げるわけでもなし。有機的なハブの表現ができていればそれで満足なのだ。

というわけで、色々試行錯誤した結果、BlenderとZbrushとの往復で、ローポリ・ハイメッシュモデリングを駆使してアナログ的にパーツを作っていくことにしました。
Fusion 360からはやはり遠ざかります(笑)ごめんなさい。やっぱり使いにくい。




というわけで、多くの読者様に朗報。Zbrushに戻ってきました。



ソロモンよ!私は帰って来た!!



最近長文化傾向が加速してきたのですが、いったん結論が出たので今後はモデリング重視で文字は少な目にする予定。

長かったワークフロー検討にようやく終止符です。。。


今回の創作活動は約3時間30分(累積 約1,502時間)
(536回目のブログ更新)