我正在为3D平台游戏玩家编写碰撞检测系统。所有的基础都运作良好。但是当角色出现在陡坡多边形上时,我需要他们滑下多边形的斜坡。我可以完成大部分工作,但我无法找到如何计算与它们碰撞的给定多边形的斜率相匹配的向下向量。我搜索了很多论坛,包括这个论坛,但找不到答案。如何计算3D多边形的向下倾斜矢量?
每个多边形由世界空间中的3个顶点(x,y,z)组成。
我也有每个多边形的表面法线,并熟悉点和交叉产品。
我也可以通过获取面法线和世界向量的点乘积的arccos来计算多边形的简单角度值,它给出多边形的坡度与地平面的角度,如60度。如果角度超过60度,我决定角色应该滑下斜坡。但是我需要与多边形的斜率相匹配的向下矢量,所以我可以随着时间的推移将它们的位置应用于它,从而滑落。
我相信斜率矢量应该垂直于曲面法线,但我不知道如何计算它给出的信息。
感谢您的帮助......
+1我以前是这样做的。如果您将向下矢量的大小设置为等于您的引力,那么非标准化的nonUnitAnswer矢量将成为在下坡方向上作用的引力的组成部分 - 这是一个有用的值。 – 2010-12-08 03:07:37