From 9a90ba34dad0e7fbe764a4f4c5bb6361180c5a69 Mon Sep 17 00:00:00 2001 From: Maxim Redko Date: Mon, 4 Jul 2022 23:10:39 +0300 Subject: [PATCH] Fixed visualization for box/circle collider --- Hazelnut/src/EditorLayer.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Hazelnut/src/EditorLayer.cpp b/Hazelnut/src/EditorLayer.cpp index 9a01e16b7..b93cf091f 100644 --- a/Hazelnut/src/EditorLayer.cpp +++ b/Hazelnut/src/EditorLayer.cpp @@ -475,6 +475,11 @@ namespace Hazel { if (m_ShowPhysicsColliders) { + // Calculate z index for translation + float zIndex = 0.001f; + glm::vec3 cameraForwardDirection = m_EditorCamera.GetForwardDirection(); + glm::vec3 projectionCollider = cameraForwardDirection * glm::vec3(zIndex); + // Box Colliders { auto view = m_ActiveScene->GetAllEntitiesWith(); @@ -482,7 +487,7 @@ namespace Hazel { { auto [tc, bc2d] = view.get(entity); - glm::vec3 translation = tc.Translation + glm::vec3(bc2d.Offset, 0.001f); + glm::vec3 translation = tc.Translation + glm::vec3(bc2d.Offset, -projectionCollider.z); glm::vec3 scale = tc.Scale * glm::vec3(bc2d.Size * 2.0f, 1.0f); glm::mat4 transform = glm::translate(glm::mat4(1.0f), translation) @@ -500,7 +505,7 @@ namespace Hazel { { auto [tc, cc2d] = view.get(entity); - glm::vec3 translation = tc.Translation + glm::vec3(cc2d.Offset, 0.001f); + glm::vec3 translation = tc.Translation + glm::vec3(cc2d.Offset, -projectionCollider.z); glm::vec3 scale = tc.Scale * glm::vec3(cc2d.Radius * 2.0f); glm::mat4 transform = glm::translate(glm::mat4(1.0f), translation)