【发布时间】:2019-09-14 03:30:07
【问题描述】:
所以我在这里制作了这个游戏:https://youtu.be/OxJEeOTldcM
我遇到了迷宫墙的碰撞器的问题,在某些关卡(不仅仅是我在下面的视频中展示的那个),当球被墙撞到墙上时,它会穿过墙壁移动。 在这里你可以看到我在说什么:https://youtu.be/dVU3LWKuXJ0
我已经解决了这个问题,并通过使迷宫的旋转速度比我最初打算的慢很多来妥协。我希望迷宫的旋转速度与玩家的移动速度一样快,但这会让球穿过每一面墙。
所以我创建这些关卡的方式是这样的:我有这些预制的 PNG 迷宫,我将它们导入关卡并在它们上应用 Polygon Collider 2D。但似乎单独的 Polygon Collider 无法正确处理我的游戏的碰撞。
不仅如此,我还开始在其中一些墙上用盒子碰撞器将一些空的游戏对象分层,试图让它们更强大。这确实有效,但还不够,球会不断穿过其中的一些。
球和墙壁上都有刚体,根据我在网上看到的一些关于不良碰撞检测的答案,我将它们的碰撞检测设置为连续。还是没修好。
我也尝试过在 Photoshop 中让那些迷宫的墙壁变厚,但如果不破坏球应该移动的空间,以及扭曲迷宫的外观,我不能比现在更厚。
必须有一种方法可以解决 Unity 的这种不良冲突。我需要球停止穿墙,因为这显然是我比赛的重要组成部分。 我还希望能够将迷宫的旋转设置为与玩家的移动一样快,而不必限制其速度,但老实说,如果我能以当前速度解决这个碰撞问题,我会很高兴。
【问题讨论】:
-
你能告诉我们你的球和迷宫检查员吗?你能告诉我们你是如何旋转迷宫和移动球的吗?
-
@AresCaelum 当然。这是我的迷宫检查器:imgur.com/zGOhDAW 这是球的检查器:imgur.com/XuLLxqn 这是我用来旋转迷宫的脚本:imgur.com/nhbg9Ti 球的运动只是来自刚体的重力。
-
您是否尝试过使用内置物理系统来旋转您的对象?目前,您有 2 个刚体,并且您在正常更新而不是固定更新中手动调整旋转,这会导致您的物理交互问题并使球穿过墙壁
-
@AresCaelum 只需将更新功能设置为 FixedUpdated 即可解决此问题。非常感谢您指出!我还能够加快迷宫的旋转。我尝试将您的答案标记为正确,但我认为它必须作为答案而不是评论发布。
-
是的,它必须是一个答案,我没有写答案是因为我试图解决这个问题,但是 Erik Overflow 有一篇关于物理相互作用的很好的文章,以及更新之间的差异和 FixedUpdate。
标签: unity3d