如何解决Unity中的卡住问题?

问题描述 投票:0回答:1

在 Unity 2D 中,滑动的游戏对象(我的平台游戏中的玩家)有时会卡在两个相邻的 BoxCollider2D 之间的边缘上。在瓦片地图中,只需将 CompositeCollider2D 添加到瓦片地图即可轻松解决此问题。然而,在我的游戏中,还有其他对象无法在图块地图中分组在一起,例如移动平台或某些具有特殊性能的地砖。因此这个问题依然存在。我尝试过的事情:

  1. 将玩家的碰撞器形状更改为圆形。这扰乱了我的游戏中物理的某些方面,我希望有一个盒子,并且在这些边缘上滑动时它不会被卡住,而是会稍微跳跃。
  2. 将碰撞体更改为切掉角的正方形(以及各种其他形状)。
  3. 尝试编写一个脚本来检测速度的突然变化、验证原因并移动玩家,但失败了
  4. 弄乱物理设置。将 Baumgarte Time Of Impact Scale 设置为 1.1(在“项目设置”中的“Physics 2D”下)似乎可以降低玩家卡住的可能性,但它会导致其他问题。其他设置不会显着改变任何内容。
unity-game-engine game-physics
1个回答
0
投票

我终于找到了解决方案,经过多年的简单避免这个问题,花费数小时编写脚本,弄乱碰撞器等。我希望其他人避免同样的麻烦,因为它确实是最麻烦的麻烦之一我一生中都遇到过抗虫剂喷雾的虫子。只需向每个独立的碰撞器添加一个 CompositeCollider2D 即可,即使它违背了 CompositeCollider 的全部要点,即 CompositeCollider 仅用于一个碰撞器。我希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.