1

我正在尝试再次为 2.5D 平台游戏重新发明轮子。

我用 CharacterController 尝试了一些事情,但它只发送“侧面”信息,而不是它是否特别向左或向右碰撞。

所以现在我正在使用 RigidBody 和 OnCollisionEnter() 函数

所以事情是,碰撞返回的所有点。联系人似乎有一些优先级。这是我在游戏中拥有的

  • 绿色框是 BoxColider
  • 红色立方体是collision.contacts刚体碰撞时返回的接触点

在此处输入图像描述

正如你所看到的,如果我碰一堵墙,所有的接触点都在盒子的“地面”一侧。

如果我跳:

在此处输入图像描述

我有一点需要它们(这里是左侧),因为在空中。但是一旦我触地,我就会从返回的数组中丢失所有左/右点。所有点都回到我们在第一个屏幕截图中看到的内容。

因此,当 Box 的侧面(特别是左侧或右侧)被触摸时,我一无所知。

任何想法 ?还是更好的方法?

谢谢 !

4

1 回答 1

0

我想你可以试着用

OnCollisionStay()

获取所有联系点。来自http://unity3d.com/support/documentation/ScriptReference/CharacterController.html

于 2012-06-22T09:28:07.437 回答