子弹击中瓷砖也不会消失

250912_douga

我本应设置子弹在接触图块时消失,但它却穿过了图块而没有消失。

虽然满足了“对象碰撞检测与接触”、“超出相机范围”等条件,但唯独无法满足“与图块接触”的条件,导致子弹无法消失。

即使将子弹和图块的碰撞层与掩码设置为相互冲突,问题依然存在。
为什么子弹无法识别图块呢?
我也参考了下面的教程,但依然没有成功。

看了 GIF 后,

子弹似乎没有与瓦片发生接触。(如果接触了,子弹应该会卡在瓦片上并停下)

另一方面,角色是站立的,因此角色本身似乎与瓦片发生了接触,所以问题可能出在子弹的碰撞设置上。

可能是以下两种情况之一:

  1. 子弹的 CollisionShape2d(墙壁判定)被禁用了。
  2. 子弹与瓦片的 CollisionLayer/Mask 不匹配。

请您确认一下。

1 个赞

确认后发现子弹的 CollisionShape2d(墙壁判定)被禁用了。

取消勾选后,子弹现在会与瓦片接触并消失。非常感谢!

1 个赞

不好意思,我也遇到了同样的现象,所以想请教一下。

就像这个 GIF 所示,子弹虽然撞到墙壁后停住了,但并没有消失。

向斜下方射击时,子弹在碰到地面后同样不会消失。

(在斜下方射击时,有时撞到墙壁会消失,并且会出现类似白色光芒的消失特效。)

第二张图是碰撞判定的截图。

实际大小以 GIF 为准(1:1 比例)。

尝试增大碰撞体积或改为矩形后,情况依旧没有改变。

降低子弹速度后,问题依然存在。

目前无法确定原因,非常困扰。状态链接设置为从 AnyState 出发,检测所有方向的碰撞。

bullet

有时也会消失……看来这不仅仅是简单的设置错误。

您能否发送项目给我们?

https://37.gigafile.nu/1011-f1c05b81144a0ce1b2b5d1c22127b94b1

由于进行大量删改可能会引发错误,非常抱歉,我将原样发送给您。

按 Z 跳跃,按 X 射击,按 C 装填。

支持二段跳,薄地板可通过向下键穿过去。

射击时,若按十字键的斜向或上下方向,可改变射击方向。

子弹发射节点本身位于“Kit_GunnerMuzzle_1"。

(射击时,玩家上半身会成为子对象,并在其枪口处附加发射节点)

子弹在约 3 秒后才会消失。原本设定为碰到瓦片即消失。

(目前设定为碰到薄地板也会消失)

另外非常抱歉,玩家在山坡上的行为也有异常,也请一并检查。

在交界处会出现下落判定。若增加边距,虽可避免下落,但在交界处移动速度会下降。

瓦片的斜坡判定若开启,会导致玩家始终处于斜坡上的下落状态,因此目前该选项已关闭。

1 个赞

明白了。

关于子弹的问题,似乎是Gunner_bullet1的“碰撞体”被旋转了“90度”导致的,将其旋转调整为“0度”后问题便不再出现。

至于为何旋转会导致动作异常、在斜坡上出现坠落等碰撞体相关的问题,我们计划进行优化。具体情况将在近期发布的开发者信中说明,敬请稍候。

明白了!非常感谢!

我们期待您的更新。