我想在某个位置发射粒子,而不必移动粒子系统。我发现了这个: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是保存正确位置的向量。我想念什么吗?
答案 0 :(得分:1)
Unity编辑器在“粒子系统”设置中具有很多属性,其中之一是“唤醒时播放”,可确保从一开始就启用粒子系统。您可以简单地输入:
SmokeParticles.Stop();
在覆盖代码部分之前,然后将关闭(0,0,0)粒子系统。您发出的Emit呼叫应显示您选择的位置。为了进行测试,我还将添加到EmitParams中:
emitParams.startColor = Color.red;
仅突出显示超越发射。
另外,为了重复发射(以更好地重现原始结果),请从文档中查看以下示例: