From 4dfd3e116dd6e6fa1bd677636f43f23429be1df6 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Fri, 18 Feb 2022 22:49:38 +0200 Subject: [PATCH 1/7] Implement convex collision generation for scenes --- Cargo.toml | 3 +- core/Cargo.toml | 1 + core/assets/cubes.blend | Bin 0 -> 99894 bytes core/assets/cubes.glb | Bin 0 -> 3312 bytes core/src/lib.rs | 7 + core/src/pending_collision.rs | 240 ++++++++++++++++++++++++++++++++++ 6 files changed, 250 insertions(+), 1 deletion(-) create mode 100644 core/assets/cubes.blend create mode 100644 core/assets/cubes.glb create mode 100644 core/src/pending_collision.rs diff --git a/Cargo.toml b/Cargo.toml index 078b623a..22257aa5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,8 @@ categories = ["game-development", "simulation"] all-features = true [features] -default = [] +default = ["scenes"] +scenes = ["heron_core/scenes"] 2d = ["heron_rapier/2d"] 3d = ["heron_rapier/3d", "heron_core/3d"] debug-2d = ["2d", "heron_debug/2d"] diff --git a/core/Cargo.toml b/core/Cargo.toml index 232b0c61..3a2ca790 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -14,6 +14,7 @@ all-features = true [features] default = [] 3d = [] +scenes = ["bevy/render"] [dependencies] bevy = { version = "0.6.0", default-features = false } diff --git a/core/assets/cubes.blend b/core/assets/cubes.blend new file mode 100644 index 0000000000000000000000000000000000000000..bbd40d4d1cdd0c71369c58a96aa1a4a9a9be41af GIT binary patch literal 99894 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 b0RRB-8UO(E)c^o|zX1Ra00000vFehK4o<4R literal 0 HcmV?d00001 diff --git a/core/assets/cubes.glb b/core/assets/cubes.glb new file mode 100644 index 0000000000000000000000000000000000000000..8bfd96e8e52265587a01c71a476d72a43464926d GIT binary patch literal 3312 zcmbtV>rUfF6h2FV?e4M{+S2`N&2KmL4Liw?vcPU7T1qNFt4athCYWF;v5{?PR}oSk zp>LEvQXiq;nRqtFP8?7tnK}1w&YYQ(^!mp?FA>qdYeer?iGDfi91Mk@ra>m!L(vPO zAn~&}5pD77RT4*Ws`U_}?ev4_B1p8oA3NHu+3*^+Ep%}kBxx8&aJCwTxYI@21%PN9 zIhTs|$xuZ806K9bZMul!i+~O0>D}p68j3-XUdd49Kk)ng-JA0O8>L;p4~!F|VVj=k z8MbS-48yisuKpkuHp&t|O8b5$^F1+iL$@2A+r z17VY_Oe8uv#ZK5Oo-sT>DmL=i& zO~&F-{N6d*JKpOY$eJB=4u9L;7i}bZ{Naz?PUrCbCquL?+({T+gk27?@8kh12YKKw zjxN+LoA-Bdi@SK(1$Fbg*fWij$rCugxx5ULk74kq%(fd3uHz_(vg6O!xYkY6a&^&- zZz4QG3;PWGzxaXZ`0y2kd>KEOy8J?s$tdyh!>)}-Hxxy56krj0UAXm_aI3PrJu6%) z<=Jc;GvEDacYA;PumXU?FG~M^6bJXV2)(X2@{;OrZW>-KjyG%f+T!4@r*~U?N%9q) zf6jvaAnIlK*|3^T_(IXSyp+FX#`Iw>c2rWi-y`)&idG%4Z%w zE?~^#6$aa9@k+Q5ap6e_J zcpg$7NmefE9wx$lJxiRM+P4zRIk26_NUm~GIu)yAVG<_$u}p=&VOhf*zK>*A9I-Z*Z=?k literal 0 HcmV?d00001 diff --git a/core/src/lib.rs b/core/src/lib.rs index 8f1fe753..a434a444 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -14,6 +14,8 @@ pub use constraints::RotationConstraints; pub use events::{CollisionData, CollisionEvent}; pub use gravity::Gravity; pub use layers::{CollisionLayers, PhysicsLayer}; +#[cfg(feature = "scenes")] +pub use pending_collision::PendingConvexCollision; pub use physics_time::PhysicsTime; pub use step::{PhysicsStepDuration, PhysicsSteps}; pub use velocity::{Acceleration, AxisAngle, Damping, Velocity}; @@ -22,6 +24,8 @@ mod constraints; mod events; mod gravity; mod layers; +#[cfg(feature = "scenes")] +mod pending_collision; mod physics_time; mod step; pub mod utils; @@ -76,6 +80,9 @@ impl Plugin for CorePlugin { .add_stage_before(CoreStage::PostUpdate, crate::stage::ROOT, { Schedule::default().with_stage(crate::stage::UPDATE, SystemStage::parallel()) }); + + #[cfg(feature = "scenes")] + app.add_system(pending_collision::pending_collision_system); } } diff --git a/core/src/pending_collision.rs b/core/src/pending_collision.rs new file mode 100644 index 00000000..344baa9f --- /dev/null +++ b/core/src/pending_collision.rs @@ -0,0 +1,240 @@ +use bevy::{prelude::*, render::mesh::VertexAttributeValues}; + +use crate::{CollisionShape, RigidBody}; + +/// Component which indicates that this enityty contains scene(s) which waiting for collision generation. +/// +/// Once the scene is instantiated (Bevy loads the scenes asynchronously), then all elements of the scene will be added [`RigidBody`] and [`CollisionShape::ConvexHull`] (based on the geometry) components. +/// +/// # Example +/// +/// ``` +/// # use bevy::prelude::*; +/// # use heron_core::*; +/// fn spawn(mut commands: Commands, asset_server: ResMut) { +/// commands +/// .spawn() +/// .insert(Transform::default()) +/// .insert(GlobalTransform::default()) +/// .insert(PendingConvexCollision { +/// body_type: RigidBody::Static, +/// border_radius: None, +/// }) +/// .with_children(|parent| { +/// parent.spawn_scene(asset_server.load("cubes.glb#Scene0")); +/// }); +/// } +/// ``` +#[derive(Component)] +pub struct PendingConvexCollision { + /// Rigid body type which will be assigned to every scene entity. + pub body_type: RigidBody, + /// Border radius that will be used for [`CollisionShape::ConvexHull`]. + pub border_radius: Option, +} + +/// Generates collision and attaches physics body for all entities with [`PendingConvexCollision`]. +pub(super) fn pending_collision_system( + mut commands: Commands<'_, '_>, + added_scenes: Query<'_, '_, (Entity, &Children, &PendingConvexCollision)>, + scene_elements: Query<'_, '_, &Children, Without>, + mesh_handles: Query<'_, '_, &Handle>, + meshes: Res<'_, Assets>, +) { + for (entity, children, pending_collision) in added_scenes.iter() { + if generate_collision( + &mut commands, + pending_collision, + children, + &scene_elements, + &mesh_handles, + &meshes, + ) { + // Only delete the component when the meshes are loaded and their is generated + commands.entity(entity).remove::(); + } + } +} + +/// Recursively generate collision and attach physics body for the specified children. +/// Returns `true` if a mesh was found. +fn generate_collision( + commands: &mut Commands<'_, '_>, + pending_collision: &PendingConvexCollision, + children: &Children, + scene_elements: &Query<'_, '_, &Children, Without>, + mesh_handles: &Query<'_, '_, &Handle>, + meshes: &Assets, +) -> bool { + let mut generated = false; + for child in children.iter() { + if let Ok(children) = scene_elements.get(*child) { + if generate_collision( + commands, + pending_collision, + children, + scene_elements, + mesh_handles, + meshes, + ) { + generated = true; + } + } + if let Ok(handle) = mesh_handles.get(*child) { + generated = true; + let mesh = meshes.get(handle).unwrap(); // SAFETY: Mesh already loaded + let vertices = match mesh.attribute(Mesh::ATTRIBUTE_POSITION).unwrap() { + VertexAttributeValues::Float32x3(vertices) => vertices, + _ => unreachable!( + "Mesh should have encoded vertices as VertexAttributeValues::Float32x3" + ), + }; + let mut points = Vec::with_capacity(vertices.len()); + for vertex in vertices { + points.push(Vec3::new(vertex[0], vertex[1], vertex[2])); + } + commands + .entity(*child) + .insert(pending_collision.body_type) + .insert(CollisionShape::ConvexHull { + points, + border_radius: pending_collision.border_radius, + }); + } + } + + generated +} + +#[cfg(test)] +mod tests { + use bevy::{ + asset::AssetPlugin, + core::CorePlugin, + gltf::GltfPlugin, + pbr::PbrPlugin, + prelude::*, + render::{options::WgpuOptions, RenderPlugin}, + scene::ScenePlugin, + window::WindowPlugin, + }; + + use super::*; + + // Allows run tests for systems containing rendering related things without GPU + pub(super) struct HeadlessRenderPlugin; + + impl Plugin for HeadlessRenderPlugin { + fn build(&self, app: &mut App) { + app.insert_resource(WgpuOptions { + backends: None, + ..Default::default() + }) + .add_plugin(CorePlugin::default()) + .add_plugin(TransformPlugin::default()) + .add_plugin(WindowPlugin::default()) + .add_plugin(AssetPlugin::default()) + .add_plugin(ScenePlugin::default()) + .add_plugin(RenderPlugin::default()) + .add_plugin(PbrPlugin::default()) + .add_plugin(GltfPlugin::default()); + } + } + + #[test] + fn pending_collision_assignes() { + let mut app = App::new(); + app.add_plugin(HeadlessRenderPlugin) + .add_system(pending_collision_system); + + const REQUESTED_COLLISION: PendingConvexCollision = PendingConvexCollision { + body_type: RigidBody::Static, + border_radius: None, + }; + + let parent = app + .world + .spawn() + .insert(Transform::default()) + .insert(GlobalTransform::default()) + .insert(REQUESTED_COLLISION) + .id(); + + app.world + .resource_scope(|world, mut scene_spawner: Mut<'_, SceneSpawner>| { + let asset_server = world.get_resource::().unwrap(); + scene_spawner.spawn_as_child(asset_server.load("cubes.glb#Scene0"), parent); + scene_spawner + .spawn_queued_scenes(world) + .expect("Unable to spawn scene"); + }); + + let mut query = app + .world + .query::<(&Handle, &RigidBody, &CollisionShape)>(); + assert_eq!( + query.iter(&app.world).count(), + 0, + "Mesh handles, rigid bodies and collision shapes shouldn't exist before update" + ); + + app.update(); + app.update(); + + assert_eq!( + query.iter(&app.world).count(), + 2, + "Entities with mesh handles should have rigid bodies and collision shapes after update" + ); + + let meshes = app.world.get_resource::>().unwrap(); + for (mesh_handle, body_type, collision_shape) in query.iter(&app.world) { + assert_eq!( + *body_type, REQUESTED_COLLISION.body_type, + "Assigned body type should be equal to specified" + ); + + let (points, border_radius) = match collision_shape { + CollisionShape::ConvexHull { + points, + border_radius, + } => (points, border_radius), + _ => panic!("Assigned collision shape must be a convex hull"), + }; + + let mesh = meshes.get(mesh_handle).unwrap(); + let vertices = match mesh.attribute(Mesh::ATTRIBUTE_POSITION).unwrap() { + VertexAttributeValues::Float32x3(vertices) => vertices, + _ => unreachable!( + "Mesh should have encoded vertices as VertexAttributeValues::Float32x3" + ), + }; + for (point, vertex) in points.iter().zip(vertices) { + assert_eq!( + point.x, vertex[0], + "x collision value should be equal to mesh vertex value" + ); + assert_eq!( + point.y, vertex[1], + "y collision value should be equal to mesh vertex value" + ); + assert_eq!( + point.z, vertex[2], + "z collision value should be equal to mesh vertex value" + ); + } + + assert_eq!( + *border_radius, REQUESTED_COLLISION.border_radius, + "Assigned border radius should be equal to specified" + ); + } + + assert!( + !app.world + .entity(parent) + .contains::(), + "Parent entity should have PendingConvexCollision removed" + ); + } +} From 43fa0d1c9cd9d165132ed47d2e27a6277b31b239 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Sat, 19 Feb 2022 12:25:28 +0200 Subject: [PATCH 2/7] Rename scenes feature into shape-from-mesh --- Cargo.toml | 4 ++-- core/Cargo.toml | 2 +- core/src/lib.rs | 12 ++++++------ .../src/{pending_collision.rs => shape_from_mesh.rs} | 0 4 files changed, 9 insertions(+), 9 deletions(-) rename core/src/{pending_collision.rs => shape_from_mesh.rs} (100%) diff --git a/Cargo.toml b/Cargo.toml index 22257aa5..fade8069 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,8 +17,8 @@ categories = ["game-development", "simulation"] all-features = true [features] -default = ["scenes"] -scenes = ["heron_core/scenes"] +default = ["shape-from-mesh"] +shape-from-mesh = ["heron_core/shape-from-mesh"] 2d = ["heron_rapier/2d"] 3d = ["heron_rapier/3d", "heron_core/3d"] debug-2d = ["2d", "heron_debug/2d"] diff --git a/core/Cargo.toml b/core/Cargo.toml index 3a2ca790..2b0685dc 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -14,7 +14,7 @@ all-features = true [features] default = [] 3d = [] -scenes = ["bevy/render"] +shape-from-mesh = ["bevy/render"] [dependencies] bevy = { version = "0.6.0", default-features = false } diff --git a/core/src/lib.rs b/core/src/lib.rs index a434a444..5cd7d040 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -14,8 +14,8 @@ pub use constraints::RotationConstraints; pub use events::{CollisionData, CollisionEvent}; pub use gravity::Gravity; pub use layers::{CollisionLayers, PhysicsLayer}; -#[cfg(feature = "scenes")] -pub use pending_collision::PendingConvexCollision; +#[cfg(feature = "shape-from-mesh")] +pub use shape_from_mesh::PendingConvexCollision; pub use physics_time::PhysicsTime; pub use step::{PhysicsStepDuration, PhysicsSteps}; pub use velocity::{Acceleration, AxisAngle, Damping, Velocity}; @@ -24,8 +24,8 @@ mod constraints; mod events; mod gravity; mod layers; -#[cfg(feature = "scenes")] -mod pending_collision; +#[cfg(feature = "shape-from-mesh")] +mod shape_from_mesh; mod physics_time; mod step; pub mod utils; @@ -81,8 +81,8 @@ impl Plugin for CorePlugin { Schedule::default().with_stage(crate::stage::UPDATE, SystemStage::parallel()) }); - #[cfg(feature = "scenes")] - app.add_system(pending_collision::pending_collision_system); + #[cfg(feature = "shape-from-mesh")] + app.add_system(shape_from_mesh::pending_collision_system); } } diff --git a/core/src/pending_collision.rs b/core/src/shape_from_mesh.rs similarity index 100% rename from core/src/pending_collision.rs rename to core/src/shape_from_mesh.rs From a0129eda9acc6a8fe813b514a702127e4792f850 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Sat, 19 Feb 2022 12:39:55 +0200 Subject: [PATCH 3/7] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fbfeb35d..dc78c02b 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ heron = { version = "1.1.0", features = ["3d"] } One must choose to use either `2d` or `3d`. If neither of the two features is enabled, the `PhysicsPlugin` won't be available. +* `shape-from-mesh` Add a component to generate convex hull collision for a mesh. * `3d` Enable simulation on the 3 axes `x`, `y`, and `z`. * `2d` Enable simulation only on the first 2 axes `x` and `y`. * `debug-2d` Render 2d collision shapes. From dcfb24fdfcc21c5aedb01fd36f01b40405e16ea9 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Sat, 19 Feb 2022 13:47:16 +0200 Subject: [PATCH 4/7] Generate meshes for test --- core/assets/cubes.blend | Bin 99894 -> 0 bytes core/assets/cubes.glb | Bin 3312 -> 0 bytes core/src/shape_from_mesh.rs | 31 ++++++++++--------------------- 3 files changed, 10 insertions(+), 21 deletions(-) delete mode 100644 core/assets/cubes.blend delete mode 100644 core/assets/cubes.glb diff --git a/core/assets/cubes.blend b/core/assets/cubes.blend deleted file mode 100644 index bbd40d4d1cdd0c71369c58a96aa1a4a9a9be41af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99894 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 b0RRB-8UO(E)c^o|zX1Ra00000vFehK4o<4R diff --git a/core/assets/cubes.glb b/core/assets/cubes.glb deleted file mode 100644 index 8bfd96e8e52265587a01c71a476d72a43464926d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3312 zcmbtV>rUfF6h2FV?e4M{+S2`N&2KmL4Liw?vcPU7T1qNFt4athCYWF;v5{?PR}oSk zp>LEvQXiq;nRqtFP8?7tnK}1w&YYQ(^!mp?FA>qdYeer?iGDfi91Mk@ra>m!L(vPO zAn~&}5pD77RT4*Ws`U_}?ev4_B1p8oA3NHu+3*^+Ep%}kBxx8&aJCwTxYI@21%PN9 zIhTs|$xuZ806K9bZMul!i+~O0>D}p68j3-XUdd49Kk)ng-JA0O8>L;p4~!F|VVj=k z8MbS-48yisuKpkuHp&t|O8b5$^F1+iL$@2A+r z17VY_Oe8uv#ZK5Oo-sT>DmL=i& zO~&F-{N6d*JKpOY$eJB=4u9L;7i}bZ{Naz?PUrCbCquL?+({T+gk27?@8kh12YKKw zjxN+LoA-Bdi@SK(1$Fbg*fWij$rCugxx5ULk74kq%(fd3uHz_(vg6O!xYkY6a&^&- zZz4QG3;PWGzxaXZ`0y2kd>KEOy8J?s$tdyh!>)}-Hxxy56krj0UAXm_aI3PrJu6%) z<=Jc;GvEDacYA;PumXU?FG~M^6bJXV2)(X2@{;OrZW>-KjyG%f+T!4@r*~U?N%9q) zf6jvaAnIlK*|3^T_(IXSyp+FX#`Iw>c2rWi-y`)&idG%4Z%w zE?~^#6$aa9@k+Q5ap6e_J zcpg$7NmefE9wx$lJxiRM+P4zRIk26_NUm~GIu)yAVG<_$u}p=&VOhf*zK>*A9I-Z*Z=?k diff --git a/core/src/shape_from_mesh.rs b/core/src/shape_from_mesh.rs index 344baa9f..d7d97b24 100644 --- a/core/src/shape_from_mesh.rs +++ b/core/src/shape_from_mesh.rs @@ -111,11 +111,8 @@ mod tests { use bevy::{ asset::AssetPlugin, core::CorePlugin, - gltf::GltfPlugin, - pbr::PbrPlugin, - prelude::*, + prelude::shape::{Cube, Capsule}, render::{options::WgpuOptions, RenderPlugin}, - scene::ScenePlugin, window::WindowPlugin, }; @@ -131,13 +128,9 @@ mod tests { ..Default::default() }) .add_plugin(CorePlugin::default()) - .add_plugin(TransformPlugin::default()) .add_plugin(WindowPlugin::default()) .add_plugin(AssetPlugin::default()) - .add_plugin(ScenePlugin::default()) - .add_plugin(RenderPlugin::default()) - .add_plugin(PbrPlugin::default()) - .add_plugin(GltfPlugin::default()); + .add_plugin(RenderPlugin::default()); } } @@ -147,6 +140,10 @@ mod tests { app.add_plugin(HeadlessRenderPlugin) .add_system(pending_collision_system); + let mut meshes = app.world.get_resource_mut::>().unwrap(); + let cube = meshes.add(Cube::default().into()); + let capsule = meshes.add(Capsule::default().into()); + const REQUESTED_COLLISION: PendingConvexCollision = PendingConvexCollision { body_type: RigidBody::Static, border_radius: None, @@ -155,20 +152,13 @@ mod tests { let parent = app .world .spawn() - .insert(Transform::default()) - .insert(GlobalTransform::default()) .insert(REQUESTED_COLLISION) + .with_children(|parent| { + parent.spawn().insert(cube); + parent.spawn().insert(capsule); + }) .id(); - app.world - .resource_scope(|world, mut scene_spawner: Mut<'_, SceneSpawner>| { - let asset_server = world.get_resource::().unwrap(); - scene_spawner.spawn_as_child(asset_server.load("cubes.glb#Scene0"), parent); - scene_spawner - .spawn_queued_scenes(world) - .expect("Unable to spawn scene"); - }); - let mut query = app .world .query::<(&Handle, &RigidBody, &CollisionShape)>(); @@ -178,7 +168,6 @@ mod tests { "Mesh handles, rigid bodies and collision shapes shouldn't exist before update" ); - app.update(); app.update(); assert_eq!( From 1a711c6bb24ccfba5cb3322fbef2b8119cd0cc3b Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Sat, 19 Feb 2022 13:49:49 +0200 Subject: [PATCH 5/7] REname shape-from-mesh into collision-from-mesh --- Cargo.toml | 4 ++-- README.md | 2 +- core/Cargo.toml | 2 +- .../{shape_from_mesh.rs => collision_from_mesh.rs} | 0 core/src/lib.rs | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) rename core/src/{shape_from_mesh.rs => collision_from_mesh.rs} (100%) diff --git a/Cargo.toml b/Cargo.toml index fade8069..acc03a6f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,8 +17,8 @@ categories = ["game-development", "simulation"] all-features = true [features] -default = ["shape-from-mesh"] -shape-from-mesh = ["heron_core/shape-from-mesh"] +default = ["collision-from-mesh"] +collision-from-mesh = ["heron_core/collision-from-mesh"] 2d = ["heron_rapier/2d"] 3d = ["heron_rapier/3d", "heron_core/3d"] debug-2d = ["2d", "heron_debug/2d"] diff --git a/README.md b/README.md index dc78c02b..abb6e914 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ heron = { version = "1.1.0", features = ["3d"] } One must choose to use either `2d` or `3d`. If neither of the two features is enabled, the `PhysicsPlugin` won't be available. -* `shape-from-mesh` Add a component to generate convex hull collision for a mesh. +* `collision-from-mesh` Add a component to generate convex hull collision for a mesh. * `3d` Enable simulation on the 3 axes `x`, `y`, and `z`. * `2d` Enable simulation only on the first 2 axes `x` and `y`. * `debug-2d` Render 2d collision shapes. diff --git a/core/Cargo.toml b/core/Cargo.toml index 2b0685dc..ac39c60e 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -14,7 +14,7 @@ all-features = true [features] default = [] 3d = [] -shape-from-mesh = ["bevy/render"] +collision-from-mesh = ["bevy/render"] [dependencies] bevy = { version = "0.6.0", default-features = false } diff --git a/core/src/shape_from_mesh.rs b/core/src/collision_from_mesh.rs similarity index 100% rename from core/src/shape_from_mesh.rs rename to core/src/collision_from_mesh.rs diff --git a/core/src/lib.rs b/core/src/lib.rs index 5cd7d040..f6621b09 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -14,8 +14,8 @@ pub use constraints::RotationConstraints; pub use events::{CollisionData, CollisionEvent}; pub use gravity::Gravity; pub use layers::{CollisionLayers, PhysicsLayer}; -#[cfg(feature = "shape-from-mesh")] -pub use shape_from_mesh::PendingConvexCollision; +#[cfg(feature = "collision-from-mesh")] +pub use collision_from_mesh::PendingConvexCollision; pub use physics_time::PhysicsTime; pub use step::{PhysicsStepDuration, PhysicsSteps}; pub use velocity::{Acceleration, AxisAngle, Damping, Velocity}; @@ -24,8 +24,8 @@ mod constraints; mod events; mod gravity; mod layers; -#[cfg(feature = "shape-from-mesh")] -mod shape_from_mesh; +#[cfg(feature = "collision-from-mesh")] +mod collision_from_mesh; mod physics_time; mod step; pub mod utils; @@ -81,8 +81,8 @@ impl Plugin for CorePlugin { Schedule::default().with_stage(crate::stage::UPDATE, SystemStage::parallel()) }); - #[cfg(feature = "shape-from-mesh")] - app.add_system(shape_from_mesh::pending_collision_system); + #[cfg(feature = "collision-from-mesh")] + app.add_system(collision_from_mesh::pending_collision_system); } } From 906f51dea0d68dc684a56eedd527ec32dc5d503b Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Sat, 19 Feb 2022 13:50:27 +0200 Subject: [PATCH 6/7] Format the code --- core/src/collision_from_mesh.rs | 2 +- core/src/lib.rs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/collision_from_mesh.rs b/core/src/collision_from_mesh.rs index d7d97b24..506646ed 100644 --- a/core/src/collision_from_mesh.rs +++ b/core/src/collision_from_mesh.rs @@ -111,7 +111,7 @@ mod tests { use bevy::{ asset::AssetPlugin, core::CorePlugin, - prelude::shape::{Cube, Capsule}, + prelude::shape::{Capsule, Cube}, render::{options::WgpuOptions, RenderPlugin}, window::WindowPlugin, }; diff --git a/core/src/lib.rs b/core/src/lib.rs index f6621b09..4a65103e 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -10,22 +10,22 @@ use std::sync::Arc; use bevy::ecs::schedule::ShouldRun; use bevy::prelude::*; +#[cfg(feature = "collision-from-mesh")] +pub use collision_from_mesh::PendingConvexCollision; pub use constraints::RotationConstraints; pub use events::{CollisionData, CollisionEvent}; pub use gravity::Gravity; pub use layers::{CollisionLayers, PhysicsLayer}; -#[cfg(feature = "collision-from-mesh")] -pub use collision_from_mesh::PendingConvexCollision; pub use physics_time::PhysicsTime; pub use step::{PhysicsStepDuration, PhysicsSteps}; pub use velocity::{Acceleration, AxisAngle, Damping, Velocity}; +#[cfg(feature = "collision-from-mesh")] +mod collision_from_mesh; mod constraints; mod events; mod gravity; mod layers; -#[cfg(feature = "collision-from-mesh")] -mod collision_from_mesh; mod physics_time; mod step; pub mod utils; From 451a97b8d29d17c592d0707ef0cdc6024ef55c20 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Sat, 19 Feb 2022 13:57:54 +0200 Subject: [PATCH 7/7] Improve description --- core/src/collision_from_mesh.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/collision_from_mesh.rs b/core/src/collision_from_mesh.rs index 506646ed..c6711beb 100644 --- a/core/src/collision_from_mesh.rs +++ b/core/src/collision_from_mesh.rs @@ -2,9 +2,9 @@ use bevy::{prelude::*, render::mesh::VertexAttributeValues}; use crate::{CollisionShape, RigidBody}; -/// Component which indicates that this enityty contains scene(s) which waiting for collision generation. +/// Component which indicates that this entity or its children contains meshes which waiting for collision generation. /// -/// Once the scene is instantiated (Bevy loads the scenes asynchronously), then all elements of the scene will be added [`RigidBody`] and [`CollisionShape::ConvexHull`] (based on the geometry) components. +/// Once a mesh is added (for example, Bevy loads the GTLF scenes asynchronously), then the entity or its children will be added [`RigidBody`] and [`CollisionShape::ConvexHull`] (based on the geometry) components. /// /// # Example /// @@ -14,7 +14,7 @@ use crate::{CollisionShape, RigidBody}; /// fn spawn(mut commands: Commands, asset_server: ResMut) { /// commands /// .spawn() -/// .insert(Transform::default()) +/// .insert(Transform::default()) // Required to apply GLTF transforms in Bevy /// .insert(GlobalTransform::default()) /// .insert(PendingConvexCollision { /// body_type: RigidBody::Static,