burn_human

Crates.ioburn_human
lib.rsburn_human
version0.3.0
created_at2025-12-18 22:06:10.664305+00
updated_at2025-12-23 00:35:13.986976+00
descriptionparametric human mesh pipeline
homepagehttps://github.com/mosure/burn_human
repositoryhttps://github.com/mosure/burn_human
max_upload_size
id1993632
size229,614
Mitchell Mosure (mosure)

documentation

README

burn_human 🔥🧍

test crates.io

parametric 3d human (anny) model, view the demo.

Alt text

features

  • parametric 3dmm forward

  • bevy plugin

  • morphs, skeleton, skinning

  • fitting

usage

use bevy::prelude::*;
use bevy_burn_human::{BurnHumanAssets, BurnHumanInput, BurnHumanPlugin};

fn main() {
    App::new()
        .add_plugins((DefaultPlugins, BurnHumanPlugin::default()))
        .add_systems(Startup, setup)
        .run();
}

fn setup(
    mut commands: Commands,
    mut mats: ResMut<Assets<StandardMaterial>>,
    assets: Res<BurnHumanAssets>,
) {
    commands.spawn((
        Camera3d::default(),
        Transform::from_xyz(0.0, 1.5, 4.0).looking_at(Vec3::Y, Vec3::Y),
    ));
    commands.spawn((
        DirectionalLight::default(),
        Transform::from_xyz(2.0, 4.0, 2.0).looking_at(Vec3::Y, Vec3::Y),
    ));

    let n = assets.body.metadata().metadata.phenotype_labels.len();
    commands.spawn((
        BurnHumanInput {
            phenotype_inputs: Some(vec![0.5; n]),
            ..default()
        },
        MeshMaterial3d(mats.add(StandardMaterial::default())),
    ));
}

generate reference data

python tool/scripts/export_reference.py --output assets/model/fullbody_default.safetensors --seed 1234

The exporter now writes a lighter neutral bundle (fullbody_default.safetensors + fullbody_default.meta.json) with the heavy blendshape tensors quantized to float16 and unused reference cases removed. Output is deterministic (seeded) and cached assets live under .cache/anny/.

Bevy loads the model through the asset server (native and wasm). Keep the files under assets/model/ so the asset path model/fullbody_default.meta.json resolves at runtime.

run the demo

cargo run -p bevy_burn_human

license

mit or apache-2.0 (anny stays under its original license)

Commit count: 0

cargo fmt