Compare commits
2 commits
82f95cf070
...
5cfc2f7033
Author | SHA1 | Date | |
---|---|---|---|
|
5cfc2f7033 | ||
|
9cb53bfa2e |
10 changed files with 2232 additions and 1190 deletions
3344
Cargo.lock
generated
3344
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
30
Cargo.toml
30
Cargo.toml
|
@ -6,32 +6,22 @@ edition = "2021"
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rand = "0.8"
|
rand = "0.8"
|
||||||
# bevy_polyline = "0.4"
|
# bevy_polyline = "0.4"
|
||||||
noise = { git = "https://github.com/Razaekel/noise-rs" }
|
noise = "0.9"
|
||||||
hexasphere = "8"
|
hexasphere = "14"
|
||||||
wgpu = "0.15"
|
wgpu = "0.20"
|
||||||
bevy-inspector-egui = "0.18"
|
# bevy-inspector-egui = "0.18"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
inspector = []
|
inspector = []
|
||||||
|
|
||||||
[dependencies.bevy]
|
[dependencies.bevy]
|
||||||
version = "0.10"
|
version = "0.14"
|
||||||
default-features = false
|
default-features = true
|
||||||
features = [
|
features = ["bevy_dev_tools"]
|
||||||
"bevy_gilrs",
|
|
||||||
"bevy_winit",
|
|
||||||
"png",
|
|
||||||
"hdr",
|
|
||||||
"x11",
|
|
||||||
"bevy_ui",
|
|
||||||
"bevy_text",
|
|
||||||
"bevy_gltf",
|
|
||||||
"bevy_sprite",
|
|
||||||
]
|
|
||||||
|
|
||||||
[dependencies.bevy_rapier3d]
|
[dependencies.avian3d]
|
||||||
features = ["debug-render-3d"]
|
default-features = true
|
||||||
version = "0.21"
|
version = "0.1"
|
||||||
|
|
||||||
# Maybe also enable only a small amount of optimization for our code:
|
# Maybe also enable only a small amount of optimization for our code:
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
|
use avian3d::prelude::*;
|
||||||
use bevy::{
|
use bevy::{
|
||||||
|
app::Startup,
|
||||||
diagnostic::FrameTimeDiagnosticsPlugin,
|
diagnostic::FrameTimeDiagnosticsPlugin,
|
||||||
ecs::reflect::ReflectResource,
|
ecs::reflect::ReflectResource,
|
||||||
prelude::{App, IntoSystemConfigs, Plugin, Resource},
|
prelude::{App, IntoSystemConfigs, Plugin, Resource},
|
||||||
reflect::Reflect,
|
reflect::Reflect,
|
||||||
};
|
};
|
||||||
use bevy_rapier3d::prelude::{NoUserData, RapierPhysicsPlugin};
|
|
||||||
|
|
||||||
mod components;
|
mod components;
|
||||||
mod systems;
|
mod systems;
|
||||||
|
@ -28,9 +29,9 @@ impl Plugin for CyberActionPlugin {
|
||||||
.init_resource::<CyberLean>()
|
.init_resource::<CyberLean>()
|
||||||
.register_type::<CyberLean>()
|
.register_type::<CyberLean>()
|
||||||
.register_type::<CatControllerSettings>()
|
.register_type::<CatControllerSettings>()
|
||||||
.add_plugin(RapierPhysicsPlugin::<NoUserData>::default())
|
.add_plugins(PhysicsPlugins::default())
|
||||||
.add_startup_system(timestep_setup)
|
.add_systems(Startup, timestep_setup)
|
||||||
.add_plugin(FrameTimeDiagnosticsPlugin::default())
|
.add_plugins(FrameTimeDiagnosticsPlugin::default())
|
||||||
.add_systems(
|
.add_systems(
|
||||||
(
|
(
|
||||||
gravity,
|
gravity,
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
use std::f32::consts::{FRAC_PI_3, FRAC_PI_4};
|
use std::f32::consts::{FRAC_PI_3, FRAC_PI_4};
|
||||||
|
|
||||||
|
use avian3d::prelude::*;
|
||||||
use bevy::prelude::{
|
use bevy::prelude::{
|
||||||
Commands, Entity, Quat, Query, Res, ResMut, Time, Transform, Vec3, With, Without,
|
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")]
|
//#[cfg(feature = "inspector")]
|
||||||
use super::ActionDebugInstant;
|
//use super::ActionDebugInstant;
|
||||||
use super::{CatControllerSettings, CatControllerState, CyberLean, MovementSettings, Tunneling};
|
use super::{CatControllerSettings, CatControllerState, CyberLean, MovementSettings, Tunneling};
|
||||||
use crate::{
|
use crate::{
|
||||||
bike::{CyberBikeBody, CyberSteering, CyberWheel, WheelConfig, BIKE_WHEEL_COLLISION_GROUP},
|
bike::{CyberBikeBody, CyberSteering, CyberWheel, WheelConfig, BIKE_WHEEL_COLLISION_GROUP},
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
use avian3d::prelude::{
|
||||||
|
Ccd, Collider, ColliderMassProperties, CollisionGroups, Damping, ExternalForce, Friction,
|
||||||
|
ReadMassProperties, Restitution, RigidBody, Sleeping, TransformInterpolation, Velocity,
|
||||||
|
};
|
||||||
use bevy::{
|
use bevy::{
|
||||||
prelude::{AssetServer, BuildChildren, Commands, Quat, Res, SpatialBundle, Transform, Vec3},
|
prelude::{AssetServer, BuildChildren, Commands, Quat, Res, SpatialBundle, Transform, Vec3},
|
||||||
scene::SceneBundle,
|
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 super::{spawn_wheels, CyberBikeBody, Meshterial, WheelConfig, BIKE_BODY_COLLISION_GROUP};
|
||||||
use crate::{action::CatControllerState, planet::PLANET_RADIUS};
|
use crate::{action::CatControllerState, planet::PLANET_RADIUS};
|
||||||
|
|
|
@ -2,16 +2,16 @@ mod body;
|
||||||
mod components;
|
mod components;
|
||||||
mod wheels;
|
mod wheels;
|
||||||
|
|
||||||
use bevy::prelude::{
|
use bevy::{
|
||||||
App, Assets, IntoSystemConfig, Mesh, Plugin, ResMut, StandardMaterial, StartupSet,
|
app::PostStartup,
|
||||||
|
prelude::{App, Assets, Mesh, Plugin, ResMut, StandardMaterial},
|
||||||
};
|
};
|
||||||
use bevy_rapier3d::prelude::Group;
|
|
||||||
|
|
||||||
pub(crate) use self::components::*;
|
pub(crate) use self::components::*;
|
||||||
use self::{body::spawn_cyberbike, wheels::spawn_wheels};
|
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_BODY_COLLISION_GROUP: (u32, u32) = (0b01, 0b01);
|
||||||
pub const BIKE_WHEEL_COLLISION_GROUP: (Group, Group) = (Group::GROUP_10, Group::GROUP_10);
|
pub const BIKE_WHEEL_COLLISION_GROUP: (u32, u32) = (0b10, 0b10);
|
||||||
|
|
||||||
type Meshterial<'a> = (
|
type Meshterial<'a> = (
|
||||||
ResMut<'a, Assets<Mesh>>,
|
ResMut<'a, Assets<Mesh>>,
|
||||||
|
@ -23,6 +23,6 @@ impl Plugin for CyberBikePlugin {
|
||||||
fn build(&self, app: &mut App) {
|
fn build(&self, app: &mut App) {
|
||||||
app.insert_resource(WheelConfig::default())
|
app.insert_resource(WheelConfig::default())
|
||||||
.register_type::<WheelConfig>()
|
.register_type::<WheelConfig>()
|
||||||
.add_startup_system(spawn_cyberbike.in_base_set(StartupSet::PostStartup));
|
.add_systems(PostStartup, spawn_cyberbike);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
use bevy::prelude::{shape::Torus as Tire, *};
|
use avian3d::prelude::{
|
||||||
use bevy_rapier3d::prelude::{
|
|
||||||
Ccd, CoefficientCombineRule, Collider, ColliderMassProperties, CollisionGroups, Damping,
|
Ccd, CoefficientCombineRule, Collider, ColliderMassProperties, CollisionGroups, Damping,
|
||||||
ExternalForce, Friction, MultibodyJoint, PrismaticJointBuilder, Restitution,
|
ExternalForce, Friction, MultibodyJoint, PrismaticJointBuilder, Restitution,
|
||||||
RevoluteJointBuilder, RigidBody, Sleeping, TransformInterpolation,
|
RevoluteJointBuilder, RigidBody, Sleeping, TransformInterpolation,
|
||||||
};
|
};
|
||||||
|
use bevy::prelude::{shape::Torus as Tire, *};
|
||||||
|
|
||||||
use super::{CyberSteering, CyberWheel, Meshterial, WheelConfig, BIKE_WHEEL_COLLISION_GROUP};
|
use super::{CyberSteering, CyberWheel, Meshterial, WheelConfig, BIKE_WHEEL_COLLISION_GROUP};
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ pub struct CyberGlamorPlugin;
|
||||||
impl Plugin for CyberGlamorPlugin {
|
impl Plugin for CyberGlamorPlugin {
|
||||||
fn build(&self, app: &mut App) {
|
fn build(&self, app: &mut App) {
|
||||||
{
|
{
|
||||||
use bevy_rapier3d::render::{
|
use avian3d::render::{
|
||||||
DebugRenderMode, DebugRenderStyle, RapierDebugRenderPlugin,
|
DebugRenderMode, DebugRenderStyle, RapierDebugRenderPlugin,
|
||||||
};
|
};
|
||||||
let style = DebugRenderStyle {
|
let style = DebugRenderStyle {
|
||||||
|
|
|
@ -2,7 +2,7 @@ use bevy::{
|
||||||
prelude::{shape::Icosphere, *},
|
prelude::{shape::Icosphere, *},
|
||||||
render::{color::Color, mesh::Indices},
|
render::{color::Color, mesh::Indices},
|
||||||
};
|
};
|
||||||
use bevy_rapier3d::prelude::*;
|
use avian3d::prelude::*;
|
||||||
use hexasphere::shapes::IcoSphere;
|
use hexasphere::shapes::IcoSphere;
|
||||||
use noise::{HybridMulti, NoiseFn, SuperSimplex};
|
use noise::{HybridMulti, NoiseFn, SuperSimplex};
|
||||||
use rand::{Rng, SeedableRng};
|
use rand::{Rng, SeedableRng};
|
||||||
|
|
|
@ -4,7 +4,7 @@ use bevy::prelude::{
|
||||||
};
|
};
|
||||||
#[cfg(feature = "inspector")]
|
#[cfg(feature = "inspector")]
|
||||||
use bevy_inspector_egui::quick::WorldInspectorPlugin;
|
use bevy_inspector_egui::quick::WorldInspectorPlugin;
|
||||||
use bevy_rapier3d::prelude::Velocity;
|
use avian3d::prelude::Velocity;
|
||||||
|
|
||||||
use crate::bike::CyberBikeBody;
|
use crate::bike::CyberBikeBody;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue