一个简短的问题:Nape中是否有任何简单的方法来计算Nape体对象或在该体外有一个点的形状的相切点?
我要做的是创建蠕虫式绳索物理。它基本上起到可伸展的线/距离关节的作用,当它与水平几何体接触时自动分裂成段。我通过最近的支点进行光线投射来做到这一点;如果发生碰撞,我会从碰撞点偏移几个像素,创建一个新的绳索段,并使该点成为新的支点。如果我的角色在一个尖角附近摆动,我会从那个点重新开始,根据需要循环,直到我清除水平几何。
由于我缺乏经验,它的效果非常好,但是有一点小的化妆品故障。绳索不会“紧紧”缠绕在角状突起上。很容易理解为什么会这样。请参考下图。
每当我以60帧/秒的速度踏入Nape世界时,我都会投射一条光线。图1显示了两个示例光线投射之间的差异。角色(未图示)位于线的末端,并且他在一步中相对于枢轴越过悬崖“边缘”,因此碰撞点未达到所需的相切点。
图2是我最终的结果。通过从表面偏移并重铸,环绕逻辑仍然有效,但它看起来并不“绷紧”。
我想要的是如图3所示,它修正角度以找到与身体相切的实际点,并从中创建新的枢轴。
我计划的后退是以小增量偏移光线投射的角度并重铸直到我不再击中水平几何体,然后备份一个并将其用作碰撞点。即便如此,可能还需要比图2中的“弯曲”更少的计算,但我仍然想知道:有更简单的方法吗?
答案 0 :(得分:0)
请原谅我没有评论,但我没有必要的要点:)
我之前使用了类似的东西(不完全相同),我认为要走的路是保存每个演员阵容的分数,根据y轴获得与起点差异最大的分数(如果绳索上升,然后你获得最小y
的点,反之亦然(绳索从起点向下))。
然后,您可以将角度固定为指向此特定点,标记为“边缘”。之后你可以继续使用常见的模式,因为绳子会向另一个方向移动(就像悬崖的边缘一样)。