public SphericalCoord LocalToSpherical(Vector3 localPosition) { // We need to know our 0..1 float xPos = localPosition.x / terrainData.size.x; float yPos = localPosition.z / terrainData.size.z; // NOTE: Z! Quaternion pointRotation = ChunkRotation * Quaternion.Euler( xPos * DegreesPerChunk - (DegreesPerChunk / 2f), yPos * DegreesPerChunk - (DegreesPerChunk / 2f), 0 ); return(CoordHelper.RotationToSpherical(pointRotation)); }