2d 游戏,然后用 png 图片作为游戏素材,现在的方案是检测两个矩形重叠的部分,查看其中有没有黑色的像素点 但是这么做并不精确 https://i.imgur.com/GU3jeEt.png 会出现如图情况,明明没有撞到的因为右下角出现了黑块就认为相撞了,请问有什么好的解决方案来精确的确定两个物体是否相撞吗?
2d 游戏,然后用 png 图片作为游戏素材,现在的方案是检测两个矩形重叠的部分,查看其中有没有黑色的像素点 但是这么做并不精确 https://i.imgur.com/GU3jeEt.png 会出现如图情况,明明没有撞到的因为右下角出现了黑块就认为相撞了,请问有什么好的解决方案来精确的确定两个物体是否相撞吗?
|
1
细分这个矩形,或者更彻底的搞个包围盒什么的?
|
|
2
不是很懂问题是什么……难道不是应该把图片右下角的黑块扣掉吗
碰撞检测一般就是八分树粗略找一下包围盒相交的,然后再细判 |
|
xmbaoziJun 9, 2016 via Android
8
矩形直接根据坐标,长宽判断就好啦
|
|
11
我用 cocos 的时候,这家公司的工具是很不错的
https://www.codeandweb.com |
|
12
如果是这个小龙的话,可以用圆形来判断吧? 肯定没法根据像素来判断啊,那计算量太重了
|
|
13
@bingwenshi 怎么说?
|
|
likaiJun 9, 2016
14
要精确。碰撞钢体最好用不规则的吧。直接一个圆形或者四方形都不那么精解确
|
|
ZyZyZzzJun 9, 2016
15
你这是要做像素级别的精细碰撞?
如果是的话,好奇为什么会有这种需求 |
|
17
@codecrash 你现在就是用一个大的矩形表示这个物体,所以导致了误差,你可以把这个物体用多个更小的矩形表示,比如做成一个倒 L 形上下两个矩形,最极限的方式就是一个像素点一个矩形,这样最精确但是开销也大
|