はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】UnityのメッシュをフルカラーでMagicaVoxelにエクスポートできる「MagicaVoxel Tools」の紹介と使い方【アセット紹介(2)】

はじめに

今回はUnityのメッシュをフルカラーでMagicaVoxelにエクスポートできるMagicaVoxel Toolsというアセットについて紹介したいと思います。


ゲームオブジェクトから.voxを生成する
サンプルシーン1

概要

MagicaVoxel Toolsを用いることでUnity上でMagicaVoxelにて利用されるフォーマット.voxへの入出力が可能になります。

ephtracy.github.io

Export any of your Unity meshes with full color to MagicaVoxel.
Import MagicaVoxel files Optimized to Prefabs.

// DeepL翻訳
UnityのメッシュをフルカラーでMagicaVoxelにエクスポートできます。
Prefabsに最適化されたMagicaVoxelのファイルをインポート。

Export

  • Standard Unity Meshes
  • Skinned Meshes
  • Combined Meshes

※Includes a Mesh baker, so you can Voxelize multiple meshes as a single object.

Import

  • Optimized Mesh
  • MagicaVoxel Materials
  • Voxel Data

MagicaVoxel Tools | Utilities Tools | Unity Asset Store

環境

MagicaVoxel Tools v1.6.1

対応プラットフォーム

Unity 2017.4.32 or higher
MagicaVoxel-0.98.2 or newer

MagicaVoxelへエクスポート

メニューバーからTools/MagicaVoxel Exportを選択し、Export Editor Windowを開きます。

Export Editor Window

この画面を開いた状態で、MagicaVoxelへエクスポートしたいゲームオブジェクトを選択してください。(一つのMeshだけのゲームオブジェクト)

ゲームオブジェクトを選択
SizeやPaletteを変更している様子

Sizeにより、Paletteにより色の総数を変更することができます。

Exportを押すと、.voxファイルが出力されます。

またデフォルトではAssets以下にファイルが生成されますが、フォルダマークを選択することで出力先を設定することができます。

MagicaVoxel.voxを開くことで、正しく出力できていることを確認することができます。

MagicaVoxel上で開く

複数のメッシュを1つのオブジェクトにベイクしてボクセル化

GameObject(Mesh Rendererなし)
|---- GameObject(Mesh Renderer)
        |---- GameObject(Mesh Renderer)
        |---- GameObject(Mesh Renderer)

このように複数のメッシュにより構成されていた場合、一度一つのメッシュに結合した後にエクスポートする必要があります。

Bakeをしてメッシュを結合

対象のGameObjectのルートのGameObjectに対してHierarchyビューで右クリック、Bakeを選択すると、メッシュが結合されたGameObjectが新しく生成されます。

メッシュが結合されたGameObject生成

.voxのインポート

.voxをUnity上で扱える機能が実装されています。(技術的な話でいうとScriptedImporterを利用している)

.voxを選択した時のインスペクター表示

Create Pehabボタンを押すことでPrefabが作成され、シーン上に配置することができるようになります。

Create Prefab

さいごに

おまけで爆発させられるようなExplodableコンポーネントが同梱されています。

サンプルシーン2