将2d游戏地图的tile组成/拆分为凸多边形给 box2d?

发布于 2022-09-12 03:59:37 字数 366 浏览 18 评论 0

有这几种形状的地图贴片

想要把它们组成多个有洞的多边形, 切分成多个凸多边形或者三角形

(因为 box2d 处理两个线段组成的一个平面时容易在边的贴合处让角色走路发生磕碰, 所以要做合并, 而且 box2d 只能用凸多边形)

请问有什么现成的库或算法可以抄的吗? (用的 js, 其它语言我就想办法抄一下)
搜了老久只找到地理地图用的可以对多边形作布尔合并的库, 但没找到如何将有洞的多边形拆分为凸多边形或三角形

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫儰鉨ミ守葔 2022-09-19 03:59:37

Martinez-Rueda polygon clipping algorithm -> 多边形的布尔操作, 可以合并成有洞的多边形
earcut (Triangulation by Ear Clipping) -> 把任意多边形拆成三角形

最后找了这两个

如果不需要加物理粒子效果也可以用 edge shape 而不用 polygon shape, 用 edge 拼起来很简单

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文