mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Added x and y camera offsets when aiming in third person
This commit is contained in:
parent
c78f6c0bc2
commit
43566bca32
@ -526,6 +526,7 @@ impl Scene {
|
|||||||
audio: &mut AudioFrontend,
|
audio: &mut AudioFrontend,
|
||||||
scene_data: &SceneData,
|
scene_data: &SceneData,
|
||||||
client: &Client,
|
client: &Client,
|
||||||
|
settings: &Settings,
|
||||||
) {
|
) {
|
||||||
span!(_guard, "maintain", "Scene::maintain");
|
span!(_guard, "maintain", "Scene::maintain");
|
||||||
// Get player position.
|
// Get player position.
|
||||||
@ -632,15 +633,28 @@ impl Scene {
|
|||||||
viewpoint_eye_height
|
viewpoint_eye_height
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
CameraMode::ThirdPerson if scene_data.is_aiming => viewpoint_height * 1.16,
|
CameraMode::ThirdPerson if scene_data.is_aiming => {
|
||||||
|
viewpoint_height * 1.16 + settings.gameplay.aim_offset_y
|
||||||
|
},
|
||||||
CameraMode::ThirdPerson => viewpoint_eye_height,
|
CameraMode::ThirdPerson => viewpoint_eye_height,
|
||||||
CameraMode::Freefly => 0.0,
|
CameraMode::Freefly => 0.0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let right = match self.camera.get_mode() {
|
||||||
|
CameraMode::FirstPerson => 0.0,
|
||||||
|
CameraMode::ThirdPerson if scene_data.is_aiming => {
|
||||||
|
settings.gameplay.aim_offset_x
|
||||||
|
},
|
||||||
|
CameraMode::ThirdPerson => 0.0,
|
||||||
|
CameraMode::Freefly => 0.0,
|
||||||
|
};
|
||||||
|
|
||||||
// Alter camera position to match player.
|
// Alter camera position to match player.
|
||||||
let tilt = self.camera.get_orientation().y;
|
let tilt = self.camera.get_orientation().y;
|
||||||
let dist = self.camera.get_distance();
|
let dist = self.camera.get_distance();
|
||||||
|
|
||||||
Vec3::unit_z() * (up * viewpoint_scale - tilt.min(0.0).sin() * dist * 0.6)
|
Vec3::unit_z() * (up * viewpoint_scale - tilt.min(0.0).sin() * dist * 0.6)
|
||||||
|
+ self.camera.right() * (right * viewpoint_scale)
|
||||||
} else {
|
} else {
|
||||||
self.figure_mgr
|
self.figure_mgr
|
||||||
.viewpoint_offset(scene_data, scene_data.viewpoint_entity)
|
.viewpoint_offset(scene_data, scene_data.viewpoint_entity)
|
||||||
|
Loading…
Reference in New Issue
Block a user