我正在尝试再次为 2.5D 平台游戏重新发明轮子。
我用 CharacterController 尝试了一些事情,但它只发送“侧面”信息,而不是它是否特别向左或向右碰撞。
所以现在我正在使用 RigidBody 和 OnCollisionEnter() 函数
所以事情是,碰撞返回的所有点。联系人似乎有一些优先级。这是我在游戏中拥有的
- 绿色框是 BoxColider
- 红色立方体是
collision.contacts
刚体碰撞时返回的接触点
正如你所看到的,如果我碰一堵墙,所有的接触点都在盒子的“地面”一侧。
如果我跳:
我有一点需要它们(这里是左侧),因为在空中。但是一旦我触地,我就会从返回的数组中丢失所有左/右点。所有点都回到我们在第一个屏幕截图中看到的内容。
因此,当 Box 的侧面(特别是左侧或右侧)被触摸时,我一无所知。
任何想法 ?还是更好的方法?
谢谢 !