Crates.io | bevy_gltf_trait |
lib.rs | bevy_gltf_trait |
version | 0.1.1 |
source | src |
created_at | 2024-07-08 11:08:02.538398 |
updated_at | 2024-07-08 18:20:44.986397 |
description | Customizable Bevy Engine GLTF loading |
homepage | |
repository | https://github.com/dekirisu/bevy_gltf_trait |
max_upload_size | |
id | 1295654 |
size | 262,288 |
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
usedStandardMaterial
sMesh
EntityWorldMut
(similar to EntityCommands
)Transform
and EntityWorldMut
of their parentSpotLight
, PointLight
or DirectionalLight
componentsEntityWorldMut
Transform
and EntityWorldMut
of their parentApp
on_app
to .register_type()
themThe 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,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();
}
bevy | bevy_gltf_trait |
---|---|
0.14 | 0.1 |