#magica-voxel #bevy-plugin #mesh #vox #loading

bevy_vox_mesh

bevy引擎插件,用于直接在bevy中加载magica voxel文件作为可用的网格

9个版本 (破坏性更新)

0.8.0 2023年11月14日
0.7.0 2023年7月15日
0.6.0 2023年3月7日
0.5.0 2022年12月6日
0.3.0 2021年6月13日

游戏开发 中排名 #820

MIT 许可证

29KB
214

bevy_vox_mesh

bevy引擎插件,允许直接将magica voxel .vox 文件加载为可用的网格。此插件使用网格顶点着色。

Bevy兼容性

Bevy版本 插件版本
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

用法

demo screenshot


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<Assets<Mesh>>,
    mut stdmats: ResMut<Assets<StandardMaterial>>,
    assets: Res<AssetServer>,
) {
    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()
    });
}



请查看 examples/ 目录中的完整示例。

致谢

此资源加载器由出色的 block-mesh-rs crate 支持。

感谢 @baranyildirim 将其移植到bevy 0.12.0。

依赖项

~37–74MB
~1M SLoC