游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5393|回复: 10

如何计算模型的包围盒?

[复制链接]

32

主题

108

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2008-4-15 15:46:00 | 显示全部楼层 |阅读模式
从网上下载了若干模型,有3ds静态模型,有md2动画模型,并实现了模型的显示。
如果要实现碰撞检测功能,则需要为每个模型添加一个包围盒,比如球体包围盒、AABB、OBB包围盒等。
请问这些包围盒是计算生成的,还是用建模工具手工制作的?
对于这些模型,如何进行碰撞检测?

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2008-4-15 17:03:00 | 显示全部楼层

Re:如何计算模型的包围盒?

对每一个顶点求 min max 得到的就是咯

22

主题

309

帖子

353

积分

中级会员

Rank: 3Rank: 3

积分
353
QQ
发表于 2008-4-15 17:17:00 | 显示全部楼层

Re:如何计算模型的包围盒?

D3DXComputeBoundingBox
D3DXComputeBoundingSphere

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2008-4-15 23:56:00 | 显示全部楼层

Re: Re:如何计算模型的包围盒?

OSFG: Re:如何计算模型的包围盒?

对每一个顶点求 min max 得到的就是咯

AABB 可以这样计算,OBB 可没这么简单。

18

主题

211

帖子

419

积分

中级会员

Rank: 3Rank: 3

积分
419
发表于 2008-4-16 09:21:00 | 显示全部楼层

Re:如何计算模型的包围盒?

有没有详细点的资料啊?

1

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2008-4-20 10:49:00 | 显示全部楼层

Re:如何计算模型的包围盒?

用投影去做

15

主题

56

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2008-4-22 23:47:00 | 显示全部楼层

Re:如何计算模型的包围盒?

刚写了一个,帮忙检查下是不是对的

//compute bouding sphere with a sphere and a point
void computeBoundingSphere(D3DXVECTOR3& center,float& radius,D3DXVECTOR3& pos){
        D3DXVECTOR3 v = center-pos;
        float dist = D3DXVec3Dot(&v,&v);
        if(radius*radius<dist){
                dist=sqrtf(dist);
                radius = (dist+radius)*0.5f;
                center = (radius/dist)*v+pos;
        }
}

调用
D3DXVECTOR3 v[10],center;
float radius = 0.0f;
center = v[0];
for(int i = 0;i<10-1;i++){
computeBoundingSphere(center,radius,v[i+1]);
}

15

主题

56

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2008-4-23 12:36:00 | 显示全部楼层

Re:如何计算模型的包围盒?

上面的是错的,抱歉。
OBB包围盒怎么算?网上都是论文,看不到。

9

主题

53

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2008-4-23 22:32:00 | 显示全部楼层

Re:如何计算模型的包围盒?

貌似听说通过计算协方差矩阵来算滴

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2008-4-23 23:57:00 | 显示全部楼层

Re: Re:如何计算模型的包围盒?

fishboy82: Re:如何计算模型的包围盒?

貌似听说通过计算协方差矩阵来算滴

right,不过有个偷懒的做法,先生成 aabb,然后用 aabb 生成 obb。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 17:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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