MechSpiderParticles.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using UnityEngine;
  2. using System.Collections;
  3. namespace RootMotion.Demos {
  4. /// <summary>
  5. /// Emitting smoke for the mech spider
  6. /// </summary>
  7. public class MechSpiderParticles: MonoBehaviour {
  8. public MechSpiderController mechSpiderController;
  9. private ParticleSystem particles;
  10. void Start() {
  11. particles = (ParticleSystem)GetComponent(typeof(ParticleSystem));
  12. }
  13. void Update() {
  14. // Smoke
  15. float inputMag = mechSpiderController.inputVector.magnitude;
  16. float emissionRate = Mathf.Clamp(inputMag * 50, 30, 50);
  17. #if (UNITY_5_3 || UNITY_5_4)
  18. var emission = particles.emission;
  19. emission.rate = new ParticleSystem.MinMaxCurve(emissionRate);
  20. particles.startColor = new Color (particles.startColor.r, particles.startColor.g, particles.startColor.b, Mathf.Clamp(inputMag, 0.4f, 1f));
  21. #else
  22. var emission = particles.emission;
  23. emission.rateOverTime = new ParticleSystem.MinMaxCurve(emissionRate);
  24. var main = particles.main;
  25. main.startColor = new Color (particles.main.startColor.color.r, particles.main.startColor.color.g, particles.main.startColor.color.b, Mathf.Clamp(inputMag, 0.4f, 1f));
  26. #endif
  27. }
  28. }
  29. }