DemoShafts.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using UnityEngine;
  2. using System.Collections;
  3. namespace VolumetricFogAndMist
  4. {
  5. public class DemoShafts : MonoBehaviour
  6. {
  7. VolumetricFog fog;
  8. void Start() {
  9. fog = VolumetricFog.instance;
  10. }
  11. void Update ()
  12. {
  13. if (Input.GetKeyDown (KeyCode.F)) {
  14. switch (fog.preset) {
  15. case FOG_PRESET.Clear:
  16. fog.preset = FOG_PRESET.Mist;
  17. break;
  18. case FOG_PRESET.Mist:
  19. fog.preset = FOG_PRESET.WindyMist;
  20. break;
  21. case FOG_PRESET.WindyMist:
  22. fog.preset = FOG_PRESET.GroundFog;
  23. break;
  24. case FOG_PRESET.GroundFog:
  25. fog.preset = FOG_PRESET.FrostedGround;
  26. break;
  27. case FOG_PRESET.FrostedGround:
  28. fog.preset = FOG_PRESET.FoggyLake;
  29. break;
  30. case FOG_PRESET.FoggyLake:
  31. fog.preset = FOG_PRESET.Fog;
  32. break;
  33. case FOG_PRESET.Fog:
  34. fog.preset = FOG_PRESET.HeavyFog;
  35. break;
  36. case FOG_PRESET.HeavyFog:
  37. fog.preset = FOG_PRESET.LowClouds;
  38. break;
  39. case FOG_PRESET.LowClouds:
  40. fog.preset = FOG_PRESET.SeaClouds;
  41. break;
  42. case FOG_PRESET.SeaClouds:
  43. fog.preset = FOG_PRESET.Smoke;
  44. break;
  45. case FOG_PRESET.Smoke:
  46. fog.preset = FOG_PRESET.ToxicSwamp;
  47. break;
  48. case FOG_PRESET.ToxicSwamp:
  49. fog.preset = FOG_PRESET.SandStorm1;
  50. break;
  51. case FOG_PRESET.SandStorm1:
  52. fog.preset = FOG_PRESET.SandStorm2;
  53. break;
  54. case FOG_PRESET.SandStorm2:
  55. fog.preset = FOG_PRESET.Mist;
  56. break;
  57. }
  58. } else if (Input.GetKeyDown (KeyCode.T)) {
  59. fog.enabled = !fog.enabled;
  60. }
  61. fog.sun.transform.Rotate(Vector3.left, Time.deltaTime);
  62. }
  63. void OnGUI ()
  64. {
  65. Rect rect = new Rect (10, 10, Screen.width - 20, 30);
  66. GUI.Label (rect, "Move around with WASD or cursor keys, space to jump, F key to change fog style, T to toggle fog on/off.");
  67. rect = new Rect (10, 30, Screen.width - 20, 30);
  68. GUI.Label (rect, "Current fog preset: " + VolumetricFog.instance.GetCurrentPresetName());
  69. }
  70. }
  71. }