Magicavoxelで作ったモデルをBlenderにインポートして変換、Unityで使えるようにする方法

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 方法 

 Magicavoxelで作った3D(ボクセル)モデルをUnityに取り込みたいけど、うまく行かない事ってありませんか?

 ▶テクスチャーが反映されない
 ▶角度がおかしい
 ▶3Dモデルが重たい

 今回は、私自身もとっても困ったので、MagicavoxelからBlender、BlenderからUnityへ。これのやり方を書いていこうと思います。

▶①Magicavoxelでの準備

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 40×40×80の大きさでUnityゲームで利用する事を想定した建物を作りました。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 まず、このモデルを、.plyファイルで出力します。

▶②Blenderでの準備

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 Blenderを開きます。このバージョンは2.9です。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 初期のCubeは不要なので削除します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 ファイル→インポート→stanford(.ply)

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 先程作ったplyファイルを読み込みます。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 0 0 0 の座標に先程の建物が出現しました。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 3Dビューを変更します。"マテリアルプレビューモード"にします。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 ついでに"Camera"と"Light"は不要なので削除します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 真っ白になりました。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 "オブジェクトモード"から"編集モード"に変更します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 メッシュを整頓します。

 "メッシュ"→"クリーンアップ"→"距離でマージ"を選択します。

 このモデルの場合2万5000以上の不要なメッシュが消えました。これで、Unityにモデルを読み込んだ際に軽くなります。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 次に、右側にある"マテリアルプロパティ"を選択し、"新規"で新しいマテリアルを追加します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 新しいマテリアルを追加したら、"サーフェル"の欄にある"ベースカラー"を、"頂点カラー"に変更します。

 これで、Blenderに取り込んだplyファイルに色が付きます。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 そして、画面右側にある"レンダープロパティ"を選択。

 レンダーエンジンが"Eevee"になっているので、"Cycles"に変更します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 "ベイク"の欄にある"ベイクタイプ"を"ディフューズ"に変更し、"影響"にある"Contributions"の"直接照明"と"間接照明"のチェックマークを外しておきます。

 この時点では、"ベイク"の実行ボタンは押さないでください。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 画面上部の"Layout"から"UV Editing"に変更します。

 "+ 新規"を押して、新しい画像を作成します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 新規画像の作成画面が出てきました。

 名前は任意で入力。今回、"building_01texture"と入力しました。

 その後、OKを押します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 新規画像が生成され、見た目はこんな感じになります。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 
magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 "UV Editing"から"Shading"に変更します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 下の画面で、"追加"→"テクスチャ"→"画像テクスチャ"で、ノードに追加します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 追加されたウィンドウの画像選択ボタンから、先程作った画像"building_01texture"を選択します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 このような画面にします。

 こちらも先程の"ベイク"同様、何も接続しないでください。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 再び元の画面に戻ります。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 モデルが配置されている画面の上部にある"UV"から"スマートUV投影"を選択します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 スマートUV投影の設定画面が出てきます。

 アイランドの余白は、"0.20"くらいが良いです。

 数値を入力したらOKを押します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 スマートUV投影が反映され、上の画像のようになります。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 先程設定した"レンダープロパティ"に戻り、"直接証明"と"間接照明"のチェックマークが外れているか今一度確認しましょう。

 次に"ベイク"を実行します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 テクスチャーが出来上がりました。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 画面左側にある"Image"→"Save As..."を選択し、作成したテクスチャー画像を保存します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 画面右側の"マテリアルプロパティ"を選択肢、"ベースカラー"を"画像テクスチャ"に変更。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 左にあるテクスチャ画像選択画面から、先程作成したテクスチャ画像を選択します。

 今回の場合は、"building_01texture"

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 "マテリアルプロパティ"の"プレビュー"に画像が取り込まれているかを確認します。

 これでほぼ設定は完了です。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 "ファイル"→"エクスポート"→"FBX (.fbx)"を選択します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 エクスポート画面が出てきました。

 前方 "-Zが前方"
 上 "Yが上"

 になっている事を確認します。

 画像だと見切れていますが、"トランスフォームを適用"にチェックマークを入れてください。

 何故かというと、

 ○Blenderの場合、Z軸が上方向の右手座標系。

 ○Unityの場合、Y軸が上方法の左手座標系。

 だからです。

▶③Unityに入れてみよう

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 Unityを開きます。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 先に、テクスチャ画像を挿入します。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 次に、先程エクスポートした.fbxファイルを挿入します。

 マテリアルにテクスチャ画像が自動で適応されます。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 これで、UnityにMagicavoxelで作ったモデルが表示されるようになりました。

magicavoxel unity blender 変換 インポート エクスポート 取り込む ボクセルモデル 3d モデル 

 ちなみに、エクスポートの設定でトランスフォームを適応したので、ちゃんとXYZ =000 の値になっています。

▶④最後に

 今回使用した建物のモデル15個を、フリー素材としてitch.ioで配布しています。

アバター

About Ryuhei Nishino

イラストレーター/音楽講師/パソコン講師/ネット関係のお仕事をしています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA