6
在2D物理引擎中实现包裹线(例如Worms Ninja Rope)
我最近一直在尝试一些绳索物理方法,但发现“标准”解决方案-用一系列由弹簧或关节串在一起的物体制成绳索是不令人满意的。尤其是当绳索摆动与游戏玩法相关时。我并不真正在乎绳索的缠绕或下垂能力(无论如何,这对于视觉效果来说都是伪造的)。 对于游戏而言,重要的是绳索能够环绕环境然后展开。它甚至不必表现得像绳索一样-由直线段组成的“线”就可以了。这是一个例子: 这与蠕虫游戏中的“忍者绳”非常相似。 因为我使用的是2D物理引擎,所以我的环境由2D凸多边形组成。(特别是我在Farseer中使用SAT。) 所以我的问题是:您将如何实现“包装”效果? 似乎很明显,导线将由“分裂”和“接合”的一系列线段组成。移动对象所附着的那条线的最后(活动)线段将是固定长度的关节。 但是,确定活动线段何时和何处需要拆分所涉及的数学/算法是什么?何时需要将其与上一个细分市场合并? (以前,这个问题也曾询问过如何在动态环境中执行此操作-我决定将其分解为其他问题。)