3D游戏引擎术语介绍
3D游戏引擎介绍

Engine
游戏引擎:用于控制所有游戏功能的主程序,从计算 碰撞、物理系统和物体的相对位置,到接受玩家的输 入,以及按照正确的音量输出声音等等
History of 3D Game Engine
引擎的诞生(1992年~1993年) – 1992年,3D Realms公司/Apogee公司 Wolfenstein 3D 《德军司令部》 – 1992年,Origin公司 Ultima Underworld 《创世纪:地下世界》 – id Software公司 Doom 《毁灭战士》 (Doom引擎是第一个被用于授权的引擎) 引擎的转变(1994年~1997年) – 1994年为3D Realms公司 《毁灭公爵》(Duke Nukem 3D) – 1994年id Software公司的《雷神之锤》(Quake) (Quake引擎是当时第一款
Quake 和 Quake II引擎的混合体
– LookingGlass工作室《神偷:暗黑计划》(Thief:The Dark Project)在
人工智能方面真正取得突破的游戏是Looking Glass工作室的《神偷:暗黑计划》
– 2000年,3D引擎朝着两个不同的方向分化。一是如《半条命》、《神 偷》和《杀出重围》那样通过融入更多的叙事成分和角色扮演成分以 及加强游戏的人工智能来提高游戏的可玩性,二是朝着纯粹的网络模 式发展 id Software 《雷神之锤3竞技场》(Quake III Arena),它与 Epic公司稍后推出的《虚幻竞技场》(Unreal Tournament)
3D Game Engine
The Render Character Skeletal Animation Natural Physics Simulation 我国的3D网络游戏的现状
热门3D游戏视觉效果名词简介

热门3D游戏视觉效果名词简介3法线贴图(Normal Mapping)法线贴图技术通过计算高细节度模型的法线信息并将其保存在一张高压缩比(3DC/DC5)的法线贴图之中,然后将这张法线贴图贴用于低细节模型上代替原型的多边形曲面的光照计算,从而等到一个低多边形、高细节的3D模型。
这样做就能在保证模型细节的情况下,大幅度降低场景的多边形数目。
法线贴图目前已经广泛应用于3D游戏中。
视觉效果达到1亿多边形的场景,通过线框显示发现只用了50万多边形。
(虚幻3引擎场景)此主题相关图片如下:法线贴图在《孤岛危机》里的应用,立体感表现得非常好此主题相关图片如下:高动态光照(High Dynamic Range)很多人对HDR的第一感觉就是“太亮了、好刺眼、受不了”。
其实HDR并不是像许多玩家理解的那样就是简单的“高亮”,不是让画面有更大的亮度或是对比度。
大家都知道,当人从黑暗的地方走到阳光下时,我们的眼睛会不由自主的眯起来,那是因为在黑暗的地方,人为了更好的分辨物体,瞳孔张开很大,以便吸收光线;而突然到了光亮处瞳孔来不及收缩,视网膜上的视神经无法承受如此多的光线,人自然会眯上眼睛阻止大量光线冲击视神经。
我们的眼睛非常敏感,而电脑就不具备这种功能,因此就通过HDR技术在一瞬间将光线渲染得非常亮,然后亮度逐渐降低。
所以,HDR的最终效果应该是亮处的效果是鲜亮的,而黑暗处你也可以清晰的分辨物体的轮廓,位置和深度,而不是以前的一团黑。
动态、趋近真实的物理环境是HDR的特效表现原则。
HDR并不仅仅是反射的光强度要高。
在游戏中,如果你盯着一个面向阳光直射的物体,物体表面会出现丰富的光反射;如果盯着不放,物体表面的泛光会渐渐淡出,还原出更多的细节。
HD R特效是变化的,因此称做高动态光照。
HDR是分种类的,一般按可精度分为:Int16(整数)、FP16(浮点)、FP32等等,数字越大精度越高,运算量当然也越大。
其中Int格式的HDR在SM2.0下即可实现(如半条命2:失落的海岸线、第一章、第二章),FP格式要SM3.0或以上才能实现(目前有HDR的游戏基本都是FP格式),在DX10中HDR的精度已经提升到FP128。
游戏引擎概述

第1部分: 游戏引擎介绍,渲染和构造3D世界介绍自Doom游戏时代以来我们已经走了很远。
DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏"引擎"。
这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造新的游戏,或向已有的游戏素材中添加新的东西。
大量的新游戏根据已经存在的游戏引擎开发出来,而大多数都以ID公司的Quake引擎为基础,这些游戏包括Counter Strike,Team Fortress,Tac Ops,Strike Force,以及Quake Soccer。
Tac Ops 和Strike Force 都使用了Unreal Tournament 引擎。
事实上,"游戏引擎" 已经成为游戏玩家之间交流的标准用语,但是究竟引擎止于何处,而游戏又从哪里开始呢?像素的渲染,声音的播放,怪物的思考以及游戏事件的触发,游戏中所有这一切的幕后又是什么呢?如果你曾经思考过这些问题,而且想要知道更多驱动游戏进行的东西,那么这篇文章正好可以告诉你这些。
本文分多个部分深入剖析了游戏引擎的内核,特别是Quake引擎,因为我最近工作的公司Raven Software已经在Quake引擎的基础上开发出了多款游戏,其中包括著名的Soldier of Fortune 。
开始让我们首先来看看一个游戏引擎和游戏本身之间的主要区别。
许多人们会混淆游戏引擎和整个游戏。
这有点像把一个汽车发动机和整个汽车混淆起来一样。
你能够从汽车里面取出发动机,建造另外一个外壳,再使用发动机一次。
游戏也像那。
游戏引擎被定义为所有的非游戏特有的技术。
游戏部份是被称为'资产' 的所有内容(模型,动画,声音,人工智能和物理学)和为了使游戏运行或者控制如何运行而特别需要的程序代码,比如说AI--人工智能。
对于曾经看过Quake 游戏结构的人来说,游戏引擎就是Quake。
3D游戏引擎开发技术分享

3D游戏引擎开发技术分享近年来3D游戏市场越来越火热,不管是大作还是独立游戏,开发者们都在探索创新的游戏玩法和视觉效果。
而游戏引擎作为游戏开发的基础,也成为开发者们越来越重要的工具。
在这里,我们将分享一些3D游戏引擎开发技术,帮助广大游戏开发者更好地开发出优秀的3D游戏。
一、游戏引擎是什么?在了解3D游戏引擎开发技术之前,先来看一下游戏引擎是什么?游戏引擎是指开发者为了编写电子游戏而开发的软件平台,这些软件平台通常由游戏渲染系统、物理引擎、声音引擎和网络引擎等组成。
游戏引擎能够提供给游戏开发者简单便捷的方式来创建游戏玩法、生成各种游戏元素并进行渲染工作。
二、 3D游戏引擎开发技术现在,我们来看看具体的3D游戏引擎开发技术。
1. 渲染引擎渲染引擎一般是3D游戏引擎的绘图核心,负责将3D模型、贴图等图像元素渲染至屏幕上。
在渲染引擎设计时,考虑的关键因素通常包括图形渲染流水线、着色器和模型加载等。
这些都是开发一款3D游戏不可或缺的技术。
2. 物理引擎物理引擎主要负责模拟游戏中各种元素的物理行为。
一般情况下,物理引擎会包含计算重力、弹性碰撞、摩擦等物理变量的算法。
这些算法是为了模拟在现实世界中物体的反应而开发的。
3. 动画引擎动画引擎是3D游戏引擎中呈现动态效果的关键技术。
它通过计算游戏角色和其他游戏元素的运动,来模拟游戏中各种运动和动作。
例如人物走路、跑步、攀爬等等。
4. 光照引擎光照引擎是3D游戏引擎设计的关键。
它主要负责计算游戏场景的各个位置处的光照强度,从而使游戏场景在照明和影子方面表现更加真实。
5. 编辑器编辑器对于3D游戏引擎开发来说也非常重要。
编辑器是游戏开发者进行游戏素材编辑和设定的工具,它包括场景编辑、模型编辑、材质编辑等功能。
通常,一个好的编辑器会或多或少具有良好的用户交互性和易用性,方便游戏开发者进行游戏素材的编辑。
三、如何选择合适的3D游戏引擎最后,我们来谈谈如何选择合适的3D游戏引擎。
3D游戏引擎开发与应用

3D游戏引擎开发与应用一、引言随着科技的不断发展,3D游戏已经成为一种流行的娱乐方式。
而3D游戏引擎则是支撑3D游戏运行的关键。
本文将介绍3D游戏引擎的开发与应用。
二、3D游戏引擎的定义3D游戏引擎是一个软件框架,它为游戏开发者提供了开发游戏所需要的全部工具和资源。
它提供了各种功能,如图形渲染、物理模拟、声音效果、场景管理、人工智能等。
它还提供一致的程序接口,允许游戏开发者使用同一套代码来开发不同平台的游戏。
三、3D游戏引擎的开发1.图形渲染引擎图形渲染引擎是3D游戏引擎的核心部分。
它负责处理各种3D渲染技术,如高级光照、阴影、反射等。
游戏引擎开发者需要理解这些技术,以便更好地设计和开发游戏引擎。
2.物理模拟引擎物理模拟引擎负责模拟各种物理现象,如重力、碰撞、摩擦等。
游戏引擎开发者需要了解各种物理学原理,以便实现更加真实的游戏体验。
3.声音效果引擎声音效果引擎负责处理各种声音效果,如回声、混响等。
游戏引擎开发者需要了解数字信号处理和声音合成等技术,以便打造更加逼真的游戏音效。
4.场景管理引擎场景管理引擎负责管理游戏中的各种场景,如地形、建筑物、人物等。
游戏引擎开发者需要了解3D建模和场景设计等技术,以便更好地实现游戏场景。
5.人工智能引擎人工智能引擎负责模拟各种人工智能现象,如路径规划、行为决策等。
游戏引擎开发者需要了解各种机器学习和神经网络等技术,以便实现更加智能的游戏角色。
四、3D游戏引擎的应用1.游戏3D游戏引擎最广泛的应用就是游戏。
它可以实现各种类型的游戏,如角色扮演、动作游戏、赛车游戏、射击游戏等。
2.虚拟现实3D游戏引擎可以用于虚拟现实技术的开发。
它可以模拟出各种虚拟场景,并且实现真实的交互效果。
3.工业仿真3D游戏引擎也可以用于工业仿真方面的开发。
它可以模拟各种工业操作场景,并且实现真实的物理效果。
4.教育培训3D游戏引擎可以用于教育培训的开发。
它可以模拟各种教育场景,并且实现真实的互动效果。
游戏开发行业必须懂的专业术语

游戏开发行业必须懂的专业术语游戏开发行业是一个充满创意与技术的行业,其中有许多专业术语是开发者们必须要了解和掌握的。
本文将向您介绍游戏开发过程中最常用的术语和其含义,帮助您更好地了解游戏开发。
1. 游戏引擎(Game Engine)游戏引擎是游戏开发过程中最核心的部分,它是指游戏开发者所使用的软件框架,用于控制游戏逻辑、渲染图形和处理输入等功能。
2. 三维建模(3D Modeling)三维建模是游戏开发中用于创建游戏场景、角色和道具等三维模型的过程。
开发者使用专业软件对物体进行建模、纹理贴图和动画处理,以增强游戏的真实感。
3. 可视化脚本语言(Visual Scripting)可视化脚本语言是一种无需编写代码的开发工具,开发者可以通过拖拽和链接图形化元素,实现游戏逻辑的设计和调整,提高开发效率。
4. 程序化生成(Procedural Generation)程序化生成是指使用算法和数学公式来生成游戏中的虚拟环境、地图、任务和道具等内容,以增加游戏的多样性和可玩性。
5. AI(Artificial Intelligence)AI是指人工智能,它在游戏中用于模拟人物、敌人或伙伴的智能行为,使游戏更具挑战性和逼真感。
6. 渲染(Rendering)渲染是将三维模型和纹理转化为图像的过程,游戏中的渲染技术可以影响游戏的视觉效果和性能。
7. 物理引擎(Physics Engine)物理引擎是用于模拟物体运动和碰撞等物理行为的软件组件,使游戏中的物体具有真实的重量、摩擦和动力学效果。
8. 网络同步(Network Synchronization)网络同步是指在多人游戏中,保持玩家之间的游戏状态和行为一致,使多个玩家能够实时交互和游玩。
9. FPS(Frames Per Second)FPS是指画面每秒的刷新率,它可以影响游戏的流畅度和玩家的体验。
较高的FPS意味着更平滑的画面和更快的反应速度。
10. Beta 测试(Beta Testing)Beta测试是指在游戏正式发布之前,将游戏提供给用户测试,收集用户反馈和意见,以改进游戏的质量和表现。
3D引擎介绍范文

3D引擎介绍范文
3D引擎是将形象或图像处理技术及游戏开发基础知识相结合后,应用程序开发引擎(API),它用来支持三维计算机游戏,仿真,建模和动画等程序的制作,是一种软件基础设施。
它可以根据系统用户的要求,实现系统计算机的特殊效果(如3D效果),它可以加速系统开发的过程,提高计算机的运行速度,减少程序开发的成本。
3D引擎是一种用于实现三维图形的计算机技术。
它使用对象中的多边形或着色器,把虚拟空间中的物体表示出来。
它可以实现物体的运动,旋转,缩放,调整光照等特效。
3D引擎开发中必须使用最新的计算机技术,它们包括但不限于高级的图形和图像处理的技术,多线程编程技术,基于物理的模拟技术,微机控制技术等。
一些3D引擎还具有实时3D图形处理和物理处理技术,可以模拟3D环境中物体的力学运动。
因为3D引擎提供了一个全面的技术环境,它可以创造出极具吸引力的游戏体验,从而吸引更多的游戏玩家。
玩家可以自由地在3D游戏环境中行动,可以进行角色的邀请,物体的交互,以及与游戏中其他玩家的交流。
你了解3D引擎吗?

三 引擎的组成部分
编写 游戏 引擎 的 第 一 个 工 作是 考 虑 好 特 效 ,如 同 起 高 楼要 打 好 地 基 那 样 ,如 果 投 有 长远 的 眼光 ,在 开 发 后 期要 加 人 新 特 效 时 ,困 难 会 太大 增 加 ,重 复 写 新 代码 的工 作 简 直 是 要 了 程 序 员 的命 , 不如 重新 设 计 ~ 个 引 擎 。规 划 好 特 效 后 ,我 们 要一 项 项开 始 完 成 游 戏
一
一
~
粒 子 系 统 ( a t l y tms p ri e c s se j 静 志 同 模 型 (t tc L s ai me h s mo es d l J
一
游戏引擎的定义
游戏 引擎 指游 戏 的枝 心程 序 .简 单 地 说 你 可
~
把 它看 成 是 一 个 开 发 平 台 .有 ~些 扩 展 接 口 .人 们 通 过这 些 接 口可 改 进 旧 游 戏 或开 发 出 新 的 游戏 这 个 平 台为 基 础 ,我 们 可 创 造新 的 』 物模 型 外 国场 、 景 ,加 人 许 多 新 的 音 效 或纹 理 .演 变 成 各 种 各 样 的 新
一
镜 面 ( r o s mi r r j ^ 1 ( o tl】 3 p r as 天 空 ( k bo s s Y xe ) 顶 点 效 果 器 ( e t x ha e s v re s d r )
一
E gn ) n i e ,究竞什 么是游戏 引擎' 它 的工作原 理如何 ? 主 流游 戏引擎 有哪 些, 这 些正 是本 文所要 探 讨的 问题 。
维普资讯
你 了解 3 D引擎吗?
文 /图 0 1 c c l 邱 晓 光 0 p oi [ x
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3D游戏引擎术语介绍作者:韩红雷1. 3D引擎(3D engine)、3D编程语言(3D language)和3D创作系统(3D authoringsystem)的区别是什么?3D引擎是3D图形函数库。
在因特网上有很多3D引擎,其中有一些还是免费的,有些商业化的引擎价格在50美元到25万美元之间。
3D引擎需要使用外部的开发系统来编写程序,使用最多的是是微软的VisualC++。
围绕3D引擎通过编程来开发游戏具有极大的自由度,但也需要很多的经验、工作和时间。
3D编程语言提供了一种更加容易的编写3D应用程序的方法,因为你使用的是一种专门为3D游戏设计的脚本语言来编写DirectX界面。
这种语言不受3D引擎速度和自由度的影响,并且避免了使用“真正”编程语言带来的问题。
很多3D 编程语言使用Basic——一种比较容易学习的语言,但由于其落后的语言结果,所以并不适合于编写大而复杂的游戏。
比较适合于当前游戏开发需要的是基于C 或者JavaScript的语言。
创作游戏最简单的方法是使用3D创作系统——它们有自己的3D引擎,并且具备可视化编辑器,可以很快地创作一个游戏原型。
当然了,只有很简单的游戏才可能绕开编程,创作系统一般都提供脚本语言来进行编程或定制游戏。
利用创作系统,再加上对独立3D引擎的编程,可以在很短的时间内创作一款游戏,很多大的游戏公司都开始使用创作系统来开发游戏了。
一些简单的创作系统针对FPS(First or third PersonShooters),不提供或者只提供有限的脚本编程。
尽管利用他们开发的FPS游戏并没有什么市场,但如果你不希望使用脚本或者不想让你的游戏商业化的话,也可以使用他们来开发游戏。
而多数的创作系统可以用来开发任何种类的游戏或者3D应用程序。
下面是一个当下流行的系统和引擎的对比表:**代表可以被显示,但需要第三方工具来创建。
$$$表示发行或者销售游戏需要额外收费或履行特定的条件。
该表格基于2005年秋的各厂家说明书,不保证所有数据的正确性。
如果有多种许可版本,选择价格适中的版本列出。
列出的Gamestudio/A6属性基于Games tudio网站最新的更新版本。
上表并不是要说明哪个系统更好。
即使功能很相似,各系统之间在速度或稳定性方面也会有差距。
对于你来说哪个系统更加出色主要取决于你的工程、目标、个人倾向,当然还有你的预算。
你可以通过分析屏幕截图、演示和使用试用版来决定你使用哪个系统。
2. 什么是渲染器(Renderer),什么是顶点变换和光照(T&L)?渲染器是3D引擎的核心部分,它完成将3D物体绘制到屏幕上的任务。
根据3 D硬件使用方法的不同,可以分为DirectX和OpenGL两种渲染器。
OpenGL 渲染器通过OpenGL图形库来使用3D硬件,多数3D卡支持这种方法。
而Dir ectX渲染器使用微软的DirectX库——归并到Windows操作系统中。
在老的3 D卡上面,OpenGL一般绘制速度较快一些,而在现代的3D卡上面,DirectX 表现则更加出色。
现在的OpenGL版本只有一个,而DirectX版本有很多:DX6基本的3D支持,没有硬件T&L,整合于Windows95中DX7与DX6相似,但具有硬件T&L,整合于Windows98中DX8有了重大改进,支持着色器,整合于Windows2000、ME、XP中DX9和DX8类似,具有类C的着色器语言,整合于WindowsXP SP2中在一个物体被绘制到屏幕之前,必须先计算它的光照,并且将它从3D世界转换到屏幕二维坐标系中(这两个过程称为光照和顶点变换,也就是T&L,Transfor mation&Lighting)。
渲染器可以使用自己的算法(软件T&L),也可以使用3D 硬件(硬件T&L,OpenGL和DirectX7或以上版本)来完成这个任务。
在老的系统上,必须模拟硬件T&L,所以运行速度很慢;而在新一代的3D卡(GeFor ce和Radeon)上面,硬件T&L运行十分快,并且比软件T&L光照效果要好。
一些渲染器对两种方法都支持,这样可以让硬件发挥最大的效果。
3. 什么是剔除(culling)系统和LOD系统?剔除系统可以只绘制出游戏场景中未被墙及其他物体遮挡的部分。
一般的剔除系统是基于BSP树或者入口(Portal)的。
BSP树系统是最快和最有效的场景组织结构,特别是对于室内场景来说,但是BSP树必须在场景编辑器中预计算。
渲染器不支持使用八叉树(Octree)来组织场景的剔除。
多数商业化3D引擎使用基于BSP树的剔除系统。
如果使用BSP树的剔除系统的话,室内渲染速度和场景大小、对象数目无关,甚至在老的PC上都可以使游戏以正常的帧率运行。
LOD系统可以增加室外场景的帧率。
如果摄像机离物体比较远的话,它可以自动将物体转换为“简单”形体,这样就减少了每帧要绘制的多边形数目。
4. 什么是阴影贴图(Shadow Mapping)?也叫做光照贴图(LightMapping)——这是一种可以在不减少帧率的情况下达到真实感光照和阴影效果的方法。
阴影贴图编辑器允许在场景中放置任意数目的静态光源,它会为每个面预计算光流量(lightflow)和静态阴影。
现代商业3D游戏中多数都会使用到阴影贴图。
如下图所示,平滑的光照和阴影极大地提升了游戏的氛围。
5. 什么是粒子系统粒子系统是一种特效发生器,它可以制造大量的小粒子来达到某种特殊的效果,比如烟雾、火焰或者爆炸。
好的粒子效果甚至比渲染好的动画都出色,正因为如此,当前几乎所有的游戏中都使用了粒子系统。
为了制造真实的粒子效果,粒子发生器必须在不影响帧率的情况下控制成千上万的粒子运动。
简单的粒子系统只允许设置粒子的一些属性,比如生存时间、重力或者颜色;复杂的粒子系统允许为每个粒子的运动函数编写代码。
一些粒子系统也包含了光线生成器来创建光线或者轨迹。
6. 什么是着色器(shader)?着色器为图形渲染增加了新的方案,它允许顶点和像素级别的变换(transform)、光照(lighting),以及在运行时间渲染方式的修改。
一个着色器是一段小脚本,运行在图形硬件上,为渲染到屏幕上的每个顶点或像素提供渲染方式。
这就为用户提供了一种新的灵活的像素渲染的方法。
顶点和像素着色器可以用来生成真实感水波、卡通风格、为模型覆盖毛发或者控制火山的熔岩等。
很多新的游戏引擎都支持着色器。
7. 什么是骨骼动画(bones animation)当前有两种模型动画的方式:顶点动画和骨骼动画。
顶点动画中,每帧动画其实就是模型特定姿态的一个“快照”。
通过在帧之间插值的方法,引擎可以得到平滑的动画效果。
在骨骼动画中,模型具有互相连接的“骨骼”组成的骨架结构,通过改变骨骼的朝向和位置来为模型生成动画。
骨骼动画比顶点动画要求更高的处理器性能,但同时它也具有更多的有点,骨骼动画可以更容易、更快捷地创建。
不同的骨骼动画可以被结合到一起——比如,模型可以转动头部、射击并且同时也在走路。
一些引擎可以实时操纵单个骨骼,这样就可以和环境更加准确地进行交互——模型可以俯身并向某个方向观察或射击,或者从地上的某个地方捡起一个东西。
多数引擎支持顶点动画,但不是所有的引擎都支持骨骼动画。
一些引擎包含面部动画系统,这种系统使用通过音位(phoneme)和情绪修改面部骨骼集合来表达面部表情和嘴部动作。
8. 什么是保存/读取系统(save/load system)?这种系统允许终端用户保存整个游戏状态,它自动“冻结”所有正在运行的脚本和对象以及游戏变量,将它们写到一个文件中,有时候也有一张屏幕截图。
如果要在以后的某个时间继续游戏或者在任意点离开和进入游戏场景的话,这种功能就十分必要。
存储整个游戏状态看起来并没有什么难度,但在实际开发的时候却并不简单,它必须在游戏引擎的核心代码中实现。
如果没有这个系统,为了保存游戏,就必须写一个脚本来存储每个变量和对象的状态——十分难使用,只有可能应用在简单的游戏中。
所以说来,多数商业化高端引擎都包括存取系统。
9. 什么是物理引擎?物理引擎通过为刚性物体赋予真实的物理属性的方式来计算它们的运动、旋转和碰撞反映。
为每个游戏使用物理引擎并不是完全必要的——简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。
然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏),通过编程的方法就比较困难了。
物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。
好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。
有些也支持非刚性体的物理属性,比如流体。
物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。
但是要注意,虽然有的系统在其特性列表中说他们有物理引擎,但其实是一些简单的加速和碰撞检测属性而已。
10. 什么是客户端/服务器(client/server)网络系统?现在的多人游戏存在两种基本的网络系统类型:点对点(peer-to-peer)和客户端/服务器。
在点对点系统中,所有连接起来的PC地位都是平等的,每个PC独立运行游戏,并且同其他PC都进行更新信息的传输。
而在客户端/服务器系统中,其中的一个PC是掌管和运行游戏的服务器,其他所有的PC都是客户端,只进行玩家属性的更新和从服务器接收信息。
为了不另外增加PC,一般情况下,一个PC在作为服务器的同时也是客户端。
点对点系统在最初的多人游戏中使用,但在现在的游戏中很少使用这种网络系统,因为它有很多缺陷。
点对点游戏不能保证同步运行,比如一个子弹在一台P C上击中了一个目标,但可能在另一台PC上却没有(这是一致性问题)。
另外,由于连接起来的PC通信经常冲突,所以连接到一起的玩家数目不可能太多。
超过4个玩家数目的联网游戏一般就要使用客户端/服务器系统。
区域系统(zonesy stem)是改进的客户端/服务器系统,它可以有多个服务器,游戏世界可以分割为由不同服务器控制的多个场景(区域)。
区域系统用在玩家数量无限的大型多人在线游戏中。
客户端/服务器系统中允许的玩家数量多少主要取决于多玩家通信时所需带宽的大小。
如果玩家移动很快而可预知的移动很少的话,需要的带宽就大。
在最坏的情况下(单服务器在线空中格斗游戏),利用modem连接的玩家数量一般要低于25个。
如果游戏世界被分成多个区域,并且玩家仅仅是走路或者交谈的话,即使1000个玩家也是可以同时在线的。
11. 什么是脚本编译器(script compiler)?多数的3D游戏系统包含脚本语言,可以用来控制物体或角色。