Change the width multiplier.
This is more efficient than accessing the whole curve, if you only want to change the overall width multiplier.
#pragma strict private var ps: ParticleSystem; public var widthOverTrail: boolean = true; function Start() { ps = GetComponent.<ParticleSystem>(); var main: var = ps.main; main.startColor = new ParticleSystem.MinMaxGradient(Color.red, Color.yellow); main.startSize = new ParticleSystem.MinMaxCurve(0.01f, 1.0f); main.startLifetime = 1.5f; var trails: var = ps.trails; trails.enabled = true; var psr: var = GetComponent.<ParticleSystemRenderer>(); psr.trailMaterial = new Material(Shader.Find("Sprites/Default")); } function Update() { var trails: var = ps.trails; if (widthOverTrail) trails.widthOverTrailMultiplier = 0.2f; else trails.widthOverTrailMultiplier = 1.0f; } function OnGUI() { widthOverTrail = GUI.Toggle(new Rect(25, 25, 200, 30), widthOverTrail, "Width over Trail"); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { private ParticleSystem ps; public bool widthOverTrail = true;
void Start() { ps = GetComponent<ParticleSystem>();
var main = ps.main; main.startColor = new ParticleSystem.MinMaxGradient(Color.red, Color.yellow); main.startSize = new ParticleSystem.MinMaxCurve(0.01f, 1.0f); main.startLifetime = 1.5f;
var trails = ps.trails; trails.enabled = true;
var psr = GetComponent<ParticleSystemRenderer>(); psr.trailMaterial = new Material(Shader.Find("Sprites/Default")); }
void Update() { var trails = ps.trails; if (widthOverTrail) trails.widthOverTrailMultiplier = 0.2f; else trails.widthOverTrailMultiplier = 1.0f; }
void OnGUI() { widthOverTrail = GUI.Toggle(new Rect(25, 25, 200, 30), widthOverTrail, "Width over Trail"); } }
Did you find this page useful? Please give it a rating: