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

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

Blenderの有料アドオン「DECALmachine(デカールマシーン)」をテスト中

(約 3,600文字の記事です。)

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

BlenderでもFusion 360みたいに簡単にデカールを扱いたいのだ。調べてみてDECALmachineという有料アドオンくらいしか簡単に実現できそうもない。テストしてみた。

今回はテスト作業でぐちゃぐちゃな結果しか残っていないのでスクショは少ないです。

Fusion 360なら純正機能でデカールを貼れる

デカールとは何か?簡単に言うとプラモデルで言うところのシール(デカール)みたいに、メッシュの表面に平面的な絵をぺたりと貼り付ける機能。Fusion 360やKeyshotにはあったと思っている。

今回デカールが欲しいと思ったのは、バイクをドレスアップする際のスポンサーのロゴなどを貼り付ける必要があったから。レースと言えば派手なカラーのスポンサーロゴ。

で、無料でやろうとすると、テクスチャを転写する形でテクスチャを作っていく方法があるがこれだと位置の微調整で苦しむだろう。一発勝負だ。Zbrushにも同様の機能があるが、結局はどちらも一発勝負で後からのやり直しで全滅する。全然デジタルじゃない。一方でデカールならばドラッグ一発で微調整可能。デジタルだ。

DECALmachineはどちらかというとノーマルマップ中心の立体表現を簡単にペタペタと作れるところが注目されるが、今回の私の最初の目的は名前の通り、そのままデカールを貼り付けたり移動させたりすることだったので、そちらに注目して使い勝手を確かめてみた。

DECALmachineの癖に苦しんだ

まずまともに動かなかった(笑)色々試行錯誤してようやくマニュアルの通りに動くようになった。いきなりスタートから大変だった。
で、動くようになったが、次に考えたことは、Blender上でのレンダリングだけではなくて、UE4にデカールを持って行けるか?ということ。

マニュアルがとっちらかっていて探すのが大変

なんでこう、優秀なプラグインは取説がずぼらなのだろう(笑)チュートリアルがない。あるけれど古かったり、肝心の所が分からなかったり。
わかりにくいなりに、まぁ分かりやすいのは公式のドキュメントだった。これも結構くどくて、知りたい情報に辿り着くまでの階層が深い。完全に利用者を置いてけぼり感がある。もう少し初心者向けにメンテして欲しいところ。

デカールはベイクすれば全てUE4に持って行ける

これはラッキーなことにVer.1.9系から簡単にデカールをテクスチャにベイクできるようになっていた。なので仕上げに全てのデカールを1枚のテクスチャにベイクすればいけることが分かった。

Cyclesの罠

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

で、UE4で学んだように、Blenderでもそのデカールのpngとpngからのアルファとを組み合わせて、デカールの色+マテリアルの下地の色をシェダー上で組み合わせてレンダリングできるか調べてみた。結果、できたのだが、Cyclesでレンダリングするとデカールが消える。これは悩んだが、最終的に分かったのは、Eeveeでは「シェーダーからRGBに変換」が使えるのだが、Cyclesにするとその項目が検索しても出てこない。これに気付くのに2時間くらいかかった。で調べてみると、Cyclesではこの機能が無効化されるらしい。だからシェーダーミックスからの出力が不正だってのは分かるがだったらエラーで止まって欲しい。なぜ別入力のベタ塗りカラーだけが反映されるのだろう?謎。

とにかくCyclesにはベースカラーに小細工無しの一枚画像(またはそれをノードで加工したもの)しか入力できない。PhotoshopやCLIP STUDIO PAINTでデカール+下地のベースカラーをレイヤーで重ねて1枚にした画像しか入力できないと思った方がいい。UE4でできたような、インタラクティブに2枚の絵をアルファやマスクで切って重ねてベースカラーに入力するやり方はEeveeでは可能だが、Cyclesでは無理。

(参考)
Shader to RGB for cycles - Materials and Textures - Blender Artists Community


Shader To RGB — Blender Manual

結局、セオリー通り、CyclesでもUE4でも、テクスチャは1枚にしてしまうのが無難、ということに。仕上げの部分なのでこの手間は惜しむことはできなさそうだ。

2020/03/17 追記 Cyclesでもいけた

カウル+デカール部分のみCycles、他はEeveeのKiryToonShader。
黄色単色にデカールの色+アルファをミックスで合成してプリンシプルBSDFのベースカラーに入れている。

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

確かにシェーダーミックスはCyclesでは使えないのだが、単純に色の合成、つまりRGBミックス(ミックス)を使ったら普通にCyclesでもできた。なぜ当時シェーダーミックスを選んだかと言えば、知識がなかったから(笑)UE4では同様のことをやっていたがBlenderで同様のことをやろうと思ったことがなくて情報収集していなかったので、たまたま知っていた「シェーダーミックス」なるノードを試してみたらEeveeで上手くいってCyclesで失敗しただけのことでした。

でもできるようになってよかった。

とりあえずデカールの扱いはBlender上でもできるようになった

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

CLIP STUDIO PAINTなどでお絵描きしてロゴを作れば、後は簡単操作でメッシュの表面に貼り付けられる。
同じ操作でノーマルマップのある絵を貼り付ければ、お手軽に視差表現によるなんちゃって立体物が作れる。もちろんノーマルマップベースなので真横から見れば真っ平らだし、メッシュとしての凹凸はないので3Dプリントはできない。あくまでも静止画、動画表現でのみ使える技。ゲーム用途などではよく使われる。負荷が軽くなるから。一方でフィギュア造形にはまぁ役に立たないだろう。ZbrushでIMMブラシやブーリアンを使って凹凸を作るしかなさそうだ。ただ、実際に細部を作る前のイメージ確認用としてはペタペタ貼るだけなので驚速だ。ラフとして考える分には便利そうだ。

また、バイクのねじ部分などでも活躍しそうだ。元はデカールの手段として考えていたが、これはなかなかいいかもしれない。ねじとかIMMブラシで配置してもいいけれど、早いのはBlender上でデカールとして配置してしまうこと。細部だしメッシュでなくてもいい。UE4にも最終的に1枚テクスチャでもっていけるのだから、ノーマルマップで表現できていれば十分だ。

だがIMMブラシでの配置も同じくらい早いので悩む。本質的なのはメッシュによる表現だ。別にゲームを作るわけじゃないので処理の軽さを考える必要はない。立体表現が本質的だし、あとからノーマルマップ化する事も可能だが逆は無理。立体形状+マテリアル指定の方が遠回りのようで近道かも知れない。
とりあえずはノーマルマップ表現による疑似立体表現は保留にしておいて、何にしても平らなデカールをメッシュ表面に貼る機能については必要なので、ある程度は使いこなす予定。

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

デカールの話は追々製作工程の中で紹介できると思うので今日はこの辺で。


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