游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3322|回复: 11

再次请教碰撞检测问题!(附图)

[复制链接]

7

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2009-6-7 02:50:00 | 显示全部楼层 |阅读模式
如图所示:
如何检测sprite和墙壁的碰撞?(我用3dmax建模后直接BMP文件输出的地形图片)
是我的思维是错误的?
还是有别的什么解决办法?
有解决办法贴个代码看看吧,谢谢了

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-6-7 04:01:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

你这东西是3D还是2D?
你整个背景(墙和草)是一张图片还是很多张?

从你的意思看似乎整个背景是一张图片,那么就需要为墙做一张透明通道图,然后检测人物是否和这张图中的非透明像素发生了碰撞

如果你的场景只有截图那么大,那么这种方法是可行的
如果场景更大,这种方法就有严重的性能问题了

最好是把背景分成不同的层,比如草地,墙
对于墙来说,也不要做成一整张图,而是做成可以拼接的图元,然后用传统aabb或者obb来判断碰撞

7

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
 楼主| 发表于 2009-6-7 10:23:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

把墙做成图元,再用100000001
                  000001000
                  010100000
                  010000001
这样的方式建立成如图中的整体效果么?

34

主题

657

帖子

672

积分

高级会员

Rank: 4

积分
672
发表于 2009-6-7 10:34:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

这种场景很适合用BSP树进行碰撞检测。

34

主题

657

帖子

672

积分

高级会员

Rank: 4

积分
672
发表于 2009-6-7 10:35:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

如果你的场景是基于Tile的,则更简单了,用二维数组保存每个Tile的类型,然后判断人物是否和可碰撞的Tile发生了碰撞。

7

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
 楼主| 发表于 2009-6-7 12:30:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

谢谢大家,谁能给个实例看看嘛?
脑子卡这里了。。。。想不通。。

34

主题

657

帖子

672

积分

高级会员

Rank: 4

积分
672
发表于 2009-6-7 13:17:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

只能自己摸索了,我也是这么一路下来的。

7

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
 楼主| 发表于 2009-6-7 13:24:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

恩,谢谢你了

1

主题

62

帖子

62

积分

注册会员

Rank: 2

积分
62
发表于 2009-6-7 13:34:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

有很多种方式,Ray Cast Pathing这种方式可以参考下.

34

主题

657

帖子

672

积分

高级会员

Rank: 4

积分
672
发表于 2009-6-7 13:53:00 | 显示全部楼层

Re:再次请教碰撞检测问题!(附图)

楼主可看这本书,http://www.china-pub.com/778637
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 01:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表