unity3d 3.5 如何检测粒子碰撞
1个回答
展开全部
首先给粒子加上World Particle Collider,然后勾上sendCollisionMessage
然后用function OnParticleCollision (other : GameObject)
{ var body : Rigidbody = other.rigidbody; if (body) { var direction : Vector3 = other.transform.position - transform.position; direction = direction.normalized; body.AddForce (direction * 5); }}
接受碰撞信息,要注意的是,被粒子碰撞的物体需要加collider
然后用function OnParticleCollision (other : GameObject)
{ var body : Rigidbody = other.rigidbody; if (body) { var direction : Vector3 = other.transform.position - transform.position; direction = direction.normalized; body.AddForce (direction * 5); }}
接受碰撞信息,要注意的是,被粒子碰撞的物体需要加collider
追问
你在函数中声明了一个刚体对象,把碰撞到的GameObject的刚体赋给这个对象,那是不是所有碰撞到的GameObject都需要添加刚体。最后为什么要给刚体一个力,参数是direction*5?
追答
不是啊,看需要加的,这个是为了是碰撞以后有力的效果才加的,如果不需要可以去掉
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询