Use a random row of the texture sheet for each particle emitted.
#pragma strict private var ps: ParticleSystem; public var useRandomRow: boolean = true; public var row: int = 0; function Start() { ps = GetComponent.<ParticleSystem>(); var main: var = ps.main; main.startLifetimeMultiplier = 2.0f; var tex: var = ps.textureSheetAnimation; tex.enabled = true; tex.numTilesX = 4; tex.numTilesY = 2; tex.animation = ParticleSystemAnimationType.SingleRow; } function Update() { var tex: var = ps.textureSheetAnimation; tex.useRandomRow = useRandomRow; tex.rowIndex = row; } function OnGUI() { useRandomRow = GUI.Toggle(new Rect(25, 20, 100, 30), useRandomRow, "Use Random Row"); if (useRandomRow == false) { GUI.Label(new Rect(25, 60, 100, 30), "Row Index"); row = intGUI.HorizontalSlider(new Rect(125, 65, 100, 30), floatrow, 0.0f, 1.0f); } }
using UnityEngine;
public class ExampleClass : MonoBehaviour { private ParticleSystem ps; public bool useRandomRow = true; public int row = 0;
void Start() { ps = GetComponent<ParticleSystem>();
var main = ps.main; main.startLifetimeMultiplier = 2.0f;
var tex = ps.textureSheetAnimation; tex.enabled = true; tex.numTilesX = 4; tex.numTilesY = 2; tex.animation = ParticleSystemAnimationType.SingleRow; }
void Update() { var tex = ps.textureSheetAnimation; tex.useRandomRow = useRandomRow; tex.rowIndex = row; }
void OnGUI() { useRandomRow = GUI.Toggle(new Rect(25, 20, 100, 30), useRandomRow, "Use Random Row");
if (useRandomRow == false) { GUI.Label(new Rect(25, 60, 100, 30), "Row Index"); row = (int)GUI.HorizontalSlider(new Rect(125, 65, 100, 30), (float)row, 0.0f, 1.0f); } } }
Did you find this page useful? Please give it a rating: