首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3与Nape物理学:我如何找到从一点到物体的切线?

AS3与Nape物理学:我如何找到从一点到物体的切线?
EN

Stack Overflow用户
提问于 2013-01-25 11:55:28
回答 1查看 997关注 0票数 2

简短的问题:在Nape中,有没有什么简单的方法可以计算出一个Nape物体或形状与物体或形状的切点?

我要做的是创建蠕虫式的绳索物理。它基本上作为一个可延伸的线/距离连接工作,当它与标高几何图形接触时,会自动打断为线段。我通过从最近的轴点进行光线投射来实现这一点;如果存在碰撞,我将从冲突点偏移几个像素,创建一个新的绳段,并将该点设置为新的轴点。如果我的角色在一个尖锐的角落摇摆,我会从那个点开始重铸,必要时循环,直到我清除关卡几何体。

考虑到我缺乏经验,它的效果令人惊讶,但有一个小的美容故障。绳索不会“紧紧地”缠绕在一个角状突起上。很容易理解为什么会发生这种情况。如下图所示。

每次我以60帧/秒的速度步入纳佩世界时,我都会投射一条光线。图1显示了两个示例光线投射之间的差异。角色(未图示)位于线的末尾,并且他在一步中就越过了相对于轴心的悬壁“边缘”,因此碰撞点没有达到所需的切点。

图2是我最终得到的结果。环绕式逻辑仍然有效,通过从表面偏移和重铸,但它不会显得“太紧”。

我想要的是类似于图3的东西,它校正角度以找到与身体的实际相切点,并从该点创建新的枢轴。

我计划的回退是以小的增量来偏移光线投射的角度,并重新投射,直到我不再击中关卡几何体,然后备份一个并将其用作碰撞点。即使是这样,也可能需要比图2所示的“曲线”更少的计算量,但我仍然在想:有没有更简单的方法?

EN

回答 1

Stack Overflow用户

发布于 2014-03-14 23:38:13

请原谅我没有评论,但我不需要这样做的分数:)

我以前用过类似的东西(不完全相同),我认为方法是保存每个造型的点,根据y轴获得与起点差异最大的点(如果绳子向上,则得到y最小的点,反之亦然(绳子从起点向下))。然后,您可以将角度固定为指向此特定点,标记为“边”。稍后,您可以继续使用常见模式,因为绳索将沿另一个方向移动(与悬壁的边缘完全相同)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14515077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档