From 70a54f95880e3d5969074c9d8b55baa5e9e88890 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Jul 2022 09:05:28 -0400 Subject: [PATCH] Fix the weird heightmap destroying bug --- NewHorizons/Builder/Body/Geometry/CubeSphere.cs | 3 ++- NewHorizons/Utility/CoordinateUtilities.cs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NewHorizons/Builder/Body/Geometry/CubeSphere.cs b/NewHorizons/Builder/Body/Geometry/CubeSphere.cs index be055ece..0e417314 100644 --- a/NewHorizons/Builder/Body/Geometry/CubeSphere.cs +++ b/NewHorizons/Builder/Body/Geometry/CubeSphere.cs @@ -132,7 +132,8 @@ namespace NewHorizons.Builder.Body.Geometry float sampleX = heightMap.width * longitude / 360f; float sampleY = heightMap.height * latitude / 180f; - if (sampleX > heightMap.width) sampleX -= heightMap.width; // TODO: find out if this actually does anything + if (sampleX > heightMap.width) sampleX -= heightMap.width; + if (sampleX < 0) sampleX += heightMap.width; float relativeHeight = heightMap.GetPixel((int)sampleX, (int)sampleY).r; diff --git a/NewHorizons/Utility/CoordinateUtilities.cs b/NewHorizons/Utility/CoordinateUtilities.cs index 530e9a83..62d98eb9 100644 --- a/NewHorizons/Utility/CoordinateUtilities.cs +++ b/NewHorizons/Utility/CoordinateUtilities.cs @@ -28,7 +28,7 @@ namespace NewHorizons.Utility var longitude = Mathf.Rad2Deg * Mathf.Atan2(y, x); // phi - float latitude = (Mathf.Rad2Deg * Mathf.Acos(z / dist)); + float latitude = Mathf.Rad2Deg * Mathf.Acos(z / dist); return new Vector3(longitude, latitude, dist); }