using System.Collections; using System.IO; using GISTech.GISTerrainLoader; using UnityEngine; public class GenerateSimpleTerrain : MonoBehaviour { private string TerrainFilePath; private RuntimeTerrainGenerator RuntimeGenerator; private GISTerrainLoaderPrefs Prefs; private GISTerrainLoaderRuntimePrefs RuntimePrefs; private void Start() { TerrainFilePath = Application.streamingAssetsPath + "/GIS Terrains/Example_SHP/Cuenca.tif"; RuntimePrefs = GISTerrainLoaderMonoSingleton.Get; Prefs = RuntimePrefs.Prefs; RuntimeGenerator = GISTerrainLoaderMonoSingleton.Get; StartCoroutine(GenerateTerrain(TerrainFilePath)); } private IEnumerator GenerateTerrain(string TerrainPath) { yield return new WaitForSeconds(2f); if (Application.platform == RuntimePlatform.WebGLPlayer || Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer) { InitializingRuntimePrefs(TerrainPath); StartCoroutine(RuntimeGenerator.StartGenerating(Prefs)); } else if (!string.IsNullOrEmpty(TerrainPath) && File.Exists(TerrainPath)) { InitializingRuntimePrefs(TerrainPath); StartCoroutine(RuntimeGenerator.StartGenerating(Prefs)); } else { Debug.LogError("Terrain file null or not supported.. Try againe"); yield return null; } } private void InitializingRuntimePrefs(string TerrainPath) { RuntimeGenerator.enabled = true; Prefs.TerrainFilePath = TerrainPath; Prefs.RemovePrvTerrain = OptionEnabDisab.Enable; Prefs.TerrainElevation = TerrainElevation.RealWorldElevation; Prefs.terrainDimensionMode = TerrainDimensionsMode.AutoDetection; Prefs.heightmapResolution = 65; Prefs.textureloadingMode = TexturesLoadingMode.AutoDetection; Prefs.terrainMaterialMode = TerrainMaterialMode.Standard; Prefs.vectorType = VectorType.OpenStreetMap; Prefs.EnableRoadGeneration = OptionEnabDisab.Enable; Prefs.EnableBuildingGeneration = OptionEnabDisab.Enable; Prefs.EnableTreeGeneration = OptionEnabDisab.Enable; } }