From 4e6fab5952cb14b48ec896179753da1d245294d4 Mon Sep 17 00:00:00 2001 From: Joe Ardent Date: Wed, 22 Feb 2023 17:10:36 -0800 Subject: [PATCH] Re-enable the cyberplanet and stuff. This reverts commit a4189342e08be19a8012fcc3293e32d164f20cc8. --- src/action/systems.rs | 8 ++------ src/bike/body.rs | 4 ---- src/camera.rs | 2 +- src/glamor.rs | 13 +++++++------ src/lights.rs | 36 ++++++++++++++++++------------------ src/planet.rs | 32 ++++++++++++++++++-------------- 6 files changed, 46 insertions(+), 49 deletions(-) diff --git a/src/action/systems.rs b/src/action/systems.rs index 70ab712..09aea8f 100644 --- a/src/action/systems.rs +++ b/src/action/systems.rs @@ -43,9 +43,7 @@ pub(super) fn gravity( mut rapier_config: ResMut, ) { let (xform, mut forces) = query.single_mut(); - // flatland - //rapier_config.gravity = xform.translation.normalize() * -settings.gravity; - rapier_config.gravity = Vec3::Y * -settings.gravity; + rapier_config.gravity = xform.translation.normalize() * -settings.gravity; forces.force = Vec3::ZERO; forces.torque = Vec3::ZERO; } @@ -85,9 +83,7 @@ pub(super) fn falling_cat( #[cfg(feature = "inspector")] mut debug_instant: ResMut, ) { let (xform, mut forces, mut control_vars) = bike_query.single_mut(); - //let world_up = xform.translation.normalize(); - // flatland - let world_up = Vec3::Y; + let world_up = xform.translation.normalize(); let rot = Quat::from_axis_angle(xform.back(), lean.lean); let target_up = rotate_point(&world_up, &rot).normalize(); diff --git a/src/bike/body.rs b/src/bike/body.rs index 4d2b93b..44e4baf 100644 --- a/src/bike/body.rs +++ b/src/bike/body.rs @@ -24,10 +24,6 @@ pub(super) fn spawn_cyberbike( let right = xform.right() * 350.0; xform.translation += right; - // flatland - let altitude = 10.0; - let xform = Transform::from_translation(Vec3::Y * altitude); - let damping = Damping { angular_damping: 2.0, linear_damping: 0.1, diff --git a/src/camera.rs b/src/camera.rs index 7af057e..e59edf2 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -65,7 +65,7 @@ fn follow_cyberbike( offset: Res, ) { let bike_xform = *query.p0().single(); - let up = Vec3::Y; + let up = bike_xform.translation.normalize(); for (mut cam_xform, cam_type) in query.p1().iter_mut() { match *cam_type { diff --git a/src/glamor.rs b/src/glamor.rs index 7518486..8e51135 100644 --- a/src/glamor.rs +++ b/src/glamor.rs @@ -9,7 +9,7 @@ use crate::{lights::AnimateCyberLightWireframe, planet::CyberPlanet}; pub const BISEXY_COLOR: Color = Color::hsla(292.0, 0.9, 0.60, 1.1); -fn _wireframe_planet( +fn wireframe_planet( mut commands: Commands, mut meshes: ResMut>, mut polylines: ResMut>, @@ -57,7 +57,7 @@ fn _wireframe_planet( }); } -fn _wireframify_lights(mut lights: Query<&mut AnimateCyberLightWireframe>) { +fn wireframify_lights(mut lights: Query<&mut AnimateCyberLightWireframe>) { let chance = 0.005; let rng = &mut thread_rng(); @@ -74,20 +74,17 @@ fn _wireframify_lights(mut lights: Query<&mut AnimateCyberLightWireframe>) { pub struct CyberGlamorPlugin; impl Plugin for CyberGlamorPlugin { fn build(&self, app: &mut App) { - app.insert_resource(ClearColor(Color::rgb(0.408, 0.6236, 0.925))); - + #[cfg(feature = "inspector")] { use bevy_rapier3d::render::{ DebugRenderMode, DebugRenderStyle, RapierDebugRenderPlugin, }; let style = DebugRenderStyle { multibody_joint_anchor_color: Color::GREEN.as_rgba_f32(), - multibody_joint_separation_color: Color::GOLD.as_rgba_f32(), ..Default::default() }; let mode = DebugRenderMode::CONTACTS | DebugRenderMode::SOLVER_CONTACTS - | DebugRenderMode::COLLIDER_SHAPES | DebugRenderMode::JOINTS | DebugRenderMode::RIGID_BODY_AXES; @@ -100,5 +97,9 @@ impl Plugin for CyberGlamorPlugin { app.add_plugin(rplugin); } + + app.add_startup_system_to_stage(StartupStage::PostStartup, wireframe_planet) + .add_system(wireframify_lights) + .add_plugin(PolylinePlugin); } } diff --git a/src/lights.rs b/src/lights.rs index b512587..194a8fa 100644 --- a/src/lights.rs +++ b/src/lights.rs @@ -9,8 +9,8 @@ pub const LIGHT_RANGE: f32 = 90.0; #[derive(Component)] struct AnimatedCyberLight { - _axis: Vec3, - _rate: f32, + axis: Vec3, + rate: f32, } #[derive(Component, Default)] @@ -18,7 +18,7 @@ pub(crate) struct AnimateCyberLightWireframe { pub wired: bool, } -fn _spawn_moving_lights( +fn spawn_moving_lights( mut commands: Commands, mut meshes: ResMut>, mut materials: ResMut>, @@ -27,13 +27,13 @@ fn _spawn_moving_lights( // spawn orbiting bisexual lights for _ in 0..655 { // mechanics - let _axis = crate::random_unit_vec(rng); + let axis = crate::random_unit_vec(rng); let angle = rng.gen_range(0.0..TAU); - let _rate: f32 = rng.gen_range(7.0..10.0); - let _rate = _rate.to_radians(); - let rotation = Quat::from_axis_angle(_axis, angle); + let rate: f32 = rng.gen_range(7.0..10.0); + let rate = rate.to_radians(); + let rotation = Quat::from_axis_angle(axis, angle); let altitude = PLANET_RADIUS + rng.gen_range(8.0..20.0); - let perp = _axis.any_orthonormal_vector(); + let perp = axis.any_orthonormal_vector(); let translation = perp * altitude; let transform = Transform::from_translation(translation); @@ -59,7 +59,7 @@ fn _spawn_moving_lights( }; commands // first, spawn an entity with a transform we can rotate - .spawn((AnimatedCyberLight { _axis, _rate },)) + .spawn((AnimatedCyberLight { axis, rate },)) .insert(sbundle) .with_children(|parent| { parent @@ -122,7 +122,7 @@ fn spawn_static_lights( // up light commands .spawn(PointLightBundle { - transform: Transform::from_xyz(20.0, 100.0, 20.0), + transform: Transform::from_xyz(0.0, PLANET_RADIUS + 30.0, 0.0), point_light: pink_light, ..Default::default() }) @@ -143,7 +143,7 @@ fn spawn_static_lights( // down light commands .spawn(PointLightBundle { - transform: Transform::from_xyz(-20.0, 100.0, -20.0), + transform: Transform::from_xyz(0.0, -PLANET_RADIUS - 30.0, 0.0), point_light: blue_light, ..Default::default() }) @@ -163,20 +163,20 @@ fn spawn_static_lights( }); } -fn _orbit_lights(time: Res