diff --git a/src/bike/components.rs b/src/bike/components.rs index 674f902..a7918ff 100644 --- a/src/bike/components.rs +++ b/src/bike/components.rs @@ -16,7 +16,6 @@ pub struct CyberWheel; #[reflect(Resource)] pub struct WheelConfig { pub front_forward: f32, - pub front_stance: f32, pub rear_back: f32, pub y: f32, pub limits: [f32; 2], @@ -25,13 +24,13 @@ pub struct WheelConfig { pub radius: f32, pub friction: f32, pub restitution: f32, + pub density: f32, } impl Default for WheelConfig { fn default() -> Self { Self { - front_forward: 0.9, - front_stance: 0.65, + front_forward: 0.8, rear_back: 1.1, y: -0.1, limits: [-0.7, 0.1], @@ -40,6 +39,7 @@ impl Default for WheelConfig { radius: 0.3, friction: 0.9, restitution: 0.8, + density: 0.9, } } } diff --git a/src/bike/wheels.rs b/src/bike/wheels.rs index 6a6dd1b..3bf9949 100644 --- a/src/bike/wheels.rs +++ b/src/bike/wheels.rs @@ -75,7 +75,7 @@ pub fn spawn_tires( ..Default::default() }; let wheel_collider = Collider::ball(wheel_rad); - let mass_props = ColliderMassProperties::Density(0.1); + let mass_props = ColliderMassProperties::Density(conf.density); let damping = conf.damping; let prismatic_axis = if steering.is_some() { @@ -96,7 +96,8 @@ pub fn spawn_tires( .id(); let axel_parent_entity = if let Some(steering) = steering { - let neck_builder = RevoluteJointBuilder::new(Vec3::Y); + let neck_builder = + RevoluteJointBuilder::new(Vec3::Y).local_anchor1(Vec3::new(0.0, 0.0, 0.1)); let neck_joint = MultibodyJoint::new(fork_rb_entity, neck_builder); let neck = commands .spawn(RigidBody::Dynamic) diff --git a/src/main.rs b/src/main.rs index 4c203ab..e2ed36b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,10 +5,13 @@ use cyber_rider::{ planet::CyberPlanetPlugin, ui::CyberUIPlugin, }; +const CYBER_SKY: Color = Color::rgb(0.07, 0.001, 0.02); +// const CYBER_SKY: Color = Color::rgb(0.64, 0.745, 0.937); + fn main() { let mut app = App::new(); app.insert_resource(Msaa { samples: 4 }) - .insert_resource(ClearColor(Color::rgb(0.07, 0.001, 0.02))) + .insert_resource(ClearColor(CYBER_SKY)) .add_plugins(DefaultPlugins.set(WindowPlugin { window: WindowDescriptor { width: 2560.0,