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

「何を作る」より「どう作るか」を考えたい人

リグ入れ・ローポリ・トポロジと、Zbrushと、Twinmotionと。

(約 3,800文字の記事です。)
f:id:yamato-tsukasa:20190925034315p:plain:w360
昨日の検討で、Twinmotionでの肌のレンダリングに関しては四角ポリに囲まれた三角ポリはどうしてもNGだ。Zbrush上で加工しにくい。なので四角ポリにする必要がある。だが、現実の肌のように全身を補える四角のトポロジがあるとは思えない。色々考えた結果。

そもそもどこからスタートする?

フェイスリグまで入れるまでひたすら頑張る?それとも顔だけは手描きにして挿絵作りを進める?

いきなりここで考える。効率を考えれば表情もドラッグで付けられれば完璧だ。理想的。だが、試行錯誤の日々になる。となるとなかなか挿絵作りにたどり着けない。いつまでも作業だけが続く。正直、Blenderの勉強と操作手順の学習で、飽きた。飽きたのである。まったくクリエイトではない。

なので、色々考えたが、まずは、最初の発想の通り、体のポーズだけドラッグでできたら、後は多少手間でも顔はポリペイントで手描きで少し進めてみよう、と思ったのである。一周回ってシンプルなスタート地点に戻る。


となると、顔と体のポリゴン数が問題になる。VRoidのメッシュはローポリ過ぎる。顔だけを分割して一時的にでもハイポリにしてポリペイントで描いてからローポリに戻してテクスチャを貼り付ける必要がある。

と、ここで、そもそもなぜこんなにローポリでなくてはいけないのか?という本質にぶち当たる。

ぐるぐる回って考えた結果

そもそもなぜリグ入りキャラクターモデルはローポリでなければならないと思い込んでいた?これである。ローポリにこだわると、トポロジが重要になる。だが、Zbrushみたいにハイポリ前提になればメッシュが細かすぎてトポロジなどどうでもよくなる(厳密には丸みの途中で目立つところの三角ポリはどうやっても目立つのでそこを避けるためにトポロジ制御は必要なのだが、フラットで偶然目立たないところならばどうでもいいことになる。)

静止画前提のキャラのポージングなので

なので軽さは必要ない。リアルタイム処理が必要でもない。Blenderが落ちなければ多少ポーズ付けが重い程度なら我慢できる。そもそも、Zbrushのモデルにリグが入ってウェイトがかかってポージングできればいいわけで、となればハイポリメッシュの方がZbrushとは相性がいいのだ。問題はBlenderが重くて固まるとかそういうBlender側のハイポリ対応能力に依存する。

だが、なぜか私はリグ入りキャラ=ローポリでなければならないと思い込んでしまった。だからぐるぐる回る羽目に(笑)
例えばこうだ。

思い切ってトポロジを分断しますか?

もちろん理想はオールヌードでも鑑賞できるくらいどの関節も破綻しないようなメッシュトポロジがあればいい。だが不可能だ。少なくとも今の私の技術では無理。かといって、シェーダー側が上手くスムーズをかけてくれるならまだしも、Twinmotionでは無理だった。となると、トポロジを分断するしかない。そしてオールヌードのシーンでもない限り、キャラクターは必ず服を着ている。服の下のメッシュが分断されていても見えない。見えない物は存在しない。

これを採用すると、手足のトポロジは綺麗な輪切りになる。顔のトポロジも顔だけでいい。髪に隠れる部分で途切れていてもいい。
でも継ぎめ隠しにいつも気を使うのも何だかなぁ。

で、最初に戻る。

あるいは全身ハイポリか?

そもそもゲームでリアルタイムに動かす必要がなければ、メッシュデータは多少重くても言い。2,3万ポリならBlenderでも何とか動くだろう。ゲームでそれはかなりきついと思うが、別にゲームするわけでもなく、ムービーを作るわけでもない。ある程度ハイポリになったら、トポロジが無視できるようになる。静止画用途ならできるはずだ。これにするか?

ZRemesherを最大限活用する

手動でリトポしない。これは私のポリシーだ(笑)アナログ作業だから。やるとしてもZModelerでできる程度の超絶簡易なメッシュの調整程度のみ。Zbrushでも手動リトポの方法自体はあるが、やらない。やらずにできるワークフローを模索する。なぜならば、手動リトポ依存ならば、新キャラを作るたび、キャラのバージョンアップをするたびに手動リトポ全滅の可能性があるからだ。アナログ作業はどんなに回数を重ねても効率化できない。工数分だけコストになる。だから避けているのだ。

で、試してみた。結論から先に。

25kポリゴン程度なら無難にそつなくこなせる

VRoidベースのメッシュを取り出した。5kポリ。軽い。だがカクカクだ。だがBlender上ではスムーズシェーディングが効いて丸く見えるから不思議。Zbrush上では滑らかな太ももラインなど存在しない。初代バーチャファイターである。で、色々試行錯誤して、何とか元の形を保ったまま「手のまた」が壊れないように全身をハイポリ化したりZRemesherでリトポしたりして試した結果、だいたい25kポリゴン程度で無難にこなせることが分かった。この半分の13kでは手のまたが破綻した。全身のメッシュ具合ではそっちのほうがよさげだったが、手のまたの破綻を手で直すくらいなら全身25kで何か問題ある?というわけで25kでテストを続行。

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

これだけのハイポリならZRemesherで試行錯誤して作れるので手動リトポせずに済む。これ重要。手動リトポは絶対にイヤ(笑)
さてBlenderに送ってみよう。

Blender側でも25kポリゴンのキャラのポージング付けに重さは感じない

極めて普通に快適(笑)。25kだとこんな感じに見えます。
f:id:yamato-tsukasa:20190925235914p:plain

Blender上で見れば、結構なハイポリだ。Zbrushの画面で見ると、まぁまぁ、ポリ密度低めだよね?とか思うけど、Blender上で見ると「ちょwハイポリ」になるから不思議である。


で、VRoidのボーンをそのまま流用してウェイト転送したが、やはり5kと25kでは頂点数が違うため、転送したウェイトが階段状になり、腕を上げてもかたががくがくになる。なのでオートウェイトでウェイトし直した結果。うん、滑らか。だが、VRoidの大腿骨のボーンが微妙なので変なウェイトが付いたがそのままテスト続行。Zbrushに戻して(メッシュを加工すると想定しその後)FBXでTwinmotionに送るよ。

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

25kあればTwinmotionでも滑らか

いい感じだ。Twinmotion上での操作感も重さを感じない。

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

滑らかである。もっと寄ってみた。

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

上出来である。25kのポリゴン数ならまずどんなに寄ってもメッシュ的な不満はない。これは恐らくTwinmotion側のスムーズシェードの影響もあるかも知れない。
スムーズシェードがないZbrush上では、25kならカクツキが見えるが1段階ディバイドするとほぼ見えなくなる。

上が25k、下が1段階ディバイドしたもの。かなり滑らか。
f:id:yamato-tsukasa:20190925235802p:plain

だがTwinmotion上ではスムーズシェードによって1ディバイド分滑らかになった分けだから、結果から言って25kポリゴンキャラで問題なし。という、最初から一発でOKの基準ができた。

もっとも、恐らくは2万ポリ程度でもOKだろうが、今回はたまたまこれでいいので、My基準としては25k程度となった。ま、ZRemesherで全自動でそこそこいいトポロジでリメッシュされてくれさえすれば2万でも3万でも別にどうでもいいのだが。

VRoidのリグか汎用ボーンか?

普通に、普通のボーン&ウェイトの作り方、Rigifyなどでいいんじゃないか?という気がしてきた(笑)けど、強いて言えば、体型に合ったボーン配置になっているので、気に入らないところだけのボーンを調整して再度自動ウェイトを塗り直せば、改めて汎用ボーンをコツコツと位置合わせしなくてもいい。やっぱり流用できる物は使おう。大腿骨のボーンは特殊すぎるので普通の位置に戻そう。

というわけで、ようやく、創作活動が一歩前進した。早く髪と衣装を配置したい(笑)


今回の創作活動は約2時間30分(累積 約1,080時間)
そのうちモデリング作業 約2時間(累積 約187時間)
(373回目のブログ更新)