using System.Collections; using GISTech.GISTerrainLoader; using UnityEngine; public class SetTerrainPosition : MonoBehaviour { public GISTerrainContainer MainTerrain; public GISTerrainContainer SubTerrain; private GISTerrainLoaderPrefs Prefs; private GISTerrainLoaderRuntimePrefs RuntimePrefs; private RuntimeTerrainGenerator RuntimeGenerator; private string MainTerrainFilePath; private string SubTerrainFilePath; private void Start() { MainTerrainFilePath = Application.streamingAssetsPath + "/GIS Terrains/Example_SRTM30/Desert.tif"; SubTerrainFilePath = Application.streamingAssetsPath + "/GIS Terrains/Example_SubDesert/SubTerrain.tif"; RuntimeGenerator = GISTerrainLoaderMonoSingleton.Get; RuntimePrefs = GISTerrainLoaderMonoSingleton.Get; Prefs = RuntimePrefs.Prefs; StartCoroutine(GenerateTerrains()); } private IEnumerator GenerateTerrains() { InitializingRuntimePrefs(Prefs, MainTerrainFilePath, 513); yield return StartCoroutine(RuntimeGenerator.StartGenerating(Prefs)); MainTerrain = RuntimeGenerator.GeneratedContainer; InitializingRuntimePrefs(Prefs, SubTerrainFilePath, 1025); yield return StartCoroutine(RuntimeGenerator.StartGenerating(Prefs)); SubTerrain = RuntimeGenerator.GeneratedContainer; DVector2 realWorldCoor = SubTerrain.GetBoundsCoordinatesAsDVector()[3]; SubTerrain.transform.position = GISTerrainLoaderGeoConversion.RealWorldCoordinatesToUnityWorldSpace(MainTerrain, realWorldCoor); } private void InitializingRuntimePrefs(GISTerrainLoaderPrefs Prefs, string DEMpath, int heightmapResolution) { Prefs.TerrainFilePath = DEMpath; Prefs.RemovePrvTerrain = OptionEnabDisab.Disable; Prefs.TerrainElevation = TerrainElevation.RealWorldElevation; Prefs.terrainDimensionMode = TerrainDimensionsMode.AutoDetection; Prefs.terrainScale = new Vector3(1f, 1f, 1f); Prefs.projectionMode = ProjectionMode.Geographic; Prefs.heightmapResolution = heightmapResolution; Prefs.textureloadingMode = TexturesLoadingMode.AutoDetection; Prefs.textureMode = TextureMode.WithTexture; } }