游戏开发论坛

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

关于鼠标拾取

[复制链接]

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2007-12-14 12:53:00 | 显示全部楼层 |阅读模式
想问一下关于鼠标拾取包围球,包围盒的相关算法以及当前主流游戏中拾取的实现(例如用鼠标开启宝箱之类),越详细越好

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2007-12-14 17:39:00 | 显示全部楼层

Re:关于鼠标拾取

没有人知道么?
自己先顶一下

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-12-14 17:46:00 | 显示全部楼层

Re:关于鼠标拾取

包围盒你看一下D3DXBoxBoundProbe(); 原理随便一搜就可以了cross boundingbox
包围球i
nline bool IsCrossSphere(COSFGBoundingShpere* pSphere,D3DXVECTOR3& RayOrg,D3DXVECTOR3& RayDir)
        {
                D3DXVECTOR3 v = RayOrg - pSphere->m_vCenter;

                float b = 2.0f * D3DXVec3Dot(&RayDir, &v);
                float c = D3DXVec3Dot(&v, &v) - (pSphere->m_fRadius * pSphere->m_fRadius);

       
                float discriminant = (b * b) - (4.0f * c);


                if( discriminant < 0.0f )
                        return false;

                discriminant = sqrtf(discriminant);

                float s0 = (-b + discriminant) / 2.0f;
                float s1 = (-b - discriminant) / 2.0f;

                if( s0 >= 0.0f || s1 >= 0.0f )
                        return true;

                return false;
        }
这个是我引擎代码。原理也是一样自己搜索了看一下

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2007-12-14 18:02:00 | 显示全部楼层

Re:关于鼠标拾取

谢谢,我看一下

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2007-12-14 18:27:00 | 显示全部楼层

Re:关于鼠标拾取

我想知道怎么才能看到函数D3DXBoxBoundProbe 的代码啊?
麻烦告之。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-17 17:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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