use bevy::{prelude::*, window::PresentMode, render::camera::CameraProjectionPlugin}; // use offaxis::{offaxis_camera_setup, OffAxisProjection}; #[derive(Component,Default)] pub struct Viewer { pub position: Vec3, pub orientation: Quat, pub alpha: f32, } impl Viewer { pub fn new(position: Vec3) ->Self { Self { position, orientation: Quat::IDENTITY, alpha: 0.0, } } pub fn default() -> Self { Self { position: Vec3::ZERO, orientation: Quat::IDENTITY, alpha: 0.0 } } } pub fn simulate_viewer(mut query: Query<&mut Viewer>) { for mut v in query.iter_mut() { //v.position += Vec3::Y * 0.005; v.alpha += 0.01; let radius = 0.5; v.position = Vec3::new(v.alpha.sin()*radius,v.alpha.cos()*radius,5.0); } }