Version: 2017.3
public bool useRandomRow ;

説明

それぞれのパーティクルの放出時にテクスチャシートのランダムな列を使用します。

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); } } }