Unity等距碰撞检测 - 贴在墙上

时间:2014-02-11 07:18:55

标签: unity3d collision-detection

我正在尝试为我的Unity游戏获得一个不错的碰撞系统。

我使用OnTriggerEnter和'Exit来设置和取消设置'碰撞'标志。

我记得每次搬家前我角色的最后一个位置。

然后我移动并使用OnTriggerEnter标志将角色重置回移动前的最后位置(如果发生碰撞)。

问题是我经常陷入墙壁,上面的方法似乎过于复杂,我想知道我是否错过了一种更简单的方法。

以上似乎是等距游戏中碰撞检测的合理策略吗?

由于

取值

1 个答案:

答案 0 :(得分:0)

当然,这就是我们在团结进入前一天所做的事情, 我个人总是使用未来的幽灵,一个看不见的玩家,然后告诉玩家是否可以。我不想把玩家扔得更远。 你必须检查玩家是否不会进入红色区域。

让我们说我们跳进一个红色的区域并发现这不是我想要的地方,所以我们退后一步,但退一步并不意味着我们走出了红色区域,我们只是稍微调整了边界。

通过使用幽灵,我们确保玩家永远不会进入红色区域。但鬼会向玩家发回一条消息,说“不,不”这样。

一个例子是我们在红色区域内迈出一步,我们的速度会让我们在红色区域内进入1.1,然后步骤1的逻辑开始回来,这意味着我们将在红色区域内为0.1,但是我们的脚本没有选择它,因为它不会随着时间的推移而考虑速度漂移。 根据我的经验,这是最困难和最有趣的部分,从一个立方移动到一个更加动作的时间敏感的一个,你必须考虑速度,这就是为什么他们称之为物理引擎而不是边界框检查引擎。哈哈。