T10*_*000 5 c# unity-game-engine
我想用Visual Effect Graph来制作粒子爆炸。我正在尝试以编程方式激活和停止这种爆炸。
我首先创建一个Particles预制对象,并将一个Visual EffectGraph 对象附加到它:

然后我制作spawn ratean exposed parameter。所以当爆炸激活时,它会将这个参数设置为 100。要停止爆炸,生成率将设置为 0:

现在这个参数在粒子预制件中可见:

然后我实例化粒子预制件:
var effect = Instantiate(particlesPrefab, position), Quaternion.identity);
Run Code Online (Sandbox Code Playgroud)
粒子效果出现在屏幕上,但问题是我找不到spawn rate属性。
如何以编程方式更改此属性的值?
VisualEffect从以下获取Particles GameObject:
// In a MonoBehaviour attached to the Particles GameObject
using UnityEngine.Experimental.VFX;
...
// As a field in the MonoBehaviour
public VisualEffect myEffect;
...
myEffect = GetComponent<VisualEffect>();
Run Code Online (Sandbox Code Playgroud)使用SetInt设置曝光整数叫做"spawn rate":
// As class field
public static readonly string SPAWN_RATE_NAME = "spawn rate";
// Wherever you want to stop explosion
myEffect.SetInt(SPAWN_RATE_NAME, 0);
// Wherever you want to start explosion
myEffect.SetInt(SPAWN_RATE_NAME, 100);
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
6909 次 |
| 最近记录: |