0

我在game SEmath SE都问过这个问题,但反应并不那么令人鼓舞。所以我又问了一遍,有点扭曲。

我有一个地形,由mesh定义。还有很多其他的多边形面散布在整个地形中,它们可以位于地形上方、下方或穿过地形。您可以将这些面孔视为平台。

下面的屏幕截图应该可以阐明我的意思。尽管看起来很光滑,但所有的网格实际上都是由组合在一起的小元素(数量> 10k)组成的,给人一种光滑的假象。明显不连贯的区域是平台。

在此处输入图像描述

我的问题是,如何生成连接平台和其他平台/地形的平面?以下是生成一系列倾斜平面的规则:

  1. 它们可以上升或下降,具体取决于哪个方向会使它们首先撞到地形/相邻平台。
  2. 平面生成规则是,平面将从平台边缘开始,相对于 z 轴向上/向下移动 45 度一定长度,然后相对于 z 轴移动 0 度再移动一定长度,并重复。所以这将是一系列零散的飞机,直到飞机的某些点遇到障碍物。
  3. 算法应该只关注平面生成和平面生成;我不希望它与任何渲染器绑定(例如,opengl 等),我可以自己渲染它。

简而言之,我想生成一组“平面”,实际上就像一段楼梯或一张瓦楞纸,从空间中的一个点向上或向下引导,直到它与给定的网格接触

听起来像是物理模拟中常见的直接碰撞检测问题,对吧?有没有可以用来解决这个问题的游戏/物理库?

请注意,由于我没有做任何动画,所以逐帧更新和所有这些东西与我无关;这就是为什么我不愿使用像bullet这样的现有游戏物理库的原因。与我相关的是如何使用现有的库根据上述规则生成那些连接平面。

4

0 回答 0