diff --git a/NewHorizons/Builder/Body/Geometry/CubeSphere.cs b/NewHorizons/Builder/Body/Geometry/CubeSphere.cs index 113dfbbd..96f58006 100644 --- a/NewHorizons/Builder/Body/Geometry/CubeSphere.cs +++ b/NewHorizons/Builder/Body/Geometry/CubeSphere.cs @@ -11,7 +11,7 @@ namespace NewHorizons.Builder.Body.Geometry { static class CubeSphere { - public static Mesh Build(int resolution, Texture2D heightMap, float minHeight, float maxHeight, Vector3 stretch) + public static Mesh Build(int resolution, Texture2D heightMap, float minHeight, float maxHeight) { // It breaks if resolution is greater than 100 I don't know why if(resolution > 100) @@ -23,24 +23,7 @@ namespace NewHorizons.Builder.Body.Geometry Mesh mesh = new Mesh(); mesh.name = "CubeSphere"; - float max = 1; - if (stretch.x > stretch.y && stretch.x > stretch.z) - max = stretch.x; - else if (stretch.y > stretch.x && stretch.y > stretch.z) - max = stretch.y; - else if (stretch.z > stretch.x && stretch.z > stretch.y) - max = stretch.z; - else if (stretch.y == stretch.z && stretch.x > stretch.y) - max = stretch.x; - else if (stretch.x == stretch.z && stretch.y > stretch.x) - max = stretch.y; - else if (stretch.x == stretch.y && stretch.z > stretch.x) - max = stretch.z; - minHeight /= max; - maxHeight /= max; - CreateVertices(mesh, resolution, heightMap, minHeight, maxHeight); - StretchVertices(mesh, stretch); CreateTriangles(mesh, resolution); mesh.RecalculateNormals(); @@ -50,24 +33,6 @@ namespace NewHorizons.Builder.Body.Geometry return mesh; } - private static void StretchVertices(Mesh mesh, Vector3 scale) - { - var baseVertices = mesh.vertices; - - var vertices = new Vector3[baseVertices.Length]; - - for (var i = 0; i < vertices.Length; i++) - { - var vertex = baseVertices[i]; - vertex.x = vertex.x * scale.x; - vertex.y = vertex.y * scale.y; - vertex.z = vertex.z * scale.z; - vertices[i] = vertex; - } - - mesh.vertices = vertices; - } - // Thank you Catlikecoding private static void CreateVertices(Mesh mesh, int resolution, Texture2D heightMap, float minHeight, float maxHeight) { diff --git a/NewHorizons/Builder/Body/HeightMapBuilder.cs b/NewHorizons/Builder/Body/HeightMapBuilder.cs index 5fa0e752..2a89748f 100644 --- a/NewHorizons/Builder/Body/HeightMapBuilder.cs +++ b/NewHorizons/Builder/Body/HeightMapBuilder.cs @@ -37,8 +37,9 @@ namespace NewHorizons.Builder.Body cubeSphere.SetActive(false); cubeSphere.transform.parent = sector?.transform ?? planetGO.transform; cubeSphere.transform.rotation = Quaternion.Euler(90, 0, 0); + cubeSphere.transform.localScale = module.Stretch; - Mesh mesh = CubeSphere.Build(51, heightMap, module.MinHeight, module.MaxHeight, module.Stretch); + Mesh mesh = CubeSphere.Build(51, heightMap, module.MinHeight, module.MaxHeight); cubeSphere.AddComponent(); cubeSphere.GetComponent().mesh = mesh;