Objで直接書き出すのはダメなのか?
Magicavoxelでは、様々な形式でモデルを書き出すことが出来ます。
ゲームで使うデータを書き出すときは、obj形式で書き出すことが多いと思います。
objでも問題なくゲームの素材として使うことは出来ますが、頂点の数が多すぎてデータが重くなっているため、blenderなどのモデリングソフトで、モデルを整える必要があります。
頂点がどれだけ多いかは、説明の流れの中で改めて紹介します!
blenderでモデルを整える
頂点カラー
まずは、Blenderで編集するために、MagicaVoxelでply形式でモデルデータを書き出します。
書き出したら、モデルデータをblenderに取り込みます。
「ファイル→エクスポート→.ply」を選択してモデルを取り込みます。
モデルを取り込んだら、画像の左上のようにモデルデータ以外のライトなどの不要なオブジェクトを削除します。
削除したら、マテリアルプロパティを開いてマテリアルを作成していきます。
新規ボタンをクリックすると、名前の入力が出てくるので、わかりやすい名前に設定します。
ファイル名は、プロジェクト名と同じにしておくとわかりやすいと思います。
名前を設定したら、マテリアルのベースカラーを設定していきます。
「ベースカラー→頂点カラー」でベースカラーの設定を頂点カラーに変更します。
画像のように、モデルに色がつけば成功です。
頂点数を減らす
ここからは、無駄に多くなっている頂点の数を減らしていきます。
※基本的に頂点数が多ければ多いほどモデルのデータが重く(容量が多く)なってしまいます。
画面左上の、オブジェクトモードとなっているところを、編集モードに切り替えます。
切り替えると画像のように、黄色い線と点がたくさん表示されます。
編集モードに切り替えたら、「メッシュ→クリーンアップ→距離でマージ」を選択して、重なっている頂点同士をまとめます。
画面の下に、「~~~個の頂点を削除しました。」と出てくれば成功です。
テクスチャを作成
ここからは、モデルのテクスチャを作成していきます。
画面上部の、「UV Editing→新規」をクリックします。
名前は、これもわかりやすい名前に設定しておいてください。
名前を設定したら、「UV→スマートUV投影」を選択します。
設定のウィンドウが出てくるので、画像のように設定をします。
設定をしたらOKを押してください。
左画面にUVが投影されれば成功です。
後は、作成したUV画像を保存します。
「画像→名前を付けて保存」で画像を保存します。これもわかりやすい名前にしておいてください。
見た目を適応
画面上部のメニューから、Shadingを選択して、ウィンドウを開きます。
画面の下のウィンドウで「右クリック→テクスチャ→画像テクスチャ」を選択します。
下の画面に、ノードが出てくるので、開くを選択して先ほど保存したUV画像を選択します。
選択したら、画面右のレンダーエンジンをCyclesに設定します。
少し下にスクロールして、ベイクタブを開きます。
開いたら画像のように設定してください。
設定が完了したら、ベイクを押します。
正常にベイクされていれば、画面の左側のように、UVに色が設定されます。
ベイクが完了したら、画像として保存します。これがこのモデルのテクスチャとなります。
ポリゴンを整える
最後に、四角形ポリゴンとなっているポリゴンを、三角形ポリゴンに変換していきます。
メニューから、「面→面を三角化」を選択します。
画像のように、面が三角形だけで構成されるようになれば成功です。
書き出し
最後に、モデルデータを書き出します。
「ファイル→エクスポート→.fbx」を選択します。
空間トランスフォームの項目にチェックを入れて、FBXをエクスポートを押せば作業は終了です!
あとは実際に開発エンジンなどに取り込んで見た目を確認してみてください!
お疲れさまでした!