一、知识要点 1 粒子事件函数://需要处理的碰撞信息,放在被撞的物体身上voidOnParticleCollision(GameObjectother){} 2 粒子系统Collision:第一项:因为是一个3D游戏,所以这里我选择的是World第二项(Dampen):抑制(0~1),选这个为1时(完全抑制),碰撞之后,阻止了粒子,可以使碰撞的粒子消失第三项
1.我将被撞的物体cube设置了刚体,没重力2.我给粒子系统加了word particle collider,并勾选了sendCollisionMessage,在collison中的planes设置了cube。3.把下面代码放入了了粒子系统中void OnParticleCollision(GameObject other){Debug.Log("111111!");在看到粒子碰撞到物体cube后,粒子明显有变向,但是没在控制台打印出信...
对了,还要把特效的Particle System 中的Collision组件里的Send Collision Messages 的对勾打上,才能使函数生效哦! 同一帧中即使一个粒子系统的多个粒子对象均与碰撞体对象发生碰撞,碰撞体对象也只会接收到一条碰撞消息,也就是OnParticleCollision只会被调用一次。 还可以利用ParticleCollisionEvent数组来处理多个粒子对象碰撞...
当粒子碰撞了collider非Trigger就会触发绑定了该脚本的 OnParticleCollision 函数。 这个可以用于游戏对象被粒子击中时应用伤害到它上面。 对了,还要把特效的Particle System 中的Collision组件里的Send Collision Messages 的对勾打上,才能使函数生效哦! 同一帧中即使一个粒子系统的多个粒子对象均与碰撞体对象发生碰撞,碰撞...
functiononParticleCollision(other:GameObject):void 描述:当一个粒子碰到一个碰撞器时OnParticleCollision被调用。 这个可以在游戏物体被粒子击中时应用伤害到它的上面,这个消息被发送到所有附加到 WorldParticleCollider 的脚本上和被击中的Collider上,这个消息只有当你在 ...
OnParticleCollision 我刚才试了一下 这个函数就是粒子和物体碰撞 返回的GameObject是包含粒子的对象 用粒子对象得到的colider是不能得到粒子到底碰到的物体是什么的 其实是我想多了 这个函数只能在被碰撞物体上添加才有效 不同的被碰撞物体有独立的OnParticleCollision,自然就不用区分被碰撞物体是神马了 - - 应该是这样,...
6 右键“Create”--“C# Script”创建一个“Particletest”脚本。7 打开Particletest脚本,在里面添加OnParticleCollision()方法,并根据tag判断cube(敌人)是否被碰撞到。void OnParticleCollision(GameObject obj){ if(obg.tag=="aa"){ Debug.Log("例子碰撞到了"); } } 8 创建一个cube,放在例子系统...
Send collision messages:发送碰撞消息。确定是否触发游戏对象和粒子系统上的OnParticleCollision回调。 只在平面模式中可用的属性 Planes:平面。通过向变换分配引用来定义。该变换可为场景中的任何变换,且可动画化。可以使用多平面。注意:Y 轴用作平面法线。
细节说明:Message:发送消息,若开启Send Collision Message,则在碰撞中任何粒子都会发送消息OnParticleCollision到粒子绑定的对象和与粒子相碰撞的对象。 注意:Send Collision Message可用作模拟子弹和冲击伤害,当有许多粒子时碰撞检测会变得缓慢,因此要适当地使用粒子碰撞,消息发送会占用大量的消耗,因此尽量不要将其用在粒子系...
OnParticleCollision:OnParticleCollision事件在某个粒⼦碰到⼀个碰撞体的时候被触发。可以被⽤于控制物体在被粒⼦击中后被销毁。 using UnityEngine; using System.Collections; public class ParticleScript : MonoBehaviour { ParticleSystem ps; public Transform sphere; ...