enlarge the FoV at high adrenaline
This commit is contained in:
parent
1486b6749a
commit
a25b249bb8
|
@ -54,7 +54,7 @@ fn run_camera_controller(
|
||||||
thruster_sound_controller: Query<&AudioSink, With<audio::ComponentThrusterSound>>,
|
thruster_sound_controller: Query<&AudioSink, With<audio::ComponentThrusterSound>>,
|
||||||
rocket_sound_controller: Query<&AudioSink, With<audio::ComponentRocketSound>>,
|
rocket_sound_controller: Query<&AudioSink, With<audio::ComponentRocketSound>>,
|
||||||
q_engine: Query<&actor::Engine, With<actor::PlayerDrivesThis>>,
|
q_engine: Query<&actor::Engine, With<actor::PlayerDrivesThis>>,
|
||||||
mut query: Query<(&mut Transform, &mut CameraController, &mut actor::Actor, &actor::Engine), With<Camera>>,
|
mut query: Query<(&mut Transform, &mut CameraController, &mut Projection, &mut actor::Actor, &actor::LifeForm, &actor::Engine), With<Camera>>,
|
||||||
) {
|
) {
|
||||||
let dt = time.delta_seconds();
|
let dt = time.delta_seconds();
|
||||||
let mut play_thruster_sound = false;
|
let mut play_thruster_sound = false;
|
||||||
|
@ -65,7 +65,7 @@ fn run_camera_controller(
|
||||||
focused = window_result.unwrap().focused;
|
focused = window_result.unwrap().focused;
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Ok((mut transform, mut controller, mut actor, player_engine)) = query.get_single_mut() {
|
if let Ok((mut transform, mut controller, mut projection, mut actor, lifeform, player_engine)) = query.get_single_mut() {
|
||||||
if !controller.initialized {
|
if !controller.initialized {
|
||||||
controller.initialized = true;
|
controller.initialized = true;
|
||||||
transform.rotation =
|
transform.rotation =
|
||||||
|
@ -156,6 +156,9 @@ fn run_camera_controller(
|
||||||
Quat::from_euler(EulerRot::ZYX, 0.0, controller.yaw, controller.pitch);
|
Quat::from_euler(EulerRot::ZYX, 0.0, controller.yaw, controller.pitch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let fov = (lifeform.adrenaline * lifeform.adrenaline * lifeform.adrenaline * 45.0 + 45.0).to_radians();
|
||||||
|
*projection = Projection::Perspective(PerspectiveProjection { fov: fov, ..default() });
|
||||||
|
|
||||||
if let Ok(sink) = thruster_sound_controller.get_single() {
|
if let Ok(sink) = thruster_sound_controller.get_single() {
|
||||||
if play_thruster_sound && engine.engine_type == actor::EngineType::Monopropellant {
|
if play_thruster_sound && engine.engine_type == actor::EngineType::Monopropellant {
|
||||||
sink.play()
|
sink.play()
|
||||||
|
|
Loading…
Reference in a new issue