mirror of https://github.com/godotengine/godot
Fix Camera3D gizmo representation to accurately reflect FOV
Updated gizmo drawing to keep depth proportional to width or height based on whether FOV is horizontal or vertical.
This commit is contained in:
parent
f2cc3f1275
commit
7e4d635c2f
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue