游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2484|回复: 4

CS中的不规则地形和人物的碰撞检测是怎么实现的?

[复制链接]

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-6-29 21:17:00 | 显示全部楼层 |阅读模式
一般做3D的碰撞检测无非是用包围盒之类的, 但是CS里有山脉等等复杂不规则地形, 它的碰撞检测是怎么做的?

用的什么数据结构或算法?

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-6-29 22:21:00 | 显示全部楼层

Re:CS中的不规则地形和人物的碰撞检测是怎么实现的?

查询height map在x,y点的高度

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
 楼主| 发表于 2009-6-30 08:30:00 | 显示全部楼层

Re:CS中的不规则地形和人物的碰撞检测是怎么实现的?

不会是这么简单吧....

比如房屋之类的物体, 有许多层, 怎么判断人物在哪层? 以及怎么获得那层的高度?

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
发表于 2009-6-30 12:35:00 | 显示全部楼层

Re:CS中的不规则地形和人物的碰撞检测是怎么实现的?

室外地形用2楼的方法
室内典型的做法是bsp,针对多边形进行检测

4

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2009-8-6 13:20:00 | 显示全部楼层

Re:CS中的不规则地形和人物的碰撞检测是怎么实现的?

记得cs地图文件后缀是什么吗,就是bsp,bsp效率虽然高,但模型的编辑要格外注意不能用凹面体,cs的地形都是用cs地图编辑器做的,在导出的时候先检查有没有凹面体,有则导出失败。所以bsp的缺点就是创建复杂,要自己些编辑器或是避免凹面体。现在的游戏都用aabb或obb。当然如果场景简单还是可以用bsp的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-21 16:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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