From e79a7d4f4c1ca02be0ca7969db98c8c03647c410 Mon Sep 17 00:00:00 2001 From: Brooks Palin Date: Thu, 29 Feb 2024 22:51:12 -0700 Subject: [PATCH] Orbit Options (#67) --- studio/src/main-headless.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/studio/src/main-headless.rs b/studio/src/main-headless.rs index 18bdd76..3b46dea 100644 --- a/studio/src/main-headless.rs +++ b/studio/src/main-headless.rs @@ -24,6 +24,10 @@ enum Subcommands { scene_dir: String, #[arg(long)] orbit: bool, + #[arg(long, value_parser = clap::value_parser!(f32))] + orbit_radius: Option, + #[arg(long, value_parser = clap::value_parser!(f32))] + orbit_speed: Option, #[arg(long, short)] output_dir: Option, #[arg(long)] @@ -73,6 +77,8 @@ fn main() { Subcommands::Scene { scene_dir, orbit, + orbit_speed, + orbit_radius, skybox, output_dir, output_resolution, @@ -95,10 +101,15 @@ fn main() { frames, output_res, ); + let orbit_speed = orbit_speed.unwrap_or(1.0); + let orbit_radius = orbit_radius.unwrap_or(8.0); if orbit { - app.insert_resource(OrbitSettings { radius: 5.0 }) - .add_systems(Update, orbit_scene); + app.insert_resource(OrbitSettings { + radius: orbit_radius, + speed: orbit_speed, + }) + .add_systems(Update, orbit_scene); } app @@ -161,6 +172,7 @@ fn main() { #[derive(Resource)] struct OrbitSettings { radius: f32, + speed: f32, } fn orbit_scene( @@ -173,9 +185,9 @@ fn orbit_scene( }; main_cam_transform.translation = Vec3::new( - orbit_settings.radius * time.elapsed_seconds().cos(), + orbit_settings.radius * (time.elapsed_seconds() * orbit_settings.speed).cos(), 6.0, - orbit_settings.radius * time.elapsed_seconds().sin(), + orbit_settings.radius * (time.elapsed_seconds() * orbit_settings.speed).sin(), ); main_cam_transform.look_at(Vec3::ZERO, Vec3::Y); }