Unity物理系统随记

1.OnCollisionEnter(Collision collision)

要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。
物体发生碰撞的必要条件
两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。

collision.gameObject:如果对方物体或者对方物体的父物体或者任何往上的物体含有刚体组件,那么gameObject就是该刚体的物体对象,用个比喻就是:你碰到我的手,就等于是碰到我;如果对方任何物体都没有刚体,那么collision.gameObject就是被碰到的碰撞体的物体。可以用collision.contacts[0].otherCollider来获取到直接发生碰撞的碰撞体的对象。

刚体物体会同时受到父子物体的作用和物体系统的作用。

posted @ 2020-03-10 22:40  小辉歌  阅读(156)  评论(0编辑  收藏  举报