Added translation to leaning
This commit is contained in:
parent
7783c4a165
commit
3573156316
@ -116,22 +116,32 @@ pub fn follow_cursor_with_camera(
|
|||||||
Quat::from_axis_angle(Vec3::Y, yaw) * Quat::from_axis_angle(Vec3::X, pitch);
|
Quat::from_axis_angle(Vec3::Y, yaw) * Quat::from_axis_angle(Vec3::X, pitch);
|
||||||
|
|
||||||
for mut camera_transform in camera_query.iter_mut() {
|
for mut camera_transform in camera_query.iter_mut() {
|
||||||
|
let local_z = camera_transform.local_z();
|
||||||
|
let right = Vec3::new(local_z.z * 0.5, camera_transform.translation.y, -local_z.x * 0.5);
|
||||||
player_transform.rotation = desired_rotation_quat;
|
player_transform.rotation = desired_rotation_quat;
|
||||||
if keyboard_input.pressed(KeyCode::Q) {
|
if keyboard_input.pressed(KeyCode::Q) {
|
||||||
let final_quat = Quat::from_axis_angle(Vec3::Z, radians_from_degrees(30.0));
|
let final_quat = Quat::from_axis_angle(Vec3::Z, radians_from_degrees(30.0));
|
||||||
camera_transform.rotation = camera_transform
|
camera_transform.rotation = camera_transform
|
||||||
.rotation
|
.rotation
|
||||||
.lerp(final_quat, time.delta_seconds() / 0.2);
|
.lerp(final_quat, time.delta_seconds() / 0.2);
|
||||||
|
camera_transform.translation = camera_transform.translation.lerp(Vec3 { x: -right.x, y: camera_transform.translation.y, z: -right.z }, time.delta_seconds() / 0.2);
|
||||||
} else if keyboard_input.pressed(KeyCode::E) {
|
} else if keyboard_input.pressed(KeyCode::E) {
|
||||||
let final_quat =
|
let final_quat =
|
||||||
Quat::from_axis_angle(Vec3::Z, radians_from_degrees(-30.0));
|
Quat::from_axis_angle(Vec3::Z, radians_from_degrees(-30.0));
|
||||||
camera_transform.rotation = camera_transform
|
camera_transform.rotation = camera_transform
|
||||||
.rotation
|
.rotation
|
||||||
.lerp(final_quat, time.delta_seconds() / 0.2);
|
.lerp(final_quat, time.delta_seconds() / 0.2);
|
||||||
|
camera_transform.translation = camera_transform.translation.lerp(Vec3 { x: right.x, y: camera_transform.translation.y, z: right.z }, time.delta_seconds() / 0.2);
|
||||||
} else {
|
} else {
|
||||||
camera_transform.rotation = camera_transform
|
camera_transform.rotation = camera_transform
|
||||||
.rotation
|
.rotation
|
||||||
.lerp(Quat::default(), time.delta_seconds() / 0.2);
|
.lerp(Quat::default(), time.delta_seconds() / 0.2);
|
||||||
|
|
||||||
|
camera_transform.translation = camera_transform.translation.lerp(Vec3 {
|
||||||
|
x: 0.0,
|
||||||
|
y: camera_transform.translation.y,
|
||||||
|
z: 0.0,
|
||||||
|
}, time.delta_seconds() / 0.2);
|
||||||
}
|
}
|
||||||
// headbob_camera(&mut camera_transform, time.delta_seconds_f64());
|
// headbob_camera(&mut camera_transform, time.delta_seconds_f64());
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ pub fn capture_hand_usage(
|
|||||||
for mut hand_transform in hand_query.iter_mut() {
|
for mut hand_transform in hand_query.iter_mut() {
|
||||||
|
|
||||||
if player_firing_info.is_reloading {
|
if player_firing_info.is_reloading {
|
||||||
for mut player in &mut players {
|
for player in &mut players {
|
||||||
if let Some(reload_animation) = animation_clips.get(&animations.reload_magazine) {
|
if let Some(reload_animation) = animation_clips.get(&animations.reload_magazine) {
|
||||||
if player.elapsed() >= reload_animation.duration() {
|
if player.elapsed() >= reload_animation.duration() {
|
||||||
magazine_data.rounds_shot = 0;
|
magazine_data.rounds_shot = 0;
|
||||||
@ -45,7 +45,6 @@ pub fn capture_hand_usage(
|
|||||||
}
|
}
|
||||||
// Set is_reloading = true
|
// Set is_reloading = true
|
||||||
// At the end of reload animation, set magazine data to capacity = 0
|
// At the end of reload animation, set magazine data to capacity = 0
|
||||||
|
|
||||||
}
|
}
|
||||||
// AIMING IN/OUT
|
// AIMING IN/OUT
|
||||||
if mouse_buttons.pressed(MouseButton::Right) {
|
if mouse_buttons.pressed(MouseButton::Right) {
|
||||||
|
@ -43,6 +43,4 @@ pub fn load_scene(application: &mut App) {
|
|||||||
application.add_systems(Update, capture_hand_usage);
|
application.add_systems(Update, capture_hand_usage);
|
||||||
|
|
||||||
application.add_systems(Startup, setup_lighting);
|
application.add_systems(Startup, setup_lighting);
|
||||||
//application.add_systems(Update, setup_scene_once_loaded);
|
|
||||||
//application.add_systems(Update, play_animation);
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user