summaryrefslogtreecommitdiff
path: root/_appControlerTerrain2Geometry.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-03-13 11:00:58 +0800
committerchai <215380520@qq.com>2024-03-13 11:00:58 +0800
commit6ce8b9e22fc13be34b442c7b6af48b42cd44275a (patch)
treeb38119d2acf0a982cb67e381f146924b9bfc3b3f /_appControlerTerrain2Geometry.cs
+init
Diffstat (limited to '_appControlerTerrain2Geometry.cs')
-rw-r--r--_appControlerTerrain2Geometry.cs179
1 files changed, 179 insertions, 0 deletions
diff --git a/_appControlerTerrain2Geometry.cs b/_appControlerTerrain2Geometry.cs
new file mode 100644
index 0000000..425640c
--- /dev/null
+++ b/_appControlerTerrain2Geometry.cs
@@ -0,0 +1,179 @@
+using UnityEngine;
+
+public class _appControlerTerrain2Geometry : MonoBehaviour
+{
+ public bool shadows;
+
+ public bool forward_path = true;
+
+ public bool terrain_self_shadow;
+
+ public bool terrain_smooth_shadows = true;
+
+ private bool panel_enabled;
+
+ public float light_dir = 285f;
+
+ public float preset_param_interp;
+
+ private RTP_LODmanager LODmanager;
+
+ private void Awake()
+ {
+ GetLODManager();
+ panel_enabled = true;
+ }
+
+ private void Update()
+ {
+ if (Input.GetKeyDown(KeyCode.P))
+ {
+ panel_enabled = !panel_enabled;
+ }
+ if (Input.GetKey(KeyCode.Period))
+ {
+ base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.Min(base.transform.localPosition.y + 0.5f, 50f), base.transform.localPosition.z);
+ }
+ if (Input.GetKey(KeyCode.Comma))
+ {
+ base.transform.localPosition = new Vector3(base.transform.localPosition.x, Mathf.Max(base.transform.localPosition.y - 0.5f, 0.9f), base.transform.localPosition.z);
+ }
+ }
+
+ private void GetLODManager()
+ {
+ GameObject gameObject = GameObject.Find("_RTP_LODmanager");
+ if (!(gameObject == null))
+ {
+ LODmanager = (RTP_LODmanager)gameObject.GetComponent(typeof(RTP_LODmanager));
+ }
+ }
+
+ private void OnGUI()
+ {
+ if (!LODmanager)
+ {
+ GetLODManager();
+ return;
+ }
+ GUILayout.Space(10f);
+ GUILayout.BeginVertical("box");
+ GUILayout.Label(string.Empty + FPSmeter.fps);
+ if (panel_enabled)
+ {
+ shadows = GUILayout.Toggle(shadows, "disable Unity's shadows");
+ Light component = GameObject.Find("Directional light").GetComponent<Light>();
+ component.shadows = ((!shadows) ? LightShadows.Soft : LightShadows.None);
+ forward_path = GUILayout.Toggle(forward_path, "forward rendering");
+ Camera component2 = GameObject.Find("Main Camera").GetComponent<Camera>();
+ component2.renderingPath = (forward_path ? RenderingPath.Forward : RenderingPath.DeferredShading);
+ if (forward_path)
+ {
+ RenderSettings.ambientLight = new Color32(25, 25, 25, 0);
+ }
+ else
+ {
+ RenderSettings.ambientLight = new Color32(93, 103, 122, 0);
+ }
+ TerrainShaderLod rTP_LODlevel = LODmanager.RTP_LODlevel;
+ TerrainShaderLod terrainShaderLod = rTP_LODlevel;
+ switch (rTP_LODlevel)
+ {
+ case TerrainShaderLod.POM:
+ if (GUILayout.Button("POM shading"))
+ {
+ terrainShaderLod = TerrainShaderLod.PM;
+ }
+ break;
+ case TerrainShaderLod.PM:
+ if (GUILayout.Button("PM shading"))
+ {
+ terrainShaderLod = TerrainShaderLod.SIMPLE;
+ }
+ break;
+ case TerrainShaderLod.SIMPLE:
+ if (GUILayout.Button("SIMPLE shading"))
+ {
+ terrainShaderLod = TerrainShaderLod.POM;
+ }
+ break;
+ }
+ switch (terrainShaderLod)
+ {
+ case TerrainShaderLod.POM:
+ if (terrainShaderLod != rTP_LODlevel)
+ {
+ GameObject gameObject2 = GameObject.Find("terrainMesh");
+ ReliefTerrain reliefTerrain2 = gameObject2.GetComponent(typeof(ReliefTerrain)) as ReliefTerrain;
+ reliefTerrain2.globalSettingsHolder.Refresh();
+ LODmanager.RTP_LODlevel = TerrainShaderLod.POM;
+ LODmanager.RefreshLODlevel();
+ }
+ break;
+ case TerrainShaderLod.PM:
+ if (terrainShaderLod != rTP_LODlevel)
+ {
+ GameObject gameObject3 = GameObject.Find("terrainMesh");
+ ReliefTerrain reliefTerrain3 = gameObject3.GetComponent(typeof(ReliefTerrain)) as ReliefTerrain;
+ reliefTerrain3.globalSettingsHolder.Refresh();
+ LODmanager.RTP_LODlevel = TerrainShaderLod.PM;
+ LODmanager.RefreshLODlevel();
+ }
+ break;
+ case TerrainShaderLod.SIMPLE:
+ if (terrainShaderLod != rTP_LODlevel)
+ {
+ GameObject gameObject = GameObject.Find("terrainMesh");
+ ReliefTerrain reliefTerrain = gameObject.GetComponent(typeof(ReliefTerrain)) as ReliefTerrain;
+ reliefTerrain.globalSettingsHolder.Refresh();
+ LODmanager.RTP_LODlevel = TerrainShaderLod.SIMPLE;
+ LODmanager.RefreshLODlevel();
+ }
+ break;
+ }
+ if (terrainShaderLod == TerrainShaderLod.POM)
+ {
+ terrain_self_shadow = LODmanager.RTP_SHADOWS;
+ bool flag = GUILayout.Toggle(terrain_self_shadow, "self shadowing");
+ if (flag != terrain_self_shadow)
+ {
+ LODmanager.RTP_SHADOWS = flag;
+ LODmanager.RefreshLODlevel();
+ }
+ terrain_self_shadow = flag;
+ if (terrain_self_shadow)
+ {
+ terrain_smooth_shadows = LODmanager.RTP_SOFT_SHADOWS;
+ bool flag2 = GUILayout.Toggle(terrain_smooth_shadows, "smooth shadows");
+ if (flag2 != terrain_smooth_shadows)
+ {
+ LODmanager.RTP_SOFT_SHADOWS = flag2;
+ LODmanager.RefreshLODlevel();
+ }
+ terrain_smooth_shadows = flag2;
+ }
+ }
+ if (LODmanager.RTP_SNOW_FIRST)
+ {
+ GameObject gameObject4 = GameObject.Find("terrainMesh");
+ ReliefTerrain reliefTerrain4 = gameObject4.GetComponent(typeof(ReliefTerrain)) as ReliefTerrain;
+ GUILayout.BeginHorizontal();
+ GUILayout.Label("Snow", GUILayout.MaxWidth(40f));
+ float num = GUILayout.HorizontalSlider(reliefTerrain4.globalSettingsHolder._snow_strength, 0f, 1f);
+ if (num != reliefTerrain4.globalSettingsHolder._snow_strength)
+ {
+ reliefTerrain4.globalSettingsHolder._snow_strength = num;
+ reliefTerrain4.globalSettingsHolder.Refresh();
+ }
+ GUILayout.EndHorizontal();
+ }
+ GUILayout.Label("Light", GUILayout.MaxWidth(40f));
+ light_dir = GUILayout.HorizontalSlider(light_dir, 0f, 360f);
+ component.transform.rotation = Quaternion.Euler(40f, light_dir, 0f);
+ GUILayout.Label(" F (hold) - freeze camera");
+ GUILayout.Label(" ,/. - change cam position");
+ }
+ GUILayout.Label(" P - toggle panel");
+ GUILayout.EndVertical();
+ }
+}