Unity3d 快速移动的对象统一通过长方体碰撞器

Unity3d 快速移动的对象统一通过长方体碰撞器,unity3d,unity5,unityscript,rigid-bodies,Unity3d,Unity5,Unityscript,Rigid Bodies,我是新来的统一体。。。。问题是,当我的2D对象以越来越快的速度向下移动时,它会从覆盖了一定距离后发生框碰撞的平铺中穿透。我还将碰撞属性从离散更改为连续,但无法解决我的问题。您可以尝试从编辑->项目设置->时间减少固定时间步长。这是FixedUpdate的时间间隔 Timestep影响固定更新和OnCollision*方法的时间间隔,以及刚体上与固定更新处于同一周期的其他方法将碰撞检测模式设置为连续或连续动态 文档 说明(3D版)也适用于2D 刚体的碰撞检测模式 使用此选项设置刚体以进行连续

我是新来的统一体。。。。问题是,当我的2D对象以越来越快的速度向下移动时,它会从覆盖了一定距离后发生框碰撞的平铺中穿透。我还将碰撞属性从离散更改为连续,但无法解决我的问题。

您可以尝试从编辑->项目设置->时间减少固定时间步长。这是FixedUpdate的时间间隔


Timestep影响固定更新和OnCollision*方法的时间间隔,以及刚体上与固定更新处于同一周期的其他方法将碰撞检测模式设置为
连续
连续动态

文档

说明(3D版)也适用于2D

刚体的碰撞检测模式

使用此选项设置刚体以进行连续碰撞检测,该刚体用于防止快速移动的对象在未检测到碰撞的情况下通过其他对象。为获得最佳结果,请将此值设置为CollisionDetectionMode.ContinuousDynamic以用于快速移动的对象,
对于其他需要碰撞的对象,请将其设置为CollisionDetectionMode.Continuous。
这对物理性能有很大影响,因此只需将其设置为默认值CollisionDetectionMode.Discrete,如果您对快速对象的碰撞没有任何问题。连续碰撞
检测仅支持带有球体、Capusle或BoxCollider的刚体。

仔细阅读,您会发现您需要将它们碰撞的对象设置为连续


这将毫无疑问地解决您的问题,除非您的碰撞器设置为触发器,在这种情况下,您需要检测
OnTriggerEnter
而不是
OnCollisionEnter
(还要记住触发器不会触发其他触发器)

通过减少对象的固定时间步长速度来减少。。。随着时间的增加,我还没有找到。。。二维设置中的CollisionDetectionMode.ContinuousDynamic选项…您是否尝试过将互动程序和移动对象上的选项设置为连续?另外,您是否确定移动对象和平铺都是
而不是
触发器?