41 lines
No EOL
879 B
Rust
41 lines
No EOL
879 B
Rust
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);
|
|
}
|
|
} |