12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

モデリング知識ゼロでもマインクラフトのようにブロックを積み上げてローポリな3Dモデルを作る方法

Posted at

はじめに

今回はモデリング知識が特になくても(自分のこと)マインクラフトのようにブロックを積み上げてローポリな3Dモデルを簡単に制作できる方法を記事にしたいと思います。

MagicaVoxelというツールを使いモデルを作成し、Unityで使えるようにすることが目標となります。

スクリーンショット 2019-01-12 21.02.08.png

最終的には上記のようなローポリモデルがUnityで使えるようになります。

MagicaVoxelとは

MagicaVoxelは、ブロックを積み上げてボクセルライクなモデルを直感的に作成できるツールです。モデリングの知識がなくてもノンデザイナーでも手軽に3Dモデルを作ることができ大変重宝しています。
スクリーンショット 2019-01-12 16.28.43.png

MagicaVoxelではボクセルライクなモデリングに使われることが多いと思いますが、今回はあえてローポリライクなモデルを作成してUnityにインポートすることに挑戦します。

今回使用したツール

MagicaVoxelでマーチングキューブ変換したモデルを出力する

MagicaVoxelで適当にモデリングを行います。今回はシンプルな家を作ってみました。
(MagicaVoxelのインストール方法や使い方についての説明は割愛させていただきます)

MagicaVoxelの特徴としてモデルの作成機能だけではなく、レンダリング機能も備えていることが挙げられます。

スクリーンショット 2019-01-12 16.28.43のコピー.png

レンダリングとモデリングモードの切り替えは赤で囲んだ部分で行うことができます。
レンダリングモードにすると以下のEditor表示になります。

スクリーンショット 2019-01-12 22.40.05.png

モデリングモードでは、ライトやEmmision、材質など設定を変えていろいろなレンダリングを試すことができます。その中にSHAPEという設定項目があります。デフォルトはCUBEになっています。これをMCにすると以下のような描画になり、ボクセルライクな描画からローポリチックな表現に変わったことが分かるかと思います。MCとは、マーチングキューブのことです。マーチングキューブとは3次元ボクセルデータをポリゴンデータ化するアルゴリズムの一つです。

スクリーンショット 2019-01-12 22.52.52.png

右下のExportのmcを選択することでマーチングキューブでの書き出しが可能になります。
(objを選択してもCUBEでの書き出しになってしまいます)

スクリーンショット 2019-01-12 23.16.24.png

しかしここで問題が出てきます。保存しようとすると分かりますが、拡張子が.plyになってしまいUnityが対応していない形式での書き出しになってしまいます。

スクリーンショット 2019-01-12 23.20.50.png

この問題に対応するため次はply形式のモデルをUnityの対応しているobj形式に変換していきます。

MeshLabを使ってUnity対応形式のオブジェクトに変換する

ply形式のモデルを変換するツールはさまざまありますが、今回はMeshLabというフリーツールを使うことにします。Mac、Windows両方に対応しています。

インストールまでできたらMeshLabを開いて先ほど作ったply形式のモデルを読み込みます。(Fileから開くかD&Dで読み込みができます)

スクリーンショット 2019-01-12 23.37.57.png

MeshLabではobj形式への変換とそれに合わせたテクスチャの作成を行います。
まずは、テクスチャの作成を行っていきます。

Filters -> Texture -> Parametrization: Trival Per-Triangleを選択します。
スクリーンショット 2019-01-13 0.36.53.png

Inter-Triangle borderを0に、MethodをBasicに変更してApplyを押下します。
スクリーンショット 2019-01-13 0.44.04.png

さらに、Filters -> Texture -> Transfer: Vertex Attributes to Texture(1 or 2 meshes)を選択します。

スクリーンショット 2019-01-13 0.45.32.png

設定はそのままでApplyを押下してpngを保存します。これでテクスチャの書き出しは終了です。

次にobj形式で書き出しです。

File -> Export Mesh Asを選択、形式をobjに指定して保存できます。(簡単ですね)

スクリーンショット 2019-01-13 0.00.20.png スクリーンショット 2019-01-13 0.02.08.png

(テクスチャ作成 -> obj書き出しの順に行わないとUnityへのインポート時にテクスチャが上手く表示されないことがあるようです)

次は作成したobjとテクスチャをUnityにインポートしていきます。

Unityで使う

先ほど作成したobjとpngのテクスチャをUnityにD&Dします。
Png画像はInspecterからDefaultをSprite設定に変更しApplyします。

スクリーンショット 2019-01-13 2.00.15.png

objの方にはマテリアルの設定を行っていきます。
InspecterのExtract Materialsでマテリアルの作成を行うことができます。

スクリーンショット 2019-01-13 2.03.53.png

マテリアルが作成できたらマテリアルのAlbedoにPngのテクスチャ画像をD&Dすればobjに色がつきます。
スクリーンショット 2019-01-13 2.04.43.png

あとは、objをシーンに配置して煮るなり焼くなりゲーム素材として使うことができます!

スクリーンショット 2019-01-12 21.02.08.png

まとめ

ProbuilderやBlenderでのモデリング作業のハードルが高く挫折した自分なのですがMagicaVoxelを使うことで意外と自作のモデル制作を行うことができています。ただ、ボクセル調の一択の表現したものしかできないのももったいないと感じていたので今回このようなローポリ表現に取り組んでみました。

ローポリモデル制作の一つの参考例となれば幸いです。

参考

12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?