gpt4 book ai didi

Javascript物理引擎和模拟无限曲线

转载 作者:行者123 更新时间:2023-12-03 03:26:16 25 4
gpt4 key购买 nike

我正在尝试像 JavaScript 中那样做一个小翅膀。

我第一次看到a technique using Box2D ,我正在使用closure-web version (由于内存泄漏修复)。
简而言之,我将曲线分解为多边形,因此它看起来像这样:

enter image description here

我也尝试过使用 Chipmunk-js,并使用分段形状来模拟我的地面,如下所示:

enter image description here

在这两种情况下,当圆滚动时,我在多边形或线段之间的公共(public)点处遇到了一些“崩溃”或“碰撞”。

我向 Chipmunk 询问了这一点,作者说他为该段实现了半径属性以减少这种行为。我尝试过,确实达到了目的,但并不完美。我仍然有一些凹凸(我必须将半径设置为 30px 才能获得积极的效果)。

“凹凸”附加在两个多边形之间的共享点:

bump bug

使用,如illandril向我建议,边缘技术(他只测试了多边形与多边形接触)以避免圆在边缘上崩溃:

slope edging technique

还尝试按照 Luc 的建议添加项目符号选项,但似乎没有任何改变。

这里the demo问题。
您可以尝试更改该值来检查:

  • 项目符号选项
  • 边缘尺寸
  • 迭代次数
  • 物理学

(仅在最新的开发版 Chrome 上测试)
要有耐心(或改变水平重力),你就会明白我的意思。
这里the repo对于有兴趣的人。

最佳答案

最好的解决方案是带有幽灵顶点的边缘形状,但如果您正在使用的版本/端口中不提供这种解决方案,那么下一个最好的解决方案就像您问题中称为“边缘”的图表,但将多边形进一步延伸到地下坡度非常浅,如以下线程:http://www.box2d.org/forum/viewtopic.php?f=8&t=7917

关于Javascript物理引擎和模拟无限曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10599173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com