bevy_vox_mesh
A plugin for the bevy engine which allows loading magica voxel `.vox` files directly into usable meshes. This uses mesh vertex coloring.
## Bevy compatibility
| Bevy version | Plugin version |
| ------------ | -------------- |
| 0.5 | 0.1, 0.2 |
| 0.8 | 0.4 |
| 0.9 | 0.5 |
| 0.10 | 0.6 |
| 0.11 | 0.7, 0.7.1 |
| 0.12 | 0.8 |
## Usage
![demo screenshot](https://raw.githubusercontent.com/Game4all/bevy_vox_mesh/master/assets/screenshot.PNG)
```rust
use bevy::prelude::*;
use bevy_vox_mesh::VoxMeshPlugin;
use std::f32::consts::PI;
fn main() {
App::default()
.add_plugins(DefaultPlugins)
.add_plugin(VoxMeshPlugin::default())
.add_startup_system(setup)
.run();
}
fn setup(
mut commands: Commands,
mut meshes: ResMut>,
mut stdmats: ResMut>,
assets: Res,
) {
commands.spawn(Camera3dBundle {
transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..Default::default()
});
commands.spawn(PbrBundle {
transform: Transform::from_scale((0.01, 0.01, 0.01).into())
* Transform::from_rotation(Quat::from_axis_angle(Vec3::Y, PI)),
mesh: assets.load("chicken.vox"),
material: stdmats.add(Color::rgb(1., 1., 1.).into()),
..Default::default()
});
}
```
Take a look in the `examples/` directory for a complete working example.
## Acknowledgements
This asset loader is powered by the awesome [`block-mesh-rs`](https://github.com/bonsairobo/block-mesh-rs) crate.
Ported to bevy 0.12.0 thanks to @baranyildirim.