ParticleSystem的使用

ParticleSystem 的使用
  • playOnWake 当物体被实例化出来的时候,会播放一次。前提是特效的物体没有被隐藏
  • 如果勾选了playOnWake,那么当特效物体被SetActive(false)然后又为true的时候,就会播放一次特效【否则就不会】
  • 父物体播放特效的时候,子物体也会联动进行播放。因此只需要获取父物体身上的ParticleSyatem组件,然后Play即可
  • 注意 在编辑器模式下 特效有个播放时间,虽然特效可能已经结束了,但是播放时间还没结束,这个时候继续Simulation是没有效果的,不会播放。需要先暂停,即Stop(),将时间重置
  • 所以我们播放特效有这么几种
    • 将特效物体的playOnwake开启,然后获取特效所在的物体,进行setActive
    • 将PlayOnwake关闭,获取特效的组件,然后调用ParticleSystem.Play()
### Unity 中 ParticleSystem使用教程 #### 基础设置与配置 在Unity中,`ParticleSystem` 是用于创建视觉效果的强大工具。通过Inspector面板可以调整多种属性来定制粒子的行为和外观[^1]。 - **Duration**: 控制整个生命周期的时间长度。 - **Looping**: 设置是否循环播放。 - **Prewarm**: 如果启用,在场景启动时预热粒子系统使其立即达到稳定状态。 - **Start Delay**: 定义延迟多久之后开始发射第一个粒子。 - **Start Lifetime**: 设定单个粒子存在时间范围。 - **Emission Rate Over Time/Distance**: 调整单位时间内或移动距离上产生的新粒子数量。 #### 发射器模块(Emitter Module) 发射器决定了何时何地产生新的粒子。可以通过调节速率(rate over time/distance),爆发(bursts)等方式控制粒子生成频率以及特定时刻大量释放的效果。 ```csharp // C#代码示例:动态修改发射率 var psMain = particleSystem.main; psMain.startLifetime = new ParticleSystem.MinMaxCurve(2f, 4f); ``` #### 形状模块(Shape Module) 形状定义了粒子初始位置分布模式——球形、锥形或其他几何图形;还可以指定方向向量让粒子沿一定路径运动。 ```csharp // C#代码示例:更改粒子发射形状为圆环 particleSystem.shape.shapeType = ParticleSystemShapeType.Circle; particleSystem.shape.radius = 5.0f; ``` #### 粒子碰撞(Collision Module) 当激活 `Send Collision Messages` 后,可以在脚本里监听并响应粒子间的相互作用事件。这允许开发者把粒子当作互动元素处理,比如实现爆炸伤害计算等功能[^2]。 ```csharp void OnParticleCollision(GameObject other){ Debug.Log("A collision occurred with " + other.name); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值