版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、纹理环境几乎所有的3D游戏都离不开碰撞检测无论是各物体之间的碰撞检测,还是物体与场景之间的碰撞检测。游戏中的穿墙、掐在某个物体里面、因重力无限下落等等bug,是绝不允许出现的。几乎所有的3D程序的场景或者物体都是由许多三角形组成的。碰撞检测就是判断物体和所有三角形间的碰撞,三角形越多碰撞计算复杂度越大。好的碰撞检测要求人物在场景中可以平滑移动,遇到一定高度内的台阶可以自动上去,而过高的台阶则把人挡住,遇到斜率较小的斜坡可以上去,斜率过大则把人挡住,在各种前进方向被挡住的情况下都要尽可能地让人物沿合理的方向滑动而不是被迫停下。在满足这些要求的同时还要做到足够精确和稳定,防止人物在特殊情况下穿墙而
2、掉出场景。包围球碰撞包围盒碰撞AABB、OBB碰撞射线与平面碰撞碰撞反应碰撞检测的方法球是简单的几何形状,用圆心和半径就能表示一个球,因此,测试空间中两个物体是否碰撞最简便的方法就是包围球。包围球之所以简单,还因为物体不管怎么旋转,都不会出包围球。包围球在判断两个球体是否相交时,只要两个球的球心之间的距离小于半径之和,就说明两个球体相交。两个球心的距离为:如果两个球体相交:在实际的应用中,由于开方运算资源消耗大,因此,可以用d与r的平方进行比较:AABB包围盒是一个包围物体的六面盒子,其6个面与x、y、z三个坐标轴平行,无论物体是什么形状,AABB包围盒始终与坐标轴平行,因此不存在方向(ori
3、entation)的问题。由于AABB包围盒始终与坐标轴平行,因此,在物体进行转动时,需要重新计算包围盒。包围盒 AABBAABB包围盒可以由两个对角线上的两个顶点定义:amin和amax沿着坐标轴的方向,取给定多边形中的最大和最小顶点,就可以形成AABB。在计算时,直接比较两个AABB的最大点和最小点的关系,在3个坐标轴上比较最大点与最小点的分量,如果满足条件,说明两个AABB发生碰撞。/当一个包围盒的一个顶点在另外一个包围盒内部的时候即发生碰撞 if(vMax0.x vMin1.x | vMax0.y vMin1.y | vMax0.z vMax1.x | vMin0.y vMax1.y
4、| vMin0.z vMax1.z) g_vAPos.x+=0.02f; g_vBPos.x-=0.02f; 射线上的点 = 射线的原点+ t * 射线的方向(t 用来描述它距离原点的位置,它的范围是0, 无限远).)平面被描述为:Xn dot X = d Xn 是平面的法线,X 是平面上的一个点,d 是平面到原点的距离.得到射线和平面的两个方程:PointOnRay = Raystart + t * RaydirectionXn dot X = d如果相交,则上诉方程组有解,如下所示:Xn dot PointOnRay = d(Xn dot Raystart) + t * (Xn dot Raydirection) = d解得 t:t = (d - Xn dot Raystart) / (Xn dot Raydirection)把t带回原方程会得到与平面的碰撞点,如果Xn*Raydirection=0。则说明它与平面平行,则将不产生碰撞。如果t为负值,则说明交点在射线的相反方向,也不会产生碰撞。射线与平面碰撞为了计算对于一个静止物体的碰撞,需要知道以下信息:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级技工防水工考核试题及答案
- 内蒙古兴安盟乌兰浩特市第八中学2025-2026学年八年级下学期期末考试语文试题(文字版含答案)
- 铁路工程职业技术学院单招职业技能考试题库及答案
- 海南省直辖县级行政单位乐东黎族自治县乐东中学2025-2026学年度第二学期七年级期末生物试题(文字版含答案)
- 建设职业技术学院单招职业适应性测试题库及答案
- 贵州安顺市2026年初、中级专业技术资格考试(建筑工程管理)真题试题(附答案解析)
- 2026年郑州商学院单招面试模拟试题(附答案)
- 2026年流行性出血热诊断及预防知识培训试题测试题库含答案
- 2026年黑龙江农垦科技职业学院单招职业技能考试题库及答案
- 《医疗纠纷预防与处理工作指引》及相关法律法规考核试题(含答案)
- 福建泉州市2025-2026学年下学期期末高二数学参考试题答案
- 九江市液化石油气公司九江经营分公司2026年面向社会公开招聘工作人员【13人】笔试参考题库及答案详解
- 2026广东广州花都汽车城集团有限公司第一次招聘6人参考题库【综合卷】附答案详解
- 2026国家中铝国际工程股份有限公司纪委工作部(巡察办公室)副主任岗位竞争上岗1人笔试历年难易错考点试卷带答案解析
- 太原市2026届小学六年级小升初英语模拟试卷2
- 2026年安全生产月100张看图找隐患详解(可编辑版)
- 精装修成品保护施工方案与措施
- 健康体检随访工作制度范本
- 2026北京外国语大学纪检监察岗位招聘建设笔试模拟试题及答案解析
- (2025年)NICE指南:老年人和50岁及以上高危人群跌倒的评估和预防(NG.249)解读
- 中国主动脉夹层诊疗指南(2025版)
评论
0/150
提交评论