FPS游戏引擎中数学模型分析.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPS游戏引擎中数学模型分析

FPS游戏引擎中数学模型分析   摘 要FPS游戏引擎中应用到的数学模型很多,贯穿在整个引擎中,此文对引擎中常用的数学模型进行分析 【关键词】FPS游戏引擎 数学模型 1 前言 FPS游戏又称为第一人称视角射击游戏,该游戏引擎中涉及到大量的数学模型。下面我们就对引擎中常用到的几个数学模型进行分析 2 引擎中的数学建模 在引擎中,定义了大量的三维空间中的几何元素。在引擎中依托三维坐标系对三维的点、向量、抛物线、矩阵等元素的位置关系做了定义和判断 2.1 三维坐标系 在引擎中三维坐标系是最为常见的数学模型之一。一般用于确定非玩家控制角色、游戏环境中的建筑、动植物等游戏模型的定位,以及玩家所控制的游戏角色的视野方向,移动方向,以及一些基本动作等。在引擎中坐标系不是唯一的,整个游戏大世界有着自己固定的坐标系系统,用以定位游戏场景的中所有不能够移动或者暂时静止的物体,而游戏场景中能够移动的物体又有着自己相对独立的坐标系嵌套在游戏大世界的坐标系之中,但是该游戏人物在游戏大世界中还是有着相对应的坐标,仍然可以通过游戏大世界的坐标进行定位。例如玩家在操纵游戏人物的时候,坐标系是以玩家所操纵的游戏人物模型为中心,随着玩家对游戏人物的操纵做出调整,自己在游戏大世界中的坐标也会跟着改变。自动寻路功能也是依靠坐标系来实现定位的,通过坐标系确定起始位置和目标位置,然后计算出从起始位置到目标位置的最佳路径,以实现自动寻路功能 比较常见的三维坐标系的表示形式是笛卡尔坐标系。由X,Y,Z三条互相垂直的坐标轴组成。三条坐标轴可以构成X-Y,X-Z,Y-Z这个三个平面,因此,此类型的坐标系一共有8个卦限及8个被分割出来的子空间,这些子空间又决定了引擎中的天空盒或者游戏世界界限的构成 该坐标系分为两种:左手坐标系、右手坐标系。左手坐标系Z轴指向X-Y两轴构成的垂直平面内,右手坐标系Z轴指向X-Y两轴构成的垂直平面外 2.2 点 在游戏中涉及到人质营救任务的场景时,将会用到点的概念。人质周围敌对NPC的活动或是巡逻是有一定范围的,玩家控制的游戏角色与任务触发地点之间的距离是任务是否触发的判断依据,当玩家控制的游戏角色靠近一定的距离时触发营救任务,敌对NPC触发阻碍营救任务,当角色脱离超过一定的距离后,营救任务的触发解除,敌对NPC回归正常的巡逻距离;当人质营救成功时,人质将跟随角色移动,这时也要判断两者之间的距离,用以实现跟随传送功能 可以使用公式: 来判断物体跟物体之间的距离 2.3 三维游戏引擎中的向量 向量有两个主要的属性:长度和方向(长度也称为模或者是大小)。向量经常用在对长度相等,方向一样的物体进行建模,例如粒子系统中表示粒子的运动速度和加速度等,可以用向量?肀硎舅?的方向和速度,因为向量有两个值可以表示它的速度和方向。在对摄像机进行操作的时候也可以用到向量 但是在使用向量的时候要注意一点,向量的两个属性没有代表位置的,所以在判断两个向量是否相等的时候只要判断长度和方向是否相同就可以了,如果一样就认为他们是相等的 在三维空间中向量V可以用三元组V=(x,y,z)表示,但是要注意这三点的起始点和方向。如图1如所示 所以可以把由x,y,z三点构成的有向线段的长度看成是该向量的大小。计算公式: 在游戏中,表示移动的距离时,也可以用向量来解决问题。在游戏世界中必须先为向量设置一个长度单位,用来表示具体的距离问题 2.4 抛物线问题 在FPS类的射击游戏中,将会大量的使用到抛物线。如:子弹的弹道,手雷扔出去的轨道,弹壳的掉落,物品丢弃等大量用到抛物线的原理来实现 抛物线的线条形状是由顶点和抛物线的对称轴来决定的 对称轴垂直的抛物线方程:y=c(x-h)2+k顶点是(h,k),对称轴为x=h 对称轴水平的抛物线方程:x=c(y-h)2+h顶点是(k,h),对称轴为y=h 常数c代表了抛物线的开口方向和开口大小 如果c是正数,对称轴垂直的抛物线的开口向上,对称轴水平的抛物线的开口向右。如果c是负数,对称轴垂直的抛物线的开口向下,对称轴水平的抛物线的开口向左。c的绝对值越大,开口越小 在引擎中使用的时候还要考虑到物体在现实世界中的体积,重量等因素,以及它们掉落时的情况,将它们的抛物线正确的模拟出来,增强游戏的真实性。如手雷扔出去到掉落的,也是一条抛物线,这时候就要考虑到手雷的在扔出去时的各种情况,以实现较为真实的模拟 2.5 矩阵问题 在游戏中矩阵是用来实现变换和仿射的 变换:在三维空间中物体实现上下、左右以及前后的6个不同方向的移动,放大、缩小和旋转等运动操作 仿射:物体在三维空间中发生运动操作后应该保持先前的形状 物体的

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档