From e0a488dec14706f1560157d0ecb22f0fd3218bc4 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Thu, 12 Sep 2024 12:41:22 +0200 Subject: [PATCH] Fix failed check in `Camera::ConvertMouseToRay` when result is invalid ray --- Source/Engine/Level/Actors/Camera.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Engine/Level/Actors/Camera.cpp b/Source/Engine/Level/Actors/Camera.cpp index e5d770343..2ff9c928e 100644 --- a/Source/Engine/Level/Actors/Camera.cpp +++ b/Source/Engine/Level/Actors/Camera.cpp @@ -237,7 +237,10 @@ Ray Camera::ConvertMouseToRay(const Float2& mousePosition, const Viewport& viewp viewport.Unproject(nearPoint, ivp, nearPoint); viewport.Unproject(farPoint, ivp, farPoint); - return Ray(nearPoint, Vector3::Normalize(farPoint - nearPoint)); + Vector3 dir = Vector3::Normalize(farPoint - nearPoint); + if (dir.IsZero()) + return Ray::Identity; + return Ray(nearPoint, dir); } Viewport Camera::GetViewport() const