Описание
Интерфейс скрипта для CustomDataModule системы частиц.
После настройки этот модуль будет генерировать настраиваемые данные для каждой частицы, которые можно использовать либо в сценарии, либо в шейдерах. Чтобы прочитать данные из сценария, просто вызовите ParticleSystem.GetCustomParticleData. Чтобы прочитать его в шейдере, включите пользовательские потоки данных в модуле ParticleSystemRenderer или вызовите ParticleSystemRenderer.EnableVertexStreams из скрипта. После включения пользовательские данные будут передаваться вашему вершинному шейдеру через канал TEXCOORD. Инспектор ParticleSystemRenderer сообщит вам, какие каналы используются.
Модули системы частиц не нужно переназначать обратно в систему; это интерфейсы, а не независимые объекты.
Смотрите так же: ParticleSystemRenderer.EnableVertexStreams.
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(ParticleSystem))]
public class ExampleClass : MonoBehaviour
{
void Start()
{
ParticleSystem ps = GetComponent<ParticleSystem>();
var customData = ps.customData;
customData.enabled = true;
Gradient grad = new Gradient();
grad.SetKeys(new GradientColorKey[] { new GradientColorKey(Color.blue, 0.0f), new GradientColorKey(Color.red, 1.0f) }, new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(0.0f, 1.0f) });
customData.SetMode(ParticleSystemCustomData.Custom1, UnityEngine.ParticleSystemCustomDataMode.Color);
customData.SetColor(ParticleSystemCustomData.Custom1, grad);
}
}