发射到某个位置不起作用?

时间:2018-07-15 16:24:34

标签: c# unity3d

我想在某个位置发射粒子,而不必移动粒子系统。我发现了这个:https://docs.unity3d.com/ScriptReference/ParticleSystem.EmitParams-position.html

我尝试过,但是它不会在我想要的位置发射,而是在粒子发射器所在的0,0,0发射它们!

   var emitParams = new ParticleSystem.EmitParams();
                emitParams.position = keyValue.Key;
                emitParams.velocity = new Vector3(0.0f, 0.0f, 1.0f);
                SmokeParticles.Emit(emitParams, 100);

keyValue.key是保存正确位置的向量。我想念什么吗?

1 个答案:

答案 0 :(得分:1)

Unity编辑器在“粒子系统”设置中具有很多属性,其中之一是“唤醒时播放”,可确保从一开始就启用粒子系统。您可以简单地输入:

SmokeParticles.Stop();

在覆盖代码部分之前,然后将关闭(0,0,0)粒子系统。您发出的Emit呼叫应显示您选择的位置。为了进行测试,我还将添加到EmitParams中:

emitParams.startColor = Color.red;

仅突出显示超越发射。

另外,为了重复发射(以更好地重现原始结果),请从文档中查看以下示例:

Particle System Emit Documentation.