三维平台游戏中玩家角色的良好碰撞表现?

时间:2009-07-09 16:15:09

标签: 3d platform collision representation

我正在尝试制作一个简单的3D平台游戏。我遇到的问题是碰撞检测和响应。我目前用球体代表我的球员角色(用于墙壁和地板碰撞)。

我使用简单的重力和方向力使用箭头键移动。

当我到达边缘(如悬崖)时,我的问题就出现了。我像球一样滑过边缘,但我正在寻找的行为就像一个直立的圆柱体一样从边缘掉下来。一个布尔“我在平台上,或者我不在平台上”,而不是“我逐渐滑下边缘”。

使用直立式气缸的问题是,自动向上滑动是不可能的,当沿着任何类型的斜坡行走时,气缸必须只接触一个边缘,或者部分嵌入斜坡。

3D平台游戏中玩家角色的良好碰撞表示是什么?

3 个答案:

答案 0 :(得分:1)

尝试扁圆椭圆体。只需沿垂直轴拉伸球体。

答案 1 :(得分:1)

您可以保留球体以进行碰撞检测。

如果你发现碰撞,那么你应该通过将你的角色分成几个部分来更准确地计算碰撞。

一个常见的解决方案是使用球体(因为碰撞很容易计算)用于头部,躯干以及腿部和手臂的圆柱体(您还可以为手和脚添加球体)。

您是否有可能阅读this book

答案 2 :(得分:0)

听起来你理想的解决方案是直立的圆柱形边缘圆柱体。它仍会倾斜直边,但圆形边缘可让您向上滑动楼梯。您可能必须使用舍入半径才能获得所需的效果。