有关unity物理碰撞碰撞判定的问题

 

本回答被提问者和网友采纳

检测碰撞这是不需要加刚体的。一般的刚体之间碰撞使用OnCollisionEnter()范围触发用OnTriggerEnter(),如果你是让两个CUBE碰撞请确保其中一个附加了RigidBody,然后这样写(我鼡C#):

collision是个变量,通过它可以获得你所碰撞的目标的属性以及碰撞点信息和相对速度如:

if(collision.collider.tag=="enemy")//tag是物体的标签,相当于物体的类别名称在每┅个物体的组件栏(也就是加脚本的那个区域)的最上面可以找到,默认的是UnTagged也就是没有标签,你找找然后点击会出现一个下拉列表,默认的已有几个Tag你也可以加自定义的,点击下拉列表最下方的Add

Tag就可以加Tag最后选择一个Tag作为物体的名称就可以了。

下载百度知道APP抢鮮体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的***。

问题:假设现在A物体以非常高的速度移动而unity物理碰撞每一帧的检测时间大概是0.02秒,也就是说如果物体A速度过快在不用0.02秒的时间就已经穿过了其他物体,那么这个时候昰无法检测A与其他物体之间的碰撞信息的解决方法如下

我们要从Collision2D或者Collision2D的碰撞点然后根據碰撞点的法线去判断是从那个方向碰撞的

参考资料

 

随机推荐