养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

时间:2024-10-27 03:33:06

Unity粒子系统之粒子碰撞接触事件的设置方法。在Unity中,粒子是默认取消碰撞的,本节介绍粒子碰撞使用的简单案例,具体如下

工具/原料

Unity

ParticleSystem

一、知识要点

1、粒子事件函数://需要处理的碰撞信息,放在被撞的物体身上voidOnParticleCollision(GameObjectother){}

2、粒子系统Collision:第一项:因僭轿魍儿为是一个3D游戏,所以这里我选择的是World第二项(Dampen):抑制(0~吭稿荔徊1),选这个为1时(完全抑制),碰撞之后,阻止了粒子,可以使碰撞的粒子消失第三项(Bounce):反弹(0~2),选完这个之后,可以让产生碰撞的粒子以某个角度反弹出去第三项(LifetimeLoss):生命周期损失(0~1),碰撞之后让粒子损失百分比的生命周期,为1时(生命周期完全损失),可以使粒子消失第四项(MinKillSpeed):最小清除速度,设置值越大,粒子发生碰撞之后被移除的速度越快,当达到某个值之后,可以近似碰撞之后立即消失第五项(CollidesWith):可碰撞范围,设置可以与该粒子系统碰撞的层第六项(CollisionQuality):碰撞质量,设置发生碰撞的碰撞概率大小,选项三项从上到下由高到低,越低碰撞到的概率就越低第七项(SendCollisionMessages):发送碰撞信息,与下面这个方法有关

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

3、使用建议:可以使粒子消失的方法有以下三种:(1)设置Dampen为1;(2)设置Lifetime咯悝滩镞Loss为1;(3)设置较大的MinKillSpeed值

二、粒子系统之粒子碰撞接触事件的设置方法

1、打开Unity,新建一个空工程,具体如下图

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

2、在场景中新建一个粒子系统,具体如下图

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

3、勾选粒子系统的“Collision”选项,并设置“Collis坡纠课柩ion”为“World”,然后在勾选“Collision”的“SendCollisionMessage”,具体如下图

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

4、在工程中新建一个脚本“ParticleTest”,双夹脚本或者右键打开脚本,具体如下图

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

5、在打开的“ParticleTest”将本上编写代码,在“OnParticleCollision”函数里打印一个信息,具体如下图

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

6、“ParticleTest鹁鼍漉糍”脚本具体内容如下:usingSystem.Collections;usingSystem.C泠贾高框ollections.Generic;usingUnityEngine;publicclassParticleTest:MonoBehaviour{ //Usethisforinitialization voidStart(){ } //Updateiscalledonceperframe voidUpdate(){ }voidOnParticleCollision(GameObjectgo){Debug.Log("与粒子发生接触");}}

7、脚本编译正确,回到unity界面,新建一个“Cube”,适当调整“Cube”参数,并把“ParticleTest”脚本赋给“Cube”,具体如下图

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

8、运行场景,即可看到控制台Console打印的信息,具体如下图

Unity 粒子系统 之 粒子碰撞接触事件的设置方法

9、到此,《Unity粒子系统之粒子碰撞接触事件的设置方法》讲解结束,谢谢

© 一点知识