我在我的团结游戏中有一个迷宫,该游戏中还有一个穿过迷宫的红球,它们都具有对撞机(球形对撞机和迷宫式边缘对撞机),它似乎可以正常工作,但是,当您将球拖到迷宫中,经过几秒钟,就可以通过对撞机并通过,如果速度足够快,您可以像没有任何东西一样通过所有迷宫!,我在脚本中设置了速度限制(10),但效果不佳。
答案 0 :(得分:1)
Unity通过其Collision Detection Modes处理此问题。确保您的Rigidbody
组件具有相应配置的collisionDetectionMode
属性(默认为Discrete
)。似乎您希望球使用ContinuousDynamic
,迷宫为Continuous
,但请注意,如链接中所述:
只有具有以下特征的刚体才支持连续碰撞检测 球形,胶囊或BoxColliders。
您可能需要更改迷宫对撞机。
答案 1 :(得分:1)
您的问题是FixedUpdate
,并且正在使用CollisionDetectionMode.Discrete
。
称为每秒N个计数,其中N是固定值。物理是在FixedUpdate上计算的。现在想象一下情况:
FixedUpdate
每秒被调用60次。 FixedUpdate
之间的时间
通话时间为1秒/ 60次= 17毫秒(大约)如果要使用非常高的速度,则有以下三种选择: