Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
576 views
in Technique[技术] by (71.8m points)

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

有这几种形状的地图贴片

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

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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

最后找了这两个

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...