Javascript parser for MagicaVoxel .vox file format:
https://github.com/ephtracy/voxel-model/blob/master/MagicaVoxel-file-format-vox.txt
Works in Browser and Node.js server environments
npm install parse-magica-voxel
see examples
- Node.js
var fs = require('fs');
var parseMagicaVoxel = require('parse-magica-voxel');
fs.readFile("./chr_old.vox", function (err, Buffer) {
if (err) throw err;
console.log(JSON.stringify(parseMagicaVoxel(Buffer)));
});
- Browser
You will have to bundle the module with Webpack or Browserify and load the voxel file using fetch
or another XMLHttpRequest
utility
var parseMagicaVoxel = require('parse-magica-voxel');
var myRequest = new Request('/example/path/to/your-vox-file.vox');
fetch(myRequest).then(function(response) {
return response.arrayBuffer();
}).then(function(buffer) {
console.log(JSON.stringify(parseMagicaVoxel(buffer));
});
{
"VOX ": 150,
"PACK": 1,
"SIZE": {
"x": 20,
"y": 21,
"z": 20
},
"XYZI": [
{x, y, z, c},
//... more voxels
],
"RGBA": [
{r,g,b,a},
//... more rgba values
],
}