diff --git a/NewHorizons/Builder/Body/HeightMapBuilder.cs b/NewHorizons/Builder/Body/HeightMapBuilder.cs index bd248f6e..917aae3d 100644 --- a/NewHorizons/Builder/Body/HeightMapBuilder.cs +++ b/NewHorizons/Builder/Body/HeightMapBuilder.cs @@ -1,6 +1,5 @@ using NewHorizons.Builder.Body.Geometry; using NewHorizons.External.Modules; -using NewHorizons.Utility; using NewHorizons.Utility.Files; using NewHorizons.Utility.OWML; using OWML.Common; @@ -60,7 +59,7 @@ namespace NewHorizons.Builder.Body var cubeSphere = new GameObject("CubeSphere"); cubeSphere.SetActive(false); - cubeSphere.transform.parent = sector?.transform ?? planetGO.transform; + cubeSphere.transform.SetParent(sector?.transform ?? planetGO.transform, false); if (PlanetShader == null) PlanetShader = Main.NHAssetBundle.LoadAsset("Assets/Shaders/SphereTextureWrapperTriplanar.shader"); @@ -99,10 +98,6 @@ namespace NewHorizons.Builder.Body var superGroup = planetGO.GetComponent(); if (superGroup != null) cubeSphere.AddComponent()._superGroup = superGroup; - // rotate for backwards compat :P - cubeSphere.transform.rotation = planetGO.transform.TransformRotation(Quaternion.Euler(0, -90, 0)); - cubeSphere.transform.position = planetGO.transform.position; - cubeSphere.SetActive(true); // Now that we've made the mesh we can delete the heightmap texture @@ -113,6 +108,7 @@ namespace NewHorizons.Builder.Body MeshRenderer MakeLODTerrain(int resolution, bool useTriplanar) { var LODCubeSphere = new GameObject("LODCubeSphere"); + LODCubeSphere.transform.SetParent(cubeSphere.transform, false); LODCubeSphere.AddComponent().mesh = CubeSphere.Build(resolution, heightMap, module.minHeight, module.maxHeight, stretch); @@ -141,9 +137,6 @@ namespace NewHorizons.Builder.Body alphaTile.TryApplyTile(material); } - LODCubeSphere.transform.parent = cubeSphere.transform; - LODCubeSphere.transform.localPosition = Vector3.zero; - return cubeSphereMR; } } diff --git a/NewHorizons/Builder/Props/ScatterBuilder.cs b/NewHorizons/Builder/Props/ScatterBuilder.cs index e0804325..1ec4e2d3 100644 --- a/NewHorizons/Builder/Props/ScatterBuilder.cs +++ b/NewHorizons/Builder/Props/ScatterBuilder.cs @@ -118,9 +118,6 @@ namespace NewHorizons.Builder.Props i--; continue; } - - // rotate in the same way heightmaps are rotated - point = Quaternion.Euler(0, -90, 0) * point; } var prop = scatterPrefab.InstantiateInactive(); diff --git a/NewHorizons/Utility/Geometry/CoordinateUtilities.cs b/NewHorizons/Utility/Geometry/CoordinateUtilities.cs index fc677121..434cf34b 100644 --- a/NewHorizons/Utility/Geometry/CoordinateUtilities.cs +++ b/NewHorizons/Utility/Geometry/CoordinateUtilities.cs @@ -10,9 +10,9 @@ namespace NewHorizons.Utility.Geometry float x, y, z; if (useShaderCoords) { - // shader does some jank stuff to match standard shader - x = -v.z; - y = v.x; + // Y is DOWN is the shader + x = v.x; + y = v.z; z = -v.y; } else