From b22fc8a64da2ab0ff8ed2f9326501e1713c2965d Mon Sep 17 00:00:00 2001 From: bartjuhhh <bart.knuiman@wur.nl> Date: Wed, 4 Dec 2024 14:24:32 +0100 Subject: [PATCH] Removed _11 from TerrainGenerator.prefab. --- ...ator_11.prefab => TerrainGenerator.prefab} | 2 +- ...efab.meta => TerrainGenerator.prefab.meta} | 0 Scripts/TerrainBuilder.cs | 17 ++---- Scripts/TerrainTile.cs | 5 +- Scripts/TileEnabler.cs | 57 +++++++++++++++++++ Scripts/TileEnabler.cs.meta | 2 + 6 files changed, 68 insertions(+), 15 deletions(-) rename Prefabs/{TerrainGenerator_11.prefab => TerrainGenerator.prefab} (99%) rename Prefabs/{TerrainGenerator_11.prefab.meta => TerrainGenerator.prefab.meta} (100%) create mode 100644 Scripts/TileEnabler.cs create mode 100644 Scripts/TileEnabler.cs.meta diff --git a/Prefabs/TerrainGenerator_11.prefab b/Prefabs/TerrainGenerator.prefab similarity index 99% rename from Prefabs/TerrainGenerator_11.prefab rename to Prefabs/TerrainGenerator.prefab index 31260a2..193544a 100644 --- a/Prefabs/TerrainGenerator_11.prefab +++ b/Prefabs/TerrainGenerator.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 8981884769106181493} - component: {fileID: 4806176523509582529} m_Layer: 0 - m_Name: TerrainGenerator_11 + m_Name: TerrainGenerator m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 diff --git a/Prefabs/TerrainGenerator_11.prefab.meta b/Prefabs/TerrainGenerator.prefab.meta similarity index 100% rename from Prefabs/TerrainGenerator_11.prefab.meta rename to Prefabs/TerrainGenerator.prefab.meta diff --git a/Scripts/TerrainBuilder.cs b/Scripts/TerrainBuilder.cs index e1ab35c..67e6304 100644 --- a/Scripts/TerrainBuilder.cs +++ b/Scripts/TerrainBuilder.cs @@ -67,7 +67,6 @@ namespace Wander public bool runOnStart = false; public string prefix = "Terrain"; public float pixelError = 2; - public string areaName = "Steenbergen"; public Vector2 originWGS84 = new Vector2(51.985365f, 5.664941f); // Copy directly from Google maps. This is Forum on Campus WUR. public int numRings = 1; public int zoom = 12; @@ -166,7 +165,6 @@ namespace Wander boundsSize = (numRings*2+1)*tileSize; // (NumRings*2+1) is nTiles wide. boundaryData["boundsSize"] = boundsSize.ToString(); - boundaryData["areaName"] = areaName; foreach ( var sceneObject in sceneObjects ) { @@ -542,6 +540,7 @@ namespace Wander return 0; // Only build missing tiles. if (!overwriteExistingTiles) { + var areaName = SceneManager.GetActiveScene().name; var tilePath = Path.Combine( Application.dataPath, $"{areaName}/tiles_{zoom}", $"tile_{coord.x}_{coord.y}").FS(); if (Directory.Exists( tilePath )) { @@ -735,9 +734,6 @@ namespace Wander [InitializeOnLoad] public class TerrainBuilderEditor : Editor { - bool toggle; - // bool terrainDependenciesLoaded; - public override void OnInspectorGUI() { TerrainBuilder builder = (TerrainBuilder)target; @@ -755,15 +751,10 @@ namespace Wander GUILayout.BeginHorizontal(); { - if (toggle = GUILayout.Toggle( toggle, "Checked Area name" )) + if (GUILayout.Button( "Build" )) { - toggle = true; - if (GUILayout.Button( "Build" )) - { - toggle=false; - builder.issuedSyncCoords = true; - builder.issuedBuild = true; - } + builder.issuedSyncCoords = true; + builder.issuedBuild = true; } if (GUILayout.Button( "Sync coords" )) { diff --git a/Scripts/TerrainTile.cs b/Scripts/TerrainTile.cs index 4588d07..20f1630 100644 --- a/Scripts/TerrainTile.cs +++ b/Scripts/TerrainTile.cs @@ -8,6 +8,8 @@ using System.Threading.Tasks; using UnityEngine; using System.Threading; using UnityEngine.Rendering.HighDefinition; +using UnityEngine.SceneManagement; + @@ -1170,7 +1172,8 @@ namespace Wander return; } - var dirPath = Path.Combine( Application.dataPath, builder.areaName, $"tiles_{builder.zoom}", $"tile_{tileOrigin.x}_{tileOrigin.y}").FS(); + var areaName = SceneManager.GetActiveScene().name; + var dirPath = Path.Combine( Application.dataPath, areaName, $"tiles_{builder.zoom}", $"tile_{tileOrigin.x}_{tileOrigin.y}").FS(); if (!Directory.Exists( dirPath ) ) { Directory.CreateDirectory( dirPath ); diff --git a/Scripts/TileEnabler.cs b/Scripts/TileEnabler.cs new file mode 100644 index 0000000..d3add51 --- /dev/null +++ b/Scripts/TileEnabler.cs @@ -0,0 +1,57 @@ +using UnityEngine; +//using UnityEngine.Addressables; + +#if UNITY_EDITOR + +namespace Wander +{ + public class TileEnabler : MonoBehaviour + { + public float maxViewDistance = 2000; + public float minViewDistance = 0.1f; + public Camera cam; + + float tileSize; + float halfHeight; + + private void Start() + { + if ( cam == null ) + { + cam = Camera.main; + } + + var builder = FindFirstObjectByType<TerrainBuilder>(); + halfHeight = builder.terrainHeight/2; + tileSize = (float)builder.tileSize; + } + + private void Update() + { + if (cam == null) + { + return; + } + + Camera c = new Camera(); + c.CopyFrom( cam ); + c.nearClipPlane = minViewDistance; + c.farClipPlane = maxViewDistance; + + var planes = GeometryUtility.CalculateFrustumPlanes( c ); + + for (int i = 0; i < transform.childCount; i++) + { + var tile = transform.GetChild(i); + var bounds = new Bounds(tile.transform.position + new Vector3(tileSize, halfHeight, tileSize)/2, new Vector3(tileSize, halfHeight*2, tileSize)); + if (i == 0) + { + MiscUtils.DrawBox( bounds.center, Quaternion.identity, bounds.size, Color.blue ); + } + tile.gameObject.SetActive( GeometryUtility.TestPlanesAABB( planes, bounds ) ); + } + } + } +} + +#endif \ No newline at end of file diff --git a/Scripts/TileEnabler.cs.meta b/Scripts/TileEnabler.cs.meta new file mode 100644 index 0000000..45dc774 --- /dev/null +++ b/Scripts/TileEnabler.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 39bfd911c0de22340b7b3990638e8177 \ No newline at end of file -- GitLab