mirror of
https://github.com/storytold/storyteller-bevy.git
synced 2026-10-28 08:58:07 +00:00
cleaned up print statements
This commit is contained in:
+29
-14
@@ -1,6 +1,6 @@
|
|||||||
use bevy::{prelude::*, render::render_resource::Extent3d, transform::components::Transform};
|
use bevy::{prelude::*, render::render_resource::Extent3d, transform::components::Transform};
|
||||||
use clap::{Args, Parser, Subcommand};
|
use clap::{Args, Parser, Subcommand};
|
||||||
use studio::headless::{start_headless, HeadlessMode};
|
use studio::{headless::{start_headless, HeadlessMode}, scene::SceneState};
|
||||||
|
|
||||||
#[derive(Parser)]
|
#[derive(Parser)]
|
||||||
#[command(name = "StorytellerStudioHeadless")]
|
#[command(name = "StorytellerStudioHeadless")]
|
||||||
@@ -107,7 +107,7 @@ fn main() {
|
|||||||
_ => panic!("Unsupported camera motion type.")
|
_ => panic!("Unsupported camera motion type.")
|
||||||
}
|
}
|
||||||
|
|
||||||
app.add_systems(Update, update_camera_motion);
|
app.add_systems(Update, update_camera_motion.run_if(in_state(SceneState::Active)));
|
||||||
}
|
}
|
||||||
|
|
||||||
app
|
app
|
||||||
@@ -167,6 +167,8 @@ fn main() {
|
|||||||
app.run();
|
app.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub const SPEED : f32 = 0.1;
|
||||||
|
|
||||||
#[derive(Resource)]
|
#[derive(Resource)]
|
||||||
enum CameraMotion {
|
enum CameraMotion {
|
||||||
Orbit,
|
Orbit,
|
||||||
@@ -176,14 +178,17 @@ enum CameraMotion {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn update_camera_motion(
|
pub(crate) fn update_camera_motion(
|
||||||
mut camera: Query<&mut Transform, With<Camera>>,
|
mut camera: Query<&mut Transform, (With<Camera>, Without<Parent>)>,
|
||||||
camera_motion: Res<CameraMotion>,
|
camera_motion: Res<CameraMotion>,
|
||||||
time: Res<Time>,
|
time: Res<Time>,
|
||||||
) {
|
) {
|
||||||
|
println!("{}", camera.iter().count());
|
||||||
let Ok(mut main_cam_transform) = camera.get_single_mut() else {
|
let Ok(mut main_cam_transform) = camera.get_single_mut() else {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
println!("Updating camera motion");
|
||||||
|
|
||||||
match *camera_motion {
|
match *camera_motion {
|
||||||
CameraMotion::Orbit => {
|
CameraMotion::Orbit => {
|
||||||
orbit_camera(&mut main_cam_transform, &time);
|
orbit_camera(&mut main_cam_transform, &time);
|
||||||
@@ -196,28 +201,38 @@ pub(crate) fn update_camera_motion(
|
|||||||
}
|
}
|
||||||
CameraMotion::Static => {}
|
CameraMotion::Static => {}
|
||||||
}
|
}
|
||||||
main_cam_transform.look_at(Vec3::ZERO, Vec3::Y);
|
// main_cam_transform.look_at(Vec3::ZERO, Vec3::Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn zoom_camera(main_cam_transform: &Transform, time: &Time<()>) {
|
fn zoom_camera(main_cam_transform: &mut Transform, time: &Time<()>) {
|
||||||
|
let scaled_time = time.elapsed().as_secs_f32() * SPEED;
|
||||||
|
let normalized_cos = (-scaled_time.cos() + 1.0) / 2.0;
|
||||||
|
let start_pos = Vec3::new(0.366, 1.1, 2.5);
|
||||||
|
let end_pos = Vec3::new(0.366, 1.1, -0.5);
|
||||||
|
|
||||||
|
main_cam_transform.translation = start_pos.lerp(end_pos, normalized_cos);
|
||||||
todo!()
|
main_cam_transform.rotation = Quat::from_euler(EulerRot::XYZ, 0.0, 0.0, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn pan_camera(main_cam_transform: &Transform, time: &Time<()>) {
|
fn pan_camera(main_cam_transform: &mut Transform, time: &Time<()>) {
|
||||||
todo!()
|
let scaled_time = time.elapsed().as_secs_f32() * SPEED;
|
||||||
|
let normalized_cos = (scaled_time.cos() + 1.0) / 2.0;
|
||||||
|
let start_pos = Vec3::new(1.617, 0.9, 2.177);
|
||||||
|
let end_pos = Vec3::new(-0.365, 0.9, 2.323);
|
||||||
|
|
||||||
|
main_cam_transform.translation = start_pos.lerp(end_pos, normalized_cos);
|
||||||
|
main_cam_transform.rotation = Quat::from_euler(EulerRot::XYZ, 0.0, 0.0, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn orbit_camera(main_cam_transform: &mut Mut<'_, Transform>, time: &Res<'_, Time>) {
|
fn orbit_camera(main_cam_transform: &mut Mut<'_, Transform>, time: &Res<'_, Time>) {
|
||||||
let scaled_time = time.elapsed().as_secs_f32() * 0.1;
|
let scaled_time = time.elapsed().as_secs_f32() * SPEED;
|
||||||
let max_angle = std::f32::consts::PI / 2.0;
|
let max_angle = std::f32::consts::PI / 2.0;
|
||||||
let normalized_sin = (scaled_time.sin() + 1.0) / 2.0;
|
let normalized_cos = (scaled_time.cos() + 1.0) / 2.0;
|
||||||
let angle = max_angle * normalized_sin;
|
let angle = max_angle * normalized_cos;
|
||||||
|
|
||||||
let t = (time.elapsed().as_secs_f32() / 5.0) % 1.0;
|
// let t = (time.elapsed().as_secs_f32() / 5.0) % 1.0;
|
||||||
|
|
||||||
main_cam_transform.translation = Vec3::new(2.2 * angle.cos(), 1.0, 2.5 * angle.sin());
|
main_cam_transform.translation = Vec3::new(-2.2 * angle.cos(), 1.0, 2.5 * angle.sin());
|
||||||
main_cam_transform.look_at(Vec3::new(0.347, 0.556, -1.0), Vec3::Y);
|
main_cam_transform.look_at(Vec3::new(0.347, 0.556, -1.0), Vec3::Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,80 +38,5 @@ fn main() {
|
|||||||
app.add_systems(Update, close_on_esc);
|
app.add_systems(Update, close_on_esc);
|
||||||
// app.add_plugins(ScreenShotPlugin);
|
// app.add_plugins(ScreenShotPlugin);
|
||||||
|
|
||||||
app.insert_resource(CameraMotion::Zoom);
|
|
||||||
app.add_systems(Update, update_camera_motion.run_if(in_state(SceneState::Active)));
|
|
||||||
|
|
||||||
app.run();
|
app.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Remove this test code
|
|
||||||
|
|
||||||
pub const SPEED : f32 = 0.8;
|
|
||||||
|
|
||||||
#[derive(Resource)]
|
|
||||||
enum CameraMotion {
|
|
||||||
Orbit,
|
|
||||||
Pan,
|
|
||||||
Zoom,
|
|
||||||
Static
|
|
||||||
}
|
|
||||||
|
|
||||||
pub(crate) fn update_camera_motion(
|
|
||||||
mut camera: Query<&mut Transform, (With<Camera>, Without<Parent>)>,
|
|
||||||
camera_motion: Res<CameraMotion>,
|
|
||||||
time: Res<Time>,
|
|
||||||
) {
|
|
||||||
println!("{}", camera.iter().count());
|
|
||||||
let Ok(mut main_cam_transform) = camera.get_single_mut() else {
|
|
||||||
return;
|
|
||||||
};
|
|
||||||
|
|
||||||
println!("Updating camera motion");
|
|
||||||
|
|
||||||
match *camera_motion {
|
|
||||||
CameraMotion::Orbit => {
|
|
||||||
orbit_camera(&mut main_cam_transform, &time);
|
|
||||||
}
|
|
||||||
CameraMotion::Pan => {
|
|
||||||
pan_camera(&mut main_cam_transform, &time);
|
|
||||||
}
|
|
||||||
CameraMotion::Zoom => {
|
|
||||||
zoom_camera(&mut main_cam_transform, &time);
|
|
||||||
}
|
|
||||||
CameraMotion::Static => {}
|
|
||||||
}
|
|
||||||
// main_cam_transform.look_at(Vec3::ZERO, Vec3::Y);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn zoom_camera(main_cam_transform: &mut Transform, time: &Time<()>) {
|
|
||||||
let scaled_time = time.elapsed().as_secs_f32() * SPEED;
|
|
||||||
let normalized_cos = (-scaled_time.cos() + 1.0) / 2.0;
|
|
||||||
let start_pos = Vec3::new(0.366, 1.1, 2.5);
|
|
||||||
let end_pos = Vec3::new(0.366, 1.1, -0.5);
|
|
||||||
|
|
||||||
main_cam_transform.translation = start_pos.lerp(end_pos, normalized_cos);
|
|
||||||
main_cam_transform.rotation = Quat::from_euler(EulerRot::XYZ, 0.0, 0.0, 0.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn pan_camera(main_cam_transform: &mut Transform, time: &Time<()>) {
|
|
||||||
let scaled_time = time.elapsed().as_secs_f32() * SPEED;
|
|
||||||
let normalized_cos = (scaled_time.cos() + 1.0) / 2.0;
|
|
||||||
let start_pos = Vec3::new(1.617, 0.9, 2.177);
|
|
||||||
let end_pos = Vec3::new(-0.365, 0.9, 2.323);
|
|
||||||
|
|
||||||
main_cam_transform.translation = start_pos.lerp(end_pos, normalized_cos);
|
|
||||||
main_cam_transform.rotation = Quat::from_euler(EulerRot::XYZ, 0.0, 0.0, 0.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn orbit_camera(main_cam_transform: &mut Mut<'_, Transform>, time: &Res<'_, Time>) {
|
|
||||||
println!("Orbiting camera");
|
|
||||||
let scaled_time = time.elapsed().as_secs_f32() * SPEED;
|
|
||||||
let max_angle = std::f32::consts::PI / 2.0;
|
|
||||||
let normalized_cos = (scaled_time.cos() + 1.0) / 2.0;
|
|
||||||
let angle = max_angle * normalized_cos;
|
|
||||||
|
|
||||||
// let t = (time.elapsed().as_secs_f32() / 5.0) % 1.0;
|
|
||||||
|
|
||||||
main_cam_transform.translation = Vec3::new(-2.2 * angle.cos(), 1.0, 2.5 * angle.sin());
|
|
||||||
main_cam_transform.look_at(Vec3::new(0.347, 0.556, -1.0), Vec3::Y);
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user