首页 > 解决方案 > 多久调用一次 OnTriggerEnter2D?

问题描述

我找不到任何有关 OnTriggerEnter2D 调用次数的信息。我正在制作 2D 射击游戏并在那里有一把迷你枪(快速多次射击),问题是一些碰撞无法识别,我正在尝试是否是迷你枪子弹小对撞机的原因或 OnTriggerEnter2D 调用速度的原因。我的意思是,当我在物体上以非常快的速度射击多个射弹时,它是否会调用 OnTriggerEnter2D 获取新子弹,而最后一颗子弹仍然与它们发生碰撞?那有多快?此外,我不确定在子弹侧或玩家侧调用触发器是否更好,这样更有效。

标签: unity3dcollision-detectioncollisiongame-development

解决方案


它更多的是“子弹现在在​​哪里”的问题,而不是通话速度。如果你的对撞机太小并且子弹太快,在随后的帧中,子弹可能刚刚跳过对撞机。例如,如果对撞机的宽度为 0.5 单位,并且子弹在每次固定更新时移动 1 个单位,则子弹的 2 个连续位置可能正好在对撞机的前面和后面,永远没有机会进入触发器内。


推荐阅读