为每个轨迹添加一个额外的位置,将其连接到 Transform 组件的位置。
using UnityEngine; using System.Collections;
[RequireComponent(typeof(ParticleSystem))] public class ExampleClass : MonoBehaviour { private ParticleSystem ps; public bool attachRibbonsToTransform = 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 shape = ps.shape; shape.radius = 2.0f; shape.radiusThickness = 0.0f;
var trails = ps.trails; trails.enabled = true; trails.mode = ParticleSystemTrailMode.Ribbon;
var psr = GetComponent<ParticleSystemRenderer>(); psr.trailMaterial = new Material(Shader.Find("Sprites/Default")); }
void Update() { var trails = ps.trails; trails.attachRibbonsToTransform = attachRibbonsToTransform; }
void OnGUI() { attachRibbonsToTransform = GUI.Toggle(new Rect(25, 25, 200, 30), attachRibbonsToTransform, "Attach Ribbons To Transform"); } }