From 2584cda5c37cab54dee50214b245555bdec5abcb Mon Sep 17 00:00:00 2001 From: Orange Date: Mon, 25 Aug 2025 21:46:50 +0300 Subject: [PATCH] Fixes namespace and angle calculations Corrects namespace naming from unity_engine to unreal_engine. Adjusts projectile prediction and angle calculations for accuracy in Unreal Engine environments. --- include/omath/engines/unreal_engine/camera.hpp | 4 ++-- include/omath/engines/unreal_engine/constants.hpp | 2 +- include/omath/engines/unreal_engine/formulas.hpp | 2 +- .../omath/engines/unreal_engine/traits/camera_trait.hpp | 2 +- .../engines/unreal_engine/traits/pred_engine_trait.hpp | 8 ++++---- source/engines/unreal_engine/formulas.cpp | 2 +- source/engines/unreal_engine/traits/camera_trait.cpp | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/omath/engines/unreal_engine/camera.hpp b/include/omath/engines/unreal_engine/camera.hpp index e944852..30d5daf 100644 --- a/include/omath/engines/unreal_engine/camera.hpp +++ b/include/omath/engines/unreal_engine/camera.hpp @@ -9,5 +9,5 @@ namespace omath::unreal_engine { - using Camera = projection::Camera; -} // namespace omath::unity_engine \ No newline at end of file + using Camera = projection::Camera; +} // namespace omath::unreal_engine \ No newline at end of file diff --git a/include/omath/engines/unreal_engine/constants.hpp b/include/omath/engines/unreal_engine/constants.hpp index 6e8f929..16f93f7 100644 --- a/include/omath/engines/unreal_engine/constants.hpp +++ b/include/omath/engines/unreal_engine/constants.hpp @@ -23,4 +23,4 @@ namespace omath::unreal_engine using RollAngle = Angle; using ViewAngles = omath::ViewAngles; -} // namespace omath::unity_engine +} // namespace omath::unreal_engine diff --git a/include/omath/engines/unreal_engine/formulas.hpp b/include/omath/engines/unreal_engine/formulas.hpp index 304698f..4e601ce 100644 --- a/include/omath/engines/unreal_engine/formulas.hpp +++ b/include/omath/engines/unreal_engine/formulas.hpp @@ -23,4 +23,4 @@ namespace omath::unreal_engine [[nodiscard]] Mat4X4 calc_perspective_projection_matrix(float field_of_view, float aspect_ratio, float near, float far) noexcept; -} // namespace omath::unity_engine +} // namespace omath::unreal_engine diff --git a/include/omath/engines/unreal_engine/traits/camera_trait.hpp b/include/omath/engines/unreal_engine/traits/camera_trait.hpp index 0f704d7..f2de27e 100644 --- a/include/omath/engines/unreal_engine/traits/camera_trait.hpp +++ b/include/omath/engines/unreal_engine/traits/camera_trait.hpp @@ -21,4 +21,4 @@ namespace omath::unreal_engine float near, float far) noexcept; }; -} // namespace omath::unity_engine \ No newline at end of file +} // namespace omath::unreal_engine \ No newline at end of file diff --git a/include/omath/engines/unreal_engine/traits/pred_engine_trait.hpp b/include/omath/engines/unreal_engine/traits/pred_engine_trait.hpp index 9b5e0f3..a57b880 100644 --- a/include/omath/engines/unreal_engine/traits/pred_engine_trait.hpp +++ b/include/omath/engines/unreal_engine/traits/pred_engine_trait.hpp @@ -55,7 +55,7 @@ namespace omath::unreal_engine const auto delta2d = calc_vector_2d_distance(predicted_target_position - projectile.m_origin); const auto height = delta2d * std::tan(angles::degrees_to_radians(projectile_pitch.value())); - return {predicted_target_position.x, predicted_target_position.y + height, projectile.m_origin.z}; + return {predicted_target_position.x, predicted_target_position.y, projectile.m_origin.z + height}; } // Due to specification of maybe_calculate_projectile_launch_pitch_angle, pitch angle must be: // 89 look up, -89 look down @@ -65,14 +65,14 @@ namespace omath::unreal_engine const auto distance = origin.distance_to(view_to); const auto delta = view_to - origin; - return angles::radians_to_degrees(std::asin(delta.y / distance)); + return angles::radians_to_degrees(std::asin(delta.z / distance)); } [[nodiscard]] static float calc_direct_yaw_angle(const Vector3& origin, const Vector3& view_to) noexcept { const auto delta = view_to - origin; - return angles::radians_to_degrees(std::atan2(delta.z, delta.x)); + return angles::radians_to_degrees(std::atan2(delta.y, delta.x)); }; }; -} // namespace omath::unity_engine +} // namespace omath::unreal_engine diff --git a/source/engines/unreal_engine/formulas.cpp b/source/engines/unreal_engine/formulas.cpp index 90cb10d..6f02ae8 100644 --- a/source/engines/unreal_engine/formulas.cpp +++ b/source/engines/unreal_engine/formulas.cpp @@ -46,4 +46,4 @@ namespace omath::unreal_engine {0, 0, -1.f, 0}, }; } -} // namespace omath::unity_engine +} // namespace omath::unreal_engine diff --git a/source/engines/unreal_engine/traits/camera_trait.cpp b/source/engines/unreal_engine/traits/camera_trait.cpp index a0d5b51..5eb8126 100644 --- a/source/engines/unreal_engine/traits/camera_trait.cpp +++ b/source/engines/unreal_engine/traits/camera_trait.cpp @@ -24,4 +24,4 @@ namespace omath::unreal_engine { return calc_perspective_projection_matrix(fov.as_degrees(), view_port.aspect_ratio(), near, far); } -} // namespace omath::unity_engine \ No newline at end of file +} // namespace omath::unreal_engine \ No newline at end of file