Merge pull request #34665 from timothyqiu/camera-fov

Clamps fov/size for Camera gizmo
This commit is contained in:
Rémi Verschelde 2020-01-01 11:37:28 +01:00 committed by GitHub
commit 3e649f8cba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 3 deletions

View file

@ -1275,7 +1275,7 @@ void CameraSpatialGizmoPlugin::set_handle(EditorSpatialGizmo *p_gizmo, int p_idx
if (camera->get_projection() == Camera::PROJECTION_PERSPECTIVE) {
Transform gt2 = camera->get_global_transform();
float a = _find_closest_angle_to_half_pi_arc(s[0], s[1], 1.0, gt2);
camera->set("fov", a * 2.0);
camera->set("fov", CLAMP(a * 2.0, 1, 179));
} else {
Vector3 ra, rb;
@ -1285,8 +1285,7 @@ void CameraSpatialGizmoPlugin::set_handle(EditorSpatialGizmo *p_gizmo, int p_idx
d = Math::stepify(d, SpatialEditor::get_singleton()->get_translate_snap());
}
if (d < 0)
d = 0;
d = CLAMP(d, 0.1, 16384);
camera->set("size", d);
}

View file

@ -583,12 +583,14 @@ Camera::Projection Camera::get_projection() const {
}
void Camera::set_fov(float p_fov) {
ERR_FAIL_COND(p_fov < 1 || p_fov > 179);
fov = p_fov;
_update_camera_mode();
_change_notify("fov");
}
void Camera::set_size(float p_size) {
ERR_FAIL_COND(p_size < 0.1 || p_size > 16384);
size = p_size;
_update_camera_mode();
_change_notify("size");