简短的问题:在 Nape 中是否有任何简单的方法来计算与 Nape 身体对象或形状的切点,给定身体外部的一个点?
我想做的是创建蠕虫式的绳索物理。它基本上用作可扩展的线/距离接头,当它与关卡几何体接触时会自动分成段。我通过从最近的枢轴点进行光线投射来做到这一点;如果发生碰撞,我从碰撞点偏移几个像素,创建一个新的绳段,并将该点作为新的枢轴。如果我的角色在一个尖角附近摆动,我会从那个点重铸,必要时循环,直到我清楚关卡几何。
考虑到我缺乏经验,它的效果非常好,但有一点化妆品故障。绳子不会“紧紧地”缠绕在喇叭形的突出物上。很容易看出为什么会这样。请参考下图。
每次我以 60 帧/秒的速度踏入 Nape 世界时,我都会投射一道光线。图 1 显示了两个示例射线投射之间的差异。角色(未图示)位于线的末端,并且他一步下落到相对于枢轴的悬崖“边缘”,因此碰撞点未达到所需的切点。
图2是我最终得到的。通过从表面偏移和重铸,环绕逻辑仍然有效,但它看起来并不“紧绷”。
我想要的是类似于图 3 的东西,它修正了角度以找到与身体的实际切点并由此创建新的枢轴。
我计划的后备是通过小增量偏移光线投射的角度并重新投射,直到我不再撞击关卡几何体,然后备份一个并将其用作碰撞点。即使这样也可能需要比图 2 中“弯曲”更少的计算,但我仍然想知道:有没有更简单的方法?