我正在Unity中创建一个2D精灵游戏,它是一个3D游戏开发环境。
我已将所有对象的平移限制为XY平面,旋转限制为Z轴。
我的问题是用于检测对象之间碰撞的网格仍必须是3D的。我需要检测玩家对象(胶囊碰撞器)和精灵(其碰撞体积由多边形棱柱定义)之间的碰撞。
我目前正在编写关卡编辑器,并且需要让用户为任何给定的图块定义碰撞区域。在下面的图像中,用户按顺序单击点P1、P2、P3、P4。
显然,这些点连接起来形成了一个四边形。这是我想要的碰撞区域,但是我必须将其转换为3D网格。基本上,我需要生成多边形的挤出,然后分配顶点绕组和三角形等。顶点位置不难解决,因为它只是沿着z轴向下的多边形的平移。
我在为顶点分配绕组顺序方面遇到了麻烦,特别是因为网格必须仅由三角形组成。
显然,我所描绘的结构并不重要,多边形可以是任何2D形状,并且将始终需要形成棱柱。 有人知道任何方法吗?
非常感谢大家的时间。
我的问题是用于检测对象之间碰撞的网格仍必须是3D的。我需要检测玩家对象(胶囊碰撞器)和精灵(其碰撞体积由多边形棱柱定义)之间的碰撞。
我目前正在编写关卡编辑器,并且需要让用户为任何给定的图块定义碰撞区域。在下面的图像中,用户按顺序单击点P1、P2、P3、P4。
显然,这些点连接起来形成了一个四边形。这是我想要的碰撞区域,但是我必须将其转换为3D网格。基本上,我需要生成多边形的挤出,然后分配顶点绕组和三角形等。顶点位置不难解决,因为它只是沿着z轴向下的多边形的平移。
我在为顶点分配绕组顺序方面遇到了麻烦,特别是因为网格必须仅由三角形组成。
显然,我所描绘的结构并不重要,多边形可以是任何2D形状,并且将始终需要形成棱柱。 有人知道任何方法吗?
非常感谢大家的时间。