游戏开发论坛

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

想问一下,有什么简单点的方法测算 一个vertex与一个Mesh的

[复制链接]

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
发表于 2011-3-10 21:53:00 | 显示全部楼层 |阅读模式
想了解一下 某一个点与别一个Mesh的空间关系 用什么方法做简单,不要boundingBox 或sphere,
我看到书里多的是boundingBox BoundingSphere ,但boundingBox只有两个参数,即box的左上点与右下点,在世界变换后,如果有angle 一下子就变形没用了.
想过用D3DXIntersect()测算 两条垂直并相交于vertex的射线与Mesh 是否相交,但 o 米 god,太浪费了吧,所以,有哪位大侠知道 简单点的 测算 点与网格的空间关系的 方法,请不囹赐教

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2011-3-12 00:39:00 | 显示全部楼层

Re:想问一下,有什么简单点的方法测算 一个vertex与一个Mesh

你说的boundingBox其实是AABB
用OBB就行了

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
 楼主| 发表于 2011-3-12 22:22:00 | 显示全部楼层

Re:想问一下,有什么简单点的方法测算 一个vertex与一个Mesh

能详细解释下吗>?
d3d自动计算的BoundingBox只有两个vector3型的座标
BoundingSphere 只有一个圆心与一个半径

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2011-3-17 01:54:00 | 显示全部楼层

Re:想问一下,有什么简单点的方法测算 一个vertex与一个Mesh

不太清楚D3DX中的函数
你自己计算吧

你可以把这个点换算到mesh的坐标中再判断

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
 楼主| 发表于 2011-3-17 08:50:00 | 显示全部楼层

Re:想问一下,有什么简单点的方法测算 一个vertex与一个Mesh

不用用函数说明,帮我讲下原理就行,谢谢

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
 楼主| 发表于 2011-3-18 10:14:00 | 显示全部楼层

Re:想问一下,有什么简单点的方法测算 一个vertex与一个Mesh

大哥,你怎么不回喔,
是不是把point在世界中的position mul一个被测物体的worldMatrix的逆矩阵,然后按变换后的position与被测物在originalSpace里的bundingBox的两个角点,测算空间关系

3

主题

187

帖子

217

积分

中级会员

Rank: 3Rank: 3

积分
217
发表于 2011-3-20 12:52:00 | 显示全部楼层

Re:想问一下,有什么简单点的方法测算 一个vertex与一个Mesh

我讲个方法,不知道是否你喜欢。
可以通过一个vertex和一个face,判断出这个vertex是否在face的正表面空间,内表面空间,或是在表面上
然后遍历所有的face。

情况有两种
1.如果是闭合的mesh,那么只要vertex在任意一个face的正表面空间,那么点就在mesh外;如果在表面上,那也不解释了,你懂的;如果都在内表面空间,那么点在mesh内部
2.如果是开放的mesh,情况就复杂些;应该来说,如果在所有face的正表面空间,那么点就在这个mesh形成的曲面外侧;同理如果在所有face内表面,那么就在mesh形成曲面的内侧;当然在表面上,不说了,你懂的
不过情况2还有特殊的情况,因为mesh不是无限延展的,所以你要考虑这种情况。

实际应用我们一般会简化模型来处理

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
 楼主| 发表于 2011-3-21 09:58:00 | 显示全部楼层

Re:想问一下,有什么简单点的方法测算 一个vertex与一个Mesh

非常感谢,
这个问题实在是困扰我好多时间了,至于简化模型,我本来就准备每个mesh多带一个简单的闭合boundinMesh用来计算碰撞的.
实在是谢谢咯
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-14 08:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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