游戏引擎剖析第5部分.docx

游戏引擎剖析第5部分.docx

ID:52829447

大小:16.41 KB

页数:3页

时间:2020-03-30

游戏引擎剖析第5部分.docx_第1页
游戏引擎剖析第5部分.docx_第2页
游戏引擎剖析第5部分.docx_第3页
资源描述:

《游戏引擎剖析第5部分.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5部分:物理,运动,效果世界建造  常常在建立一个含有任何3D成分的游戏时,你最终要试图建立一个将会在里面产生游戏动作的3D环境。不知怎么的游戏开发者提供了一个建立这种环境的方,它容易修改,有效率,有较低的多边形数量,对于游戏既容易渲染又容易运用物理学。很简单,对吗?当做这个的时候我用左手在做什么?当做这的时候,我对我的左手做什么?是的。不错。    虽然那里有许多3D结构程序,从CAD/CAM程序到3DStudioMax,建造游戏世界是不同于建造内部或外部世界的模型的尴尬。你有三角形数量问题--任何给定的渲染器一次只能渲染这么多的多边形,这对

2、于天才的关卡设计师来说永远都不够。不知这些,你也只能每个关卡存储预定数量的多边形,所以即使你的渲染器能够在视野中处理250,000个多边形,即使你只能在合理数量的空间中存储500,000个多边形,那么取决于你怎么处理它,最后你的关卡价值像两个房间那么小。不好。    任何方法,开发者需要提出一个创作工具--最好足够灵活,允许游戏引擎需要的各种事物–比如,在世界中放置对象,在进入游戏以前对关卡的适当预览,以及准确的光照预览。在他们花三个小时预先处理关卡来产生一个'引擎可消化的'格式之前,这些能力允许游戏开发者看到关卡将在游戏中看起来怎么样。开发者需

3、要关于关卡,多边形数量,网格数量等等的相应数据。他们需要一个合宜而友好的方式能够让世界有纹理背景图,容易存取多边形数量缩减工具,如此等等。这个清单可以继续列下去。    在先前已经存在的工具中找到这个功能是可能的。许多开发者使用Max或者Maya建造他们的关卡,但即使3DMax需要对它的功能有一些任务特定的扩展来有效率地完成关卡建造工作。甚至可能使用关卡建造工具,像QERadient(见下图),而且把它的输出重新处理成你的引擎能够解释的格式。不能看见它?别烦扰…  回想一下我们在第一部分讨论的BSP(二叉空间分割)树,你也可能听说过潜在可视集合(

4、PVS)这个术语正被四处谈论。两者都有相同的目标,不去探究涉及到的繁杂的数学,它是一种把世界分解为你能从世界任何给定位置看见的墙壁的最小子集的方式。在实现时,它们仅仅返回你能看见的那些,而不是那些隐藏在可能被遮挡的墙壁后面的。你能想象出这给软件渲染器带来的好处,渲染的每个像素(可能是这样的情形)极为重要。它们也按从后到前的顺序返回那些墙壁,在渲染时这是很方便的,因为你能够在渲染次序中确定一个对象的实际位置。    大体而言,BSP树最近正不受欢迎,由于它们的一些古怪,而且因为我们从当今3D显示卡获得的像素吞吐量,再加上Z缓冲像素测试,BSP常常成

5、了一个多余的过程。它们在计算出你在世界的确切位置和正在你周围的几何物体方面是便利的,但常常有比BSP树更好而且更直观的方式来存储这些信息。    潜在可视集像它听上去一样非常好。它是这么一个方法,在任何给定时间,给定你在世界的位置,它决定世界的哪些表面,哪些对象实际上可以看得见。这时常用来在渲染之前剔除对象,也剔除它们来减少AI和动画处理。毕竟,如果你实际上不能看见它们,为什么还要费脑筋处理呢。多半这真的是不重要的,如果一个非玩家角色(NPC)正在播放动画,或者甚至在运行它的AI思考。游戏物理学  既然我们已经在内存中得到了世界的结构,我们必须防

6、止我们的角色从里面掉落出去,并处理地板,斜坡,墙壁,门,以及移动平台。加之,我们必须正确地处理地心引力,速度变化,惯性,和放置在世界里面的其它对象的碰撞。这被看作是游戏物理学。而且在我们进一步深入讨论之前,我想现在就在这里消除一个神话。任何时候你在世界中看见物理,或者任何人在一个复杂的游戏环境中宣称“真实的物理”,很好,它是BS。超过80%的建造一个有效率游戏物理系统的精力花在简化用来处理世界中对象的真实方程式上面。甚至那时,你时常忽略什么是‘真实的’,并创造一些‘有趣的’东西,毕竟,这是目标所在。  经常地游戏者将会忽视真实世界的牛顿物理学,并

7、扮演他们自己的,更有趣的真实版本。例如,在QuakeII里面,你能够立即从0加速到35MPH,并快速停下来。没有摩擦力,而且斜坡不提供真实斜坡提供的相同类型的重力问题。身体没有它们应该的作用在所有关节上的地心引力--你看不见身体像真实生活中那样倒在桌子上面或者边缘--而且地心引力它本身甚至可能是可变的。面对现实吧,在真正的世界中,空间中的飞船不像二战飞行战斗员在它们的表面操作那样实行。在空中,全部是力和反作用力,力在重量点周围作用,等等。不像X-Wing中的LukeSkywalker那样啸叫。尽管那样做更加有趣!    作为游戏开发者来说,无论我

8、们做什么,我们需要能够检测墙壁,检测地板,在世界中处理和其他对象的碰撞。这些是现代游戏引擎的必备–我们决定对它们进一步要做的取决于我们和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。