c# - Unity,视觉效果图 - 我如何以编程方式播放+停止效果?
问题描述
我想用Visual Effect Graph
来进行粒子爆炸。我正在尝试以编程方式激活和停止这种爆炸。
我首先创建一个Particles
预制对象,并将一个Visual Effect
Graph 对象附加到它:
然后我制作spawn rate
一个exposed parameter
. 因此,当爆炸激活时,它将将此参数设置为 100。要停止爆炸,生成率将设置为 0:
现在这个参数在粒子预制件中可见:
然后我实例化粒子预制件:
var effect = Instantiate(particlesPrefab, position), Quaternion.identity);
粒子效果出现在屏幕上,但问题是我找不到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>();
用于
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);
推荐阅读
- ios - 在 Swift 中使用静态函数来处理弹出窗口是不是很糟糕?
- ruby-on-rails - Rails 邮件程序不工作 Net::OpenTimeout
- telerik - Fiddler 在捕获流量时显示划掉的文本
- c - C中联合后的“++”是什么意思?
- sql - 从十进制 (8, 0) 格式的日期获取 n-3 或 nx 个月(约 90 天前),在 SQL Server 和 DB2 中具有年份变化影响
- mysql - 如何获得匹配多个类别的特定 MYSLQ 结果
- arrays - 在 WSO2 EI 中转换 JSONArray 值
- apache-spark - 将聚合结果发送到 Kafka 主题时出现 Spark Structured Streaming 错误
- javascript - 从 react-bootsrap 崩溃不起作用
- graphql - graphql中模式类型中2个字段之间的依赖关系