見出し画像

(再掲)MagicaVoxelを建物モデリングに活用できないかな

※この記事は10月にサ終する予定のニコニコブロマガのサルベージ記事です。多少改定もしてます。

元記事投稿日:2021/02/18

これまで私の作った建物アセットは、パーツ分けしてカスタマイズした建物が作れるという仕様にしてるのですが、毎度毎度寸法の合わせにとても苦しめられてます。

画像1

画像2


畳とか1メートル単位じゃないし、ゲームバランスの都合でリアル寸法より大きめに作る必要があるし。1グリッド1.1m-1.3mぐらいでそれを厳守できたら楽なのですが…

Blenderの採寸・スナップ機能は微妙に使いづらく、いつの間にかずれることが頻発で、Unityに持ち込んでからスナップ機能でパーツをくっつけてシーンを作るうちにズレが発覚してBlenderに戻って作り直し、という手間がかかってました。
※僅かなズレでもゲーム画面では超絶目立ちます。
Blenderはろくな整列ツールがなく、単純な形状ですら修正には結構な作業時間を要します。
室内まで作るモデルだと、視界の悪さもあってさらにずれる…
逆にZファイティング対策であえてずらす必要がある場合もあるのがどぎつい

ただの箱型の柱や壁でもそんな調子ではとても非効率なので、ボクセルを使ってはどうかという発想になりました。

MagicaVoxel

1ボクセル10センチとか決めて作れば、5センチとか1センチとかのズレは絶対に起こらない

画像3

内部や断面が視認しやすく、くり抜きを多用する窓や室内も、簡単に作れる

画像4

正確な分割、流用がきくパーツ分けを考えるのもイメージしやすい

画像5

当然大まかにしか作れないし、斜めの形状はカクカクになるわけですが、そこはobjで書き出してから、Blender上で置き換えたりディテールを追加すればいいじゃんというわけです。

画像6

ボクセルのテクスチャも自前の汎用テクスチャに置き換えます。

画像7

細かいプロップや窓は無理にボクセルで作らず、Blender上で既存のモデルを取り付けます。

画像8

MagicaVoxelからBlenderにインポートする際の仕様は、
・objでインポートすると、1ボクセル10センチ相当のスケールになります
・つながった同色のボクセルは一枚のポリゴンに統合されます
・面ごとに分割されてます。ソリッド状態ではありません
・埋まったボクセルは書き出されません
・なんか変なとこに原点がセットされます
・複数パーツで作った場合はパーツごとに分けてファイル出力されます
。一つずつ読み込むのは手間ですが、まあ対処方法はなくはないです

3Dで複雑な建物を作るにしても、ゲームで使うには2Dゲームのタイルマップと同様に、きりのいい寸法の矩形のブロックにせざるを得ないので、スクラッチモデルの時点で正確な寸法が獲得できるボクセルモデルは、建物のアセット作りでかなり有効ではないかと思ってます。

また、複数人で制作するのにもメリットが大きいです。
ただの箱や四角を描くのに、1200dpiでPhotoshopやイラレを使って描くのと、64*64のドット絵で描くのとどっちが簡単で正確かという話です。
人に依頼するとしたら、前者では人によっては解像度と寸法を数%間違えたり、矩形ツールを使わずフリーハンドで描いたり、線幅の分だけ太くなったり、頼んでもないのにイリヌキまでこだわって入れたり…ということもありえますが(体験談です)、後者なら想定外は起こりにくいでしょう。
「肉眼で見えないけど致命的な誤差」が出ないのが保証されてるのは、とても強い。


次に作る建物モデルアセットからは、これを活用して低コストで汎用性の高い室内ありの高クオリティモデルを目指す所存です。

画像9


この記事が気に入ったらサポートをしてみませんか?