【发布时间】:2018-03-22 04:27:45
【问题描述】:
我曾经使用过以下粒子系统。
// In the inspector I drag in the leaf particle system.
public ParticleSystem LeafStormParticleSystem;
private IEnumerator activate(float ActivateFor) {
//Change number of particles to 150
LeafStormParticleSystem.maxParticles = 150;
// LeafStormParticleSystem.
var newEmission = LeafStormParticleSystem.emission;
var rate = newEmission.rate;
rate.constantMin = 20;
rate.constantMax = 21;
newEmission.rate = rate;
现在您可能已经知道,这个简单的方法增加了粒子的数量。现在,这曾经可以工作,并且可能因为我一直在阅读的新粒子系统而无法工作。
但是,在这个新的粒子系统上,我有一个问题和问题要让它工作。
问题
如果我错了,请纠正我,但粒子系统定义如下
void Start()
{
ParticleSystem ps = GetComponent<ParticleSystem>();
var main = ps.main;
main.startDelay = 5.0f;
main.startLifetime = 2.0f;
}
现在,如果我有 3 个粒子系统,我如何指定我指的是哪一个?既然我不能把它定义为公共的,再在编辑器中把粒子系统拖到它上面?
问题 B
现在我尝试遵循统一在他们的论坛中所说的内容并做了以下操作
ParticleSystem ps = GetComponent<ParticleSystem>();
var main = ps.main;
main.maxParticles = 150;
// LeafStormParticleSystem.maxParticles = 150;
do not create your own module instances, get them from a ParticleSystem instance UnityEngine.ParticleSystem+MainModule.set_maxParticle
对问题 A 和 B 的任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: unity3d