An open API service indexing awesome lists of open source software.

https://github.com/kevzettler/parse-magica-voxel

Parse MagicaVoxel .vox files to javascript objects works in browser or server
https://github.com/kevzettler/parse-magica-voxel

magicavoxel voxel voxels webgl

Last synced: about 22 hours ago
JSON representation

Parse MagicaVoxel .vox files to javascript objects works in browser or server

Awesome Lists containing this project

README

          

# Parse MagicaVoxel .vox file format
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

## Install

```
npm install parse-magica-voxel
```

## Usage
see [examples](/example)

* Node.js
```javascript
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
```javascript
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));
});
```

### Result
```
{
"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
],
}
```