/MagicaVoxelUnity

Unity3D plugin for MagicaVoxel's vox format.

Primary LanguageC#MIT LicenseMIT

Note

This project is somewhat old and doesn't support parsing the new features added in the newer .vox format. Though it should still be able to load it. Due to constraints from my current employer, sadly I cannot directly work on this for now. I'll be glad to merge PRs : )

MagicaVoxelUnity

Unity3D plugin for MagicaVoxel's "vox" format

Features

  • Import "vox" files as meshes (faces combined if possible)
  • Import "vox" files as individual voxels (GameObjects)
    • Voxels can be combined into a single GameObject, so you can cut the voxel model into several GameObjects (meshes) for animation purposes

How To

  • Use Tools/MagicaVoxel/Load on the menubar to load and create a GameObject with a voxel model directly

  • Add MVVoxelModel script to your component

    • Use editor controls to load "vox" files onto the object

    • Or use MVVoxelModel's member methods

        LoadVOXFile(filePath, importAsIndividualVoxels)
        LoadVOXData(data, importAsIndividualVoxels)
      
        MVVoxelModel.sizePerVoxel, MVVoxelModel.voxMaterial and MVVoxelModel.meshOrigin can be configured before loading the file/data
      
  • When imported as separate voxels, selecting multiple voxels in the editor will give you a control to combine the selected voxels into a single mesh

    • The mesh can be divided into separate voxels again
  • Use static methods in MVImporter

      Load main chunk:
    
      	LoadVOX(file)
      	LoadVOXFromData(data)
    
      Create meshes from main chunk:
    
      	CreateMeshes(mainChunk, sizePerVox)
    
      Or create meshes and GameObjects from main chunk:
    
      	CreateVoxelGameObjects(mainChunk, parentTransform, material, sizePerVox)
      	CreateIndividualVoxelGameObjects(mainChunk, parentTransform, material, sizePerVox)
    

Todo

  • T-junction problems (intersections)
  • Optional disable face combining

License

MIT

Contact

Thanks

And all other contributors