Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


sortMode

Specifies how to sort particles within a system.
Read time 1 minuteLast updated 6 days ago

Definition

  • Type: Property
  • Namespace: UnityEngine
  • Assembly: UnityEngine.ParticleSystemModule
public ParticleSystemSortMode sortMode { get; set; }

Examples

using UnityEngine;using UnityEditor;using System.Collections;[RequireComponent(typeof(ParticleSystem))]public class ExampleClass : MonoBehaviour { private ParticleSystem ps; private ParticleSystemRenderer psr; public ParticleSystemSortMode sortMode; void Start() { ps = GetComponent<ParticleSystem>(); psr = GetComponent<ParticleSystemRenderer>(); // set a slow start speed and high emission rate, to cause more overlap, to show sorting var main = ps.main; main.startSpeedMultiplier = 0.2f; var emission = ps.emission; emission.rateOverTimeMultiplier = 100.0f; // set color over life, so we can see the sorting more easily var colorOverLifetime = ps.colorOverLifetime; colorOverLifetime.enabled = true; Gradient gradient = new Gradient(); gradient.SetKeys( new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) }, new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(1.0f, 1.0f) } ); colorOverLifetime.color = new ParticleSystem.MinMaxGradient(gradient); } void Update() { psr.sortMode = sortMode; } void OnGUI() { sortMode = (ParticleSystemSortMode)GUI.SelectionGrid(new Rect(25, 25, 900, 30), (int)sortMode, new GUIContent[] { new GUIContent("None"), new GUIContent("Distance"), new GUIContent("OldestInFront"), new GUIContent("YoungestInFront"), new GUIContent("Depth"), new GUIContent("DistanceReverse"), new GUIContent("DepthReverse") }, 7); }}