Rigidbody2D.useFullKinematicContacts

切换到手册
public bool useFullKinematicContacts ;

描述

是否允许运动/运动和运动/静态碰撞?

默认情况下,如果一对 Rigidbody2D 都设置为运动,或一个设置为运动,另一个设置为静态,则它们附加的碰撞体不会彼此碰撞。只有一个设置为运动,另一个设置为动态的两个 Rigidbody2D 才会发生碰撞。

当该属性设置为 false 时,将发生上述默认行为;但当该属性设置为 true 时,允许运动 Rigidbody2D 与其他运动或静态 Rigidbody2D 发生碰撞。在这种情况下,当运动/运动或运动/静态对发生碰撞时,虽然不会发生实际的碰撞响应,但会产生碰撞回调。换句话说,将产生回调,但 Rigidbody2D 允许碰撞体重叠,这类似于将 Collider2D 设置为触发器时的情况。

当需要检测碰撞并获取接触点和碰撞法线的详细信息,但又不自动进行碰撞响应时,这是一个很有用的功能。

仅在 bodyType 设置为 [[RigidbodyType2D.Kinematic]] 时使用该属性。

另请参阅:bodyType