unity 粒子系统设置触发

1、勾选Triggers选项

2、将作为触发器的物体拉入队列当中,物体上必须挂载collider

3、将想要触发的方式(Inide、Outside、Enter和Exit)选择为”Callback“,其他默认为”Ignore“ 

4、Collider Query Mode 设置为All:表示列表中所有对象都是触发器。Disable表明列表中都不是触发器;One表示只有第一个是触发器

5、Visualize Bounds勾选上之后会看到粒子的盒子(可以理解为collider box,但是如果collision没被勾选,就不具备碰撞能力,只不过可视)

以上设置后的效果:当粒子的Bounds接触到以上列表中物体的collider时,会被激活

private void OnParticleTrigger()
{
    //只要勾选了粒子系统的trigger,程序运行后会一直打印
    print("触发了");
}

Unity 中,粒子系统的边界框(Bounds Box)主要用于优化渲染性能以及决定何时可以安全剔除不可见的粒子系统。然而,默认情况下,这个黄色的边界框仅会在编辑器模式下的场景视图中显示,并不会影响游戏运行时的表现。 如果希望在编辑器中的场景视图隐藏粒子系统的边界框,可以通过以下方法实现: ### 方法一:调整 Scene 视图选项 通过修改 Scene 视图的设置来关闭边界框的可视化展示。 1. 打开 Unity 编辑器并进入 Scene 视图。 2. 在右上角找到 **Scene Gizmos** 下拉菜单。 3. 取消勾选 `Particles` 或者其他可能关联到粒子效果的相关选项[^1]。 这样操作之后,在 Scene 视图下就不会再看到粒子系统的黄色边界框了。 ### 方法二:脚本控制调试绘制(Debug Visualization) 利用脚本来禁用 Debug Visualization 功能也可以间接达到隐藏目的。下面提供一段简单的 C# 脚本用于动态管理此功能: ```csharp using UnityEngine; public class ParticleSystemDebugger : MonoBehaviour { private ParticleSystem m_System; void Start() { m_System = GetComponent<ParticleSystem>(); var mainModule = m_System.main; // 关闭模拟空间预览等功能可能会减少不必要的视觉干扰 if(m_System != null){ m_System.enableEmission = false; m_System.Pause(); } } } ``` 需要注意的是上述代码片段主要是停止发射新粒子及暂停现有粒子更新过程,对于实际隐藏 Bounds Box 并无直接影响;但是它有助于进一步降低复杂度以便专注于特定需求开发。 另外值得注意的一点是,这些边界框只存在于编辑阶段帮助开发者理解项目结构与行为逻辑,最终打包发布的游戏版本里是不会呈现出来的,因此无需特别担心它们会影响用户体验或者占用额外资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值