| Crates.io | bevy_gltf_trait |
| lib.rs | bevy_gltf_trait |
| version | 0.4.0 |
| created_at | 2024-07-08 11:08:02.538398+00 |
| updated_at | 2025-04-25 13:14:29.988377+00 |
| description | Customizable Bevy Engine GLTF loading |
| homepage | |
| repository | https://github.com/dekirisu/bevy_gltf_trait |
| max_upload_size | |
| id | 1295654 |
| size | 303,333 |
This is a fork of bevy /crates/bevy_gltf, that doesn't change any functionalities, but provides several possibilities to customize the conversion between gltf and bevy interns on load using the trait GltfTrait.
default: &["gltf", "glb"]Material usedStandardMaterialsMeshEntityWorldMut (similar to EntityCommands)Transform and EntityWorldMut of their parentSpotLight, PointLight or DirectionalLight componentsEntityWorldMutTransform and EntityWorldMut of their parentAppon_app to .register_type() them| Bevy | This |
|---|---|
| 0.15 | 0.2 |
| 0.14 | 0.1 |
The original way of adding the plugin changes to:
fn main(){
let mut app = App::new();
app.add_plugins((
MinimalPlugins,
GltfPlugin::<()>::default(),
// ...
));
app.run();
}
..and can be modified with the trait to either replace or extend (using different extensions) scene imports.
#[derive(Reflect,Clone,Default)]
struct WhiteGltf;
impl GltfTrait for WhiteGltf {
const EXTENSIONS: &'static [&'static str] = &["myglb"];
type Material = StandardMaterial;
fn convert_material (mut convert:GltfTraitMaterial) -> Self::Material {
convert.material.base_color = Color::WHITE;
convert.material.base_color_texture = None;
convert.material
}
}
fn main(){
let mut app = App::new();
app.add_plugins((
DefaultPlugins,
GltfPlugin::<WhiteGltf>::default()
));
app.run();
}