Объявление
public void SetSubEmitterEmitProbability(int index, float emitProbability);Параметры
index | Индекс субэмиттера, который вы хотите изменить. |
emitProbability | Значение вероятности. |
Описание
Устанавливает вероятность того, что дополнительный эмиттер испускает частицы.
Принимает значение от 0 до 1, где 0 никогда не используется, а 1 всегда.
using UnityEngine;
public class Example : MonoBehaviour
{
void Start()
{
// Простой материал частиц без текстуры.
var particleMaterial = new Material(Shader.Find("Particles/Standard Surface"));
// Испускать 1 частицу в секунду.
var particleSystemGameObject = new GameObject("ParticleSystem");
var particleSystemMain = particleSystemGameObject.AddComponent<ParticleSystem>();
var emitMain = particleSystemMain.emission;
emitMain.rateOverTime = 1;
particleSystemGameObject.GetComponent<ParticleSystemRenderer>().material = particleMaterial;
// Создайте вспомогательный эмиттер с 10% шансом испустить красную частицу, когда "ParticleSystem a>" излучает.
var subEmitterGo = new GameObject("Sub Emitter");
subEmitterGo.transform.SetParent(particleSystemGameObject.transform);
var subEmitter = subEmitterGo.AddComponent<ParticleSystem>();
var emitSub = subEmitter.emission;
emitSub.rateOverTime = 0;
emitSub.burstCount = 1;
emitSub.SetBurst(0, new ParticleSystem.Burst(0, 1));
var mainModule = subEmitter.main;
mainModule.startColor = Color.red;
subEmitterGo.GetComponent<ParticleSystemRenderer>().material = particleMaterial;
// Добавляем субэмиттер и устанавливаем вероятность.
var subEmittersModule = particleSystemMain.subEmitters;
subEmittersModule.enabled = true;
subEmittersModule.AddSubEmitter(subEmitter, ParticleSystemSubEmitterType.Birth, new ParticleSystemSubEmitterProperties(), 0.1f);
}
}