unity3D如何检测粒子碰撞并触发执行OnParticleCollision()方法 20
1.我将被撞的物体cube设置了刚体,没重力2.我给粒子系统加了wordparticlecollider,并勾选了sendCollisionMessage,在collis...
1.我将被撞的物体cube设置了刚体,没重力2.我给粒子系统加了word particle collider,并勾选了sendCollisionMessage,在collison中的planes设置了cube。3.把下面代码放入了了粒子系统中
void OnParticleCollision(GameObject other)
{
Debug.Log("111111!");
}
在看到粒子碰撞到物体cube后,粒子明显有变向,但是没在控制台打印出信息,求说明 展开
void OnParticleCollision(GameObject other)
{
Debug.Log("111111!");
}
在看到粒子碰撞到物体cube后,粒子明显有变向,但是没在控制台打印出信息,求说明 展开
5个回答
展开全部
在粒子属性下有一个OnTrigger需要设置,而且还要写粒子触发函数,百度搜索粒子触发函数,有更详细的介绍
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个可能是粒子系统和脚本不在同一个gameobject上,
另一个可能粒子系统的Collide with选项没有选中物体的layer,
还有可能粒子系统没有勾选Enable Dynamic Collide.
另一个可能粒子系统的Collide with选项没有选中物体的layer,
还有可能粒子系统没有勾选Enable Dynamic Collide.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在里面不应该加个碰撞的判断吗?
eg:void OnParticleCollision(GameObject other)
{
if (other.tag.Equals("粒子tag"))
{
Debug.Log("111111!");
}
}
eg:void OnParticleCollision(GameObject other)
{
if (other.tag.Equals("粒子tag"))
{
Debug.Log("111111!");
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该在OnGUI里调用OnParticleCollision这个函数 我就成功了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询