MagicaVoxelでボクセルモデリング

ボクセルアートをやるのに便利なツールを見つけたので遊んでみた。 今回はボクセルモデリングツールのMagicaVoxelを紹介。

これを使ってあれこれ作ってみたら楽しかったので、ちょうどいいネタが出来たついでにたまには普段とはテイストの違う記事に仕立てた。


MagicaVoxelでのモデリングレンダリング

当初の目的では3Dのドット絵が作れる程度のことができれば十分だったんだけど、今回使ったMagicaVoxelは、ボクセルを配置してモデリングができるのを基本として、カメラや被写界深度無限遠光源、ボクセルのシェイプやマテリアルを指定してレンダリングする、といったところまで出来る。 このツール単体で十分見栄えする3Dイラストを出力できるという素晴らしいツール。

f:id:ultimei:20160816015221j:plain:w640

f:id:ultimei:20160816015224j:plain:w640

f:id:ultimei:20160816015225j:plain:w640

UIが独特で、特にメニュー周りに若干とっつきにくさがあるけど、ウィンドウ下部に英語でヒントが出るのでまあなんとかなる。 ざっとチュートリアル動画を眺めたあと、色を選んでボクセルを置いてレンダリングするというごく初歩的な操作くらいはできた。

MagicaVoxelでは空中にいきなりボクセルを置くことはできないので、適当な形の立体を置いて削りだすか、軸や基板を作ってそこに盛りつけて成形していく、ってのが基本操作になる。 サンプルとしてボクセルキャラクターなどのモデルが用意されているので、これを改変するって手もある。



レンダリングに際して、マテリアル(材質)としてガラス(Glass/透過+反射)とか金属(Metal/反射)を設定することができるんだけど、パラメータ指定が難しい。 金属はわりかし狙った質感が作れたけど、ガラスは透過後の色合いが想像しづらくて、綺麗な色合いに透過させるのが難しい。 あと、ガラスの影には色が付かないみたい。

f:id:ultimei:20160816015227j:plain:w360

光源は環境光(Sky)と無限遠光源(Sun)がレンダリング設定として用意されてるけど、それとは別にマテリアルで発光体(Emission)を設定すれば、ボクセルを光源として設定することができる。 どちらの場合も光の色や強さを設定・調整できる。

f:id:ultimei:20160816015228j:plain:w360 f:id:ultimei:20160816015230j:plain:w360

ボクセルのシェイプはレゴ風のブロックや、スフィア(球)、エッジを丸めたキューブとかから選べる。 シェイプの種類によっては結構レンダリング時間がかかる。

f:id:ultimei:20160816015231j:plain:w480
f:id:ultimei:20160816015232j:plain:w480
f:id:ultimei:20160816015233j:plain:w480
f:id:ultimei:20160816015234j:plain:w480

各ボクセルをメタボールみたいにくっつけてレンダリングするマーチングキューブ法*1も使える。 出来上がりはポリゴン風になる。 ただマーチングキューブ法では隣接するボクセルを自動的に連結する形になるので、連結されることを念頭に置いた上で隙間ができないようにボクセルを置いていく必要がある。

f:id:ultimei:20160816015236j:plain:w360 f:id:ultimei:20160816015237j:plain:w360

ところで、モデリングの際にあとからパレットの色を変更すると、すでにあるボクセルの色もすべて変わってしまうので注意。 マテリアルも同様で、例えばりんごとコーラの缶を同じ赤で描いた場合、赤に対して金属光沢を付けようとするとりんごも缶も同じ金属質になる。 パレットの設定と色の選択はそれを考慮しておかないと後でめんどくさいことになる。 「同じ色のボクセルは例え隣接していなくても同一のものとして扱われる」っていうのがこのツールのひとつのクセだね。

MagicaVoxelで作ったモデルはBlenderに持ち込んだり、さらにUnityで動かしたりもできるみたい。 今の所キャラを量産するのが楽しいのでとにかく数を作って遊んでるけど、そのうちエクスポートして動かすのもやってみようかなと思う。



作ったもの

ここからは、MagicaVoxelを使ってつくったもの。

まずはシンデレラガールズから私服の智絵里・杏・ゆかり・かな子。

f:id:ultimei:20160816015239j:plain

CANDY ISLAND衣装の智絵里・杏・かな子。

f:id:ultimei:20160816015240j:plain

ゆゆ式のゆかり、ろこどるのゆかり、NEW GAMEの青葉。

f:id:ultimei:20160816015325j:plain



あわせてこちらもどうぞ。



余談と雑記

そもそもなんでMagicaVoxelで遊びはじめたかって話を。 先日ホームセンターに行ったら、夏休み向けコーナーに小さな木材のキューブブロックが袋詰で売られてるのを見つけて、Minecraftとかレゴみたいに積み重ねてなんか作れそうだなと思った。 帰ってきて製作例でも見てみようと"ボクセル"で画像検索して、そのときに見つけたのがこのツール。 いきなり現実世界で木材積み上げるよりは、まずはバーチャルで試行錯誤してみようと思ってMagicaVoxelで組み立て始めたところ、面白くてはまっちゃって、今となってはむしろこのツールで遊んでるだけで満足してる。 気に入ったものができたらそのうち木材で組んでみようとも思ってるけど、現実世界だと空中に浮いたパーツは作れないからどうしようかな、ってところ。

(追記)実際に木材で作ってみた。




だいぶ昔にShadeで3Dデフォルメキャラを作ったことがあったけど、モーションつけるところで心が折れた。 歩かせるくらいならできたけど、それ以上の可愛い動きをつけるには難易度高かった思い出。

春くらいにInkscapeを使い始めたあたりから、久々にモデリングをやってみたくなってた。 最近アニメのNEW GAMEで3Dキャラのモデリングをするシーンが出てくるし、やりたくなってきたのにはその影響も少なからずある気がする。 今回丁度いいタイミングで手軽に扱える良いツールが見つかった。

ボクセルってbox(箱)+pixelでboxelなのかとこれまで思ってたけど、volume(体積)+pixelでvoxelなんだね。 間違って覚えてた。 ヴォクセルっていう表記を見かけたことがなかったのも間違いに気づくまでに時間が掛かった理由になる。

*1:っていうらしい、初めて知った