Merge pull request #101884 from aaronp64/camera_gizmo_fov_fix

Fix `Camera3D` gizmo representation to accurately reflect FOV
This commit is contained in:
Thaddeus Crews 2025-03-10 10:01:13 -05:00
commit b40e6a55ac
No known key found for this signature in database
GPG Key ID: 62181B86FE9E5D84

View File

@ -180,7 +180,13 @@ void Camera3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
const float hsize = Math::sin(Math::deg_to_rad(fov));
const float depth = -Math::cos(Math::deg_to_rad(fov));
Vector3 side = Vector3(hsize * size_factor.x, 0, depth);
Vector3 side;
if (camera->get_keep_aspect_mode() == Camera3D::KEEP_WIDTH) {
side = Vector3(hsize * size_factor.x, 0, depth * size_factor.x);
} else {
side = Vector3(hsize * size_factor.x, 0, depth * size_factor.y);
}
Vector3 nside = Vector3(-side.x, side.y, side.z);
Vector3 up = Vector3(0, hsize * size_factor.y, 0);