56 lines
2.1 KiB
C#
56 lines
2.1 KiB
C#
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<RuntimeTerrainGenerator>.Get;
|
|
RuntimePrefs = GISTerrainLoaderMonoSingleton<GISTerrainLoaderRuntimePrefs>.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;
|
|
}
|
|
}
|