From 9e0582cbd596bd4193c113df0cc4f6de67e5a034 Mon Sep 17 00:00:00 2001 From: lassade Date: Sat, 7 Nov 2020 17:22:25 -0300 Subject: [PATCH 001/153] skinned mesh import + basic startup system --- Cargo.toml | 2 + crates/bevy_core/src/lib.rs | 6 +- crates/bevy_core/src/name.rs | 22 +++ crates/bevy_gltf/Cargo.toml | 6 +- crates/bevy_gltf/src/loader.rs | 213 ++++++++++++++++++++-------- crates/bevy_render/src/mesh/mesh.rs | 10 ++ crates/bevy_skinned_mesh/Cargo.toml | 22 +++ crates/bevy_skinned_mesh/src/lib.rs | 163 +++++++++++++++++++++ src/default_plugins.rs | 5 +- 9 files changed, 388 insertions(+), 61 deletions(-) create mode 100644 crates/bevy_core/src/name.rs create mode 100644 crates/bevy_skinned_mesh/Cargo.toml create mode 100644 crates/bevy_skinned_mesh/src/lib.rs diff --git a/Cargo.toml b/Cargo.toml index 8d18c2969c90a..3e78d2b2daf28 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,6 +21,7 @@ default = [ "bevy_dynamic_plugin", "bevy_gilrs", "bevy_gltf", + "bevy_skinned_mesh", "bevy_wgpu", "bevy_winit", "render", @@ -74,6 +75,7 @@ bevy_tasks = { path = "crates/bevy_tasks", version = "0.3.0" } # bevy (optional) bevy_audio = { path = "crates/bevy_audio", optional = true, version = "0.3.0" } bevy_gltf = { path = "crates/bevy_gltf", optional = true, version = "0.3.0" } +bevy_skinned_mesh = { path = "crates/bevy_skinned_mesh", optional = true, version = "0.3.0" } bevy_pbr = { path = "crates/bevy_pbr", optional = true, version = "0.3.0" } bevy_render = { path = "crates/bevy_render", optional = true, version = "0.3.0" } bevy_dynamic_plugin = { path = "crates/bevy_dynamic_plugin", optional = true, version = "0.3.0" } diff --git a/crates/bevy_core/src/lib.rs b/crates/bevy_core/src/lib.rs index be901f68140a0..de31cb51f58d1 100644 --- a/crates/bevy_core/src/lib.rs +++ b/crates/bevy_core/src/lib.rs @@ -1,17 +1,19 @@ mod bytes; mod float_ord; mod label; +mod name; mod task_pool_options; mod time; pub use bytes::*; pub use float_ord::*; pub use label::*; +pub use name::*; pub use task_pool_options::DefaultTaskPoolOptions; pub use time::*; pub mod prelude { - pub use crate::{DefaultTaskPoolOptions, EntityLabels, Labels, Time, Timer}; + pub use crate::{DefaultTaskPoolOptions, EntityLabels, Labels, Name, Time, Timer}; } use bevy_app::prelude::*; @@ -33,7 +35,9 @@ impl Plugin for CorePlugin { app.init_resource::