diff --git a/src/action/mod.rs b/src/action/mod.rs index 8937120..1fb495a 100644 --- a/src/action/mod.rs +++ b/src/action/mod.rs @@ -1,10 +1,11 @@ +use avian3d::prelude::*; use bevy::{ + app::Startup, diagnostic::FrameTimeDiagnosticsPlugin, ecs::reflect::ReflectResource, prelude::{App, IntoSystemConfigs, Plugin, Resource}, reflect::Reflect, }; -use bevy_rapier3d::prelude::{NoUserData, RapierPhysicsPlugin}; mod components; mod systems; @@ -28,9 +29,9 @@ impl Plugin for CyberActionPlugin { .init_resource::() .register_type::() .register_type::() - .add_plugin(RapierPhysicsPlugin::::default()) - .add_startup_system(timestep_setup) - .add_plugin(FrameTimeDiagnosticsPlugin::default()) + .add_plugins(PhysicsPlugins::default()) + .add_systems(Startup, timestep_setup) + .add_plugins(FrameTimeDiagnosticsPlugin::default()) .add_systems( ( gravity, diff --git a/src/action/systems.rs b/src/action/systems.rs index e55670d..61b4444 100644 --- a/src/action/systems.rs +++ b/src/action/systems.rs @@ -1,15 +1,12 @@ use std::f32::consts::{FRAC_PI_3, FRAC_PI_4}; +use avian3d::prelude::*; use bevy::prelude::{ Commands, Entity, Quat, Query, Res, ResMut, Time, Transform, Vec3, With, Without, }; -use bevy_rapier3d::prelude::{ - CollisionGroups, ExternalForce, Group, MultibodyJoint, QueryFilter, RapierConfiguration, - RapierContext, ReadMassProperties, TimestepMode, Velocity, -}; -#[cfg(feature = "inspector")] -use super::ActionDebugInstant; +//#[cfg(feature = "inspector")] +//use super::ActionDebugInstant; use super::{CatControllerSettings, CatControllerState, CyberLean, MovementSettings, Tunneling}; use crate::{ bike::{CyberBikeBody, CyberSteering, CyberWheel, WheelConfig, BIKE_WHEEL_COLLISION_GROUP}, diff --git a/src/bike/body.rs b/src/bike/body.rs index 98b4229..5ce49eb 100644 --- a/src/bike/body.rs +++ b/src/bike/body.rs @@ -1,11 +1,11 @@ +use avian3d::prelude::{ + Ccd, Collider, ColliderMassProperties, CollisionGroups, Damping, ExternalForce, Friction, + ReadMassProperties, Restitution, RigidBody, Sleeping, TransformInterpolation, Velocity, +}; use bevy::{ prelude::{AssetServer, BuildChildren, Commands, Quat, Res, SpatialBundle, Transform, Vec3}, scene::SceneBundle, }; -use bevy_rapier3d::prelude::{ - Ccd, Collider, ColliderMassProperties, CollisionGroups, Damping, ExternalForce, Friction, - ReadMassProperties, Restitution, RigidBody, Sleeping, TransformInterpolation, Velocity, -}; use super::{spawn_wheels, CyberBikeBody, Meshterial, WheelConfig, BIKE_BODY_COLLISION_GROUP}; use crate::{action::CatControllerState, planet::PLANET_RADIUS}; diff --git a/src/bike/mod.rs b/src/bike/mod.rs index f5e4212..212ec24 100644 --- a/src/bike/mod.rs +++ b/src/bike/mod.rs @@ -2,16 +2,16 @@ mod body; mod components; mod wheels; -use bevy::prelude::{ - App, Assets, IntoSystemConfig, Mesh, Plugin, ResMut, StandardMaterial, StartupSet, +use bevy::{ + app::PostStartup, + prelude::{App, Assets, Mesh, Plugin, ResMut, StandardMaterial}, }; -use bevy_rapier3d::prelude::Group; pub(crate) use self::components::*; use self::{body::spawn_cyberbike, wheels::spawn_wheels}; -pub const BIKE_BODY_COLLISION_GROUP: (Group, Group) = (Group::GROUP_1, Group::GROUP_1); -pub const BIKE_WHEEL_COLLISION_GROUP: (Group, Group) = (Group::GROUP_10, Group::GROUP_10); +pub const BIKE_BODY_COLLISION_GROUP: (u32, u32) = (0b01, 0b01); +pub const BIKE_WHEEL_COLLISION_GROUP: (u32, u32) = (0b10, 0b10); type Meshterial<'a> = ( ResMut<'a, Assets>, @@ -23,6 +23,6 @@ impl Plugin for CyberBikePlugin { fn build(&self, app: &mut App) { app.insert_resource(WheelConfig::default()) .register_type::() - .add_startup_system(spawn_cyberbike.in_base_set(StartupSet::PostStartup)); + .add_systems(PostStartup, spawn_cyberbike); } } diff --git a/src/bike/wheels.rs b/src/bike/wheels.rs index ef15ae3..a7c29dd 100644 --- a/src/bike/wheels.rs +++ b/src/bike/wheels.rs @@ -1,9 +1,9 @@ -use bevy::prelude::{shape::Torus as Tire, *}; -use bevy_rapier3d::prelude::{ +use avian3d::prelude::{ Ccd, CoefficientCombineRule, Collider, ColliderMassProperties, CollisionGroups, Damping, ExternalForce, Friction, MultibodyJoint, PrismaticJointBuilder, Restitution, RevoluteJointBuilder, RigidBody, Sleeping, TransformInterpolation, }; +use bevy::prelude::{shape::Torus as Tire, *}; use super::{CyberSteering, CyberWheel, Meshterial, WheelConfig, BIKE_WHEEL_COLLISION_GROUP}; diff --git a/src/glamor.rs b/src/glamor.rs index fef9d57..981feb4 100644 --- a/src/glamor.rs +++ b/src/glamor.rs @@ -9,7 +9,7 @@ pub struct CyberGlamorPlugin; impl Plugin for CyberGlamorPlugin { fn build(&self, app: &mut App) { { - use bevy_rapier3d::render::{ + use avian3d::render::{ DebugRenderMode, DebugRenderStyle, RapierDebugRenderPlugin, }; let style = DebugRenderStyle { diff --git a/src/planet.rs b/src/planet.rs index ada1b26..43eb49f 100644 --- a/src/planet.rs +++ b/src/planet.rs @@ -2,7 +2,7 @@ use bevy::{ prelude::{shape::Icosphere, *}, render::{color::Color, mesh::Indices}, }; -use bevy_rapier3d::prelude::*; +use avian3d::prelude::*; use hexasphere::shapes::IcoSphere; use noise::{HybridMulti, NoiseFn, SuperSimplex}; use rand::{Rng, SeedableRng}; diff --git a/src/ui.rs b/src/ui.rs index 354ce0f..ee40c14 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -4,7 +4,7 @@ use bevy::prelude::{ }; #[cfg(feature = "inspector")] use bevy_inspector_egui::quick::WorldInspectorPlugin; -use bevy_rapier3d::prelude::Velocity; +use avian3d::prelude::Velocity; use crate::bike::CyberBikeBody;