どうも!Maya太郎です。
今回はMashの変則的な使い方としてMashでボクセルモデリングを行います。
ボクセル風な表現は、写真のようなレゴ作品や、大ヒットゲーム「マインクラフト」の世界観、
昔のゲームのドット絵をボクセル化したアート作品など、あらゆるところで見かけます。
ボクセル用のモデリングツールで一から作り上げるのは面倒なので、(試してみました)
ポリゴンモデルから手軽に変換したいなと以前から思っていました。
Mashのデモを見たときに「これを使って出来ないかな?」とひらめいて、いろいろテストを繰り返し
なんとか実現できました。
ということで今回もはじめますね…(前置き終わり)
■ポリゴンオブジェクトをペイント■
まず、ボクセル化の雛形となるオブジェクトに着色します。最近よく使う恐竜モデルです。
(コンテンツブラウザのサンプルデータ)
[テクスチャリング]→[3Dペイントツール(オプション)]から3Dペイントツールを呼び出してペイントを始めます。
(それ以降の操作は過去記事を参照ください)
試行錯誤の過程で何度も塗り直したので、気力が尽きて作例ではやる気のない絵柄になってしまいました。
すみません!!
【注意】ペイントの際、ブラシのエッジボケは使わないようにしましょう。
ハーフトーンやグラデーションはボクセル表現に不向きなのでパキッとした塗り分けをして下さい。
UVもきちんと展開されています。
■ボクセル化する■
ボクセルのもとになるBOXオブジェクトを用意します。サイズは変更しないように!
サイズを変えると、あとの作業でうまくいかなくなります。
あとで調整可能ですが、ボクセルの細かさは、BOXのサイズではなく、恐竜のサイズで調整します。
Mashの調整上、こちらの方が簡単なのです。(BOXサイズ固定の理由)
説明用に邪魔なので恐竜をずらしましたが、恐竜の位置は重要ではありません。どこに置いてもかまいません。
BOXにMashを適用するのでBOXを選択し…
[FX]→[MASH]→[MASHネットワークを作成]でMash開始!
Mashを作業開始時は、横にBOXが並びます。(いつものことです)
そのBOXの並び方を、恐竜の表面に沿わせるために…
配分タイプを「メッシュ」に切り替えます。
そしてその下にある「メッシュ」内の「入力メッシュ」に恐竜のポリゴンメッシュを接続します。
作業画面ではこのように端から端へマウスで引っ張ってくる作業が一般的です。
「入力メッシュ」である恐竜の表面に、さきほどのBOXが貼りつきました。(まだ数が少ないですが)
メッシュの配分方法を「散乱」→「ボクセル」に切り替えます。
まばらに張り付いていたBOXが、レンガを敷き詰めたような並びに変わりました。
少し下にある「ボクセルの設定」から「ボクセルサイズ」を 1.5→1にしてください。
すると、ボクセルの間隔がぴったり隙間なくつながります。
ここで、恐竜のサイズを大きくしたり小さくしたりすると、ボクセルのきめ細かさ(解像度)が変化します。
BOXサイズは均一なので、恐竜サイズを大きくすると、ボクセルが高密度になる…というわけ。
ボクセル化した部分だけ表示すると、こうなっています。
この段階では、色情報はありません。
■ポリゴンモデルからボクセルモデルに色を転写する■
オリジナルの恐竜モデルから色情報をボクセルモデルに適用させます。
MASHノードを選択してることを確認してください。
MASHエディタを使ってもかまいません。詳しくはMASHエディタの使い方参考
新しいノード「color」を追加します。
「カラーノードを追加」してください。
ここでの設定は主に2カ所です。
下図のように、恐竜のカラーマップと
UV情報参照に必要な恐竜のオブジェクトを
それぞれ接続します。
このようになります
ポリゴンデータと重なっていますが、きちんと色がつきました。
ボクセル部分だけ表示させました。
これで念願のボクセル化と着色ができました。
■レンダリングに難あり?■
ボクセル部分に着色されたカラーは、実は頂点カラーといって
ポリゴンの頂点部分の色情報になっており、このままの状態ではArnoldはレンダリングできません。
ハードウェア2.0ならレンダリング可能。
このブログはMaya2017以降を対象としてるので、mental rayに関してはほとんど触れることはありませんが、
mental rayならば頂点カラーのノードを接続してレンダリングが可能だとおもいます。
次回、Arnoldでの頂点カラーのレンダリング方法を紹介します。
とりあえずおまけとして、2体の恐竜のツーショット
そして、ボクセルの中が中空ではなく、ボクセルで埋まってることを確認しました。
これで、ボクセルの世界観が簡単に作れそうです。個人的には大満足です!