Version: 2017.2
public void Emit (int count);

参数

count 要发射的粒子数。

描述

立即发射 count 个粒子。


public void Emit (ParticleSystem.EmitParams emitParams, int count);

参数

emitParams 重写粒子属性。
count 要发射的粒子数。

描述

从脚本发射一定数量的粒子。

在 emitParams 中设置属性将重写发射的粒子中的相应属性。任何未修改的属性都将继承在 Inspector 中指定的行为。

using UnityEngine;

// In this example, we have a particle system emitting green particles; we then emit and override some properties every 2 seconds. public class EmitExample : MonoBehaviour { public ParticleSystem system;

void Start() { // A simple particle material with no texture. Material particleMaterial = new Material(Shader.Find("Particles/Alpha Blended Premultiply"));

// Create a green particle system. var go = new GameObject("Particle System"); go.transform.Rotate(-90, 0, 0); // Rotate so the system emits upwards. system = go.AddComponent<ParticleSystem>(); go.GetComponent<ParticleSystemRenderer>().material = particleMaterial; var mainModule = system.main; mainModule.startColor = Color.green; mainModule.startSize = 0.5f;

// Every 2 secs we will emit. InvokeRepeating("DoEmit", 2.0f, 2.0f); }

void DoEmit() { // Any parameters we assign in emitParams will override the current system's when we call Emit. // Here we will override the start color and size. var emitParams = new ParticleSystem.EmitParams(); emitParams.startColor = Color.red; emitParams.startSize = 0.2f; system.Emit(emitParams, 10); system.Play(); // Continue normal emissions } }