Compare commits

...

2 Commits

Author SHA1 Message Date
Joe Ardent 5cfc2f7033 checkpoint, broken 2024-07-13 10:45:41 -07:00
Joe Ardent 9cb53bfa2e update deps for switching to Avian3d 2024-07-12 16:03:20 -07:00
10 changed files with 2232 additions and 1190 deletions

3344
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -6,32 +6,22 @@ edition = "2021"
[dependencies]
rand = "0.8"
# bevy_polyline = "0.4"
noise = { git = "https://github.com/Razaekel/noise-rs" }
hexasphere = "8"
wgpu = "0.15"
bevy-inspector-egui = "0.18"
noise = "0.9"
hexasphere = "14"
wgpu = "0.20"
# bevy-inspector-egui = "0.18"
[features]
inspector = []
[dependencies.bevy]
version = "0.10"
default-features = false
features = [
"bevy_gilrs",
"bevy_winit",
"png",
"hdr",
"x11",
"bevy_ui",
"bevy_text",
"bevy_gltf",
"bevy_sprite",
]
version = "0.14"
default-features = true
features = ["bevy_dev_tools"]
[dependencies.bevy_rapier3d]
features = ["debug-render-3d"]
version = "0.21"
[dependencies.avian3d]
default-features = true
version = "0.1"
# Maybe also enable only a small amount of optimization for our code:
[profile.dev]

View File

@ -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::<CyberLean>()
.register_type::<CyberLean>()
.register_type::<CatControllerSettings>()
.add_plugin(RapierPhysicsPlugin::<NoUserData>::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,

View File

@ -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},

View File

@ -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};

View File

@ -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<Mesh>>,
@ -23,6 +23,6 @@ impl Plugin for CyberBikePlugin {
fn build(&self, app: &mut App) {
app.insert_resource(WheelConfig::default())
.register_type::<WheelConfig>()
.add_startup_system(spawn_cyberbike.in_base_set(StartupSet::PostStartup));
.add_systems(PostStartup, spawn_cyberbike);
}
}

View File

@ -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};

View File

@ -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 {

View File

@ -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};

View File

@ -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;