【问题标题】:Good Collision Representation of Player Character in 3d Platform Game?3D平台游戏中玩家角色的良好碰撞表示?
【发布时间】:2010-08-26 07:29:23
【问题描述】:

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

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

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

使用直立圆柱体的问题在于,自动滑上楼梯变得不可能,并且当沿着任何一种斜坡行走时,圆柱体要么仅接触一个边缘,要么部分嵌入斜坡中。

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

【问题讨论】:

    标签: 3d platform collision representation


    【解决方案1】:

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

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

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

    你有机会阅读this book吗?

    【讨论】:

      【解决方案2】:

      试试扁椭球。只需沿垂直轴拉伸球体即可。

      【讨论】:

        【解决方案3】:

        听起来您的理想解决方案应该是带有圆边的直立圆柱体。它仍然会在直边上翻倒,但圆边可以让你滑上楼梯。您可能必须使用圆角半径才能获得所需的效果。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-09
          • 2011-07-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多