游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3146|回复: 7

骨骼动画 怎么计算包围盒

[复制链接]

2

主题

15

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2012-5-12 15:27:00 | 显示全部楼层 |阅读模式
我的怎么成这样了??
如图 请问这是怎么回事啊??
哪里计算错了吗??


HRESULT ML::CSkinnedMesh::calBoundingBox(
        D3DXFRAME *pFrame, D3DXVECTOR3 *pVMin,D3DXVECTOR3 *pVMax )
{
        if( !pFrame ) return S_OK;

        static LPVOID pV;   
        static LPD3DXMESH pXMesh;   
        static D3DXVECTOR3 vMin,vMax;   
        static D3DXVECTOR3 vTransFormed;   

        D3DXMESHCONTAINER *pExXMeshContainer = pFrame->pMeshContainer;

        while(pExXMeshContainer)
        {
                pXMesh = pExXMeshContainer->MeshData.pMesh;

                pXMesh->LockVertexBuffer(0,&pV);

                D3DXComputeBoundingBox(
                        (LPD3DXVECTOR3)pV, pXMesh->GetNumVertices(),
                        D3DXGetFVFVertexSize(pXMesh->GetFVF()), &vMin, &vMax );

                if( vMin.x < pVMin->x ) pVMin->x = vMin.x;
                if( vMin.y < pVMin->y ) pVMin->y = vMin.y;
                if( vMin.z < pVMin->z ) pVMin->z = vMin.z;

                if( vMax.x > pVMax->x ) pVMax->x = vMax.x;
                if( vMax.y > pVMax->y ) pVMax->y = vMax.y;
                if( vMax.z > pVMax->z ) pVMax->z = vMax.z;

                pXMesh->UnlockVertexBuffer();

                pExXMeshContainer = pExXMeshContainer->pNextMeshContainer;
        }
       
        calBoundingBox( pFrame->pFrameSibling,pVMin,pVMax );

        calBoundingBox( pFrame->pFrameFirstChild,pVMin,pVMax );

        return S_OK;   

}   

2

主题

15

帖子

108

积分

注册会员

Rank: 2

积分
108
 楼主| 发表于 2012-5-12 15:32:00 | 显示全部楼层

Re:骨骼动画 怎么计算包围盒

UP!!

2

主题

15

帖子

108

积分

注册会员

Rank: 2

积分
108
 楼主| 发表于 2012-5-12 15:34:00 | 显示全部楼层

Re:骨骼动画 怎么计算包围盒

包围盒怎么计算成这么大了!!!

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20468
发表于 2012-5-12 16:35:00 | 显示全部楼层

Re:骨骼动画 怎么计算包围盒

会不会有看不见的点,在偏僻的角落。

2

主题

15

帖子

108

积分

注册会员

Rank: 2

积分
108
 楼主| 发表于 2012-5-13 09:24:00 | 显示全部楼层

Re: Re:骨骼动画 怎么计算包围盒

sea_bug: Re:骨骼动画 怎么计算包围盒

会不会有看不见的点,在偏僻的角落。

如果是这样的话 那包围球应该也很大啊

2

主题

15

帖子

108

积分

注册会员

Rank: 2

积分
108
 楼主| 发表于 2012-5-13 09:28:00 | 显示全部楼层

Re:骨骼动画 怎么计算包围盒

怎么沉了!

2

主题

15

帖子

108

积分

注册会员

Rank: 2

积分
108
 楼主| 发表于 2012-5-13 09:29:00 | 显示全部楼层

Re:骨骼动画 怎么计算包围盒

持续 up

2

主题

15

帖子

108

积分

注册会员

Rank: 2

积分
108
 楼主| 发表于 2012-5-13 09:36:00 | 显示全部楼层

Re: Re:骨骼动画 怎么计算包围盒

sea_bug: Re:骨骼动画 怎么计算包围盒

会不会有看不见的点,在偏僻的角落。

计算边界球直接调用的 D3DXFrameCalculateBoundingSphere( _pRootBone, &_bndgCenter, &_bndgRadius );
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-28 12:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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