设为首页 收藏本站 放到桌面

游戏魂

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

搜索
游戏魂 门户 查看主题

游戏引擎综述(比较好的新手扫盲文档)

发布者: senocom | 发布时间: 2009-10-16 22:30| 查看数: 68836| 评论数: 1173|帖子模式

本帖最后由 senocom 于 2009-10-16 22:34 编辑

让我们首先来看看一个游戏引擎和游戏本身之间的主要区别。 许多人们会混淆游戏引擎和整个游戏 。这有点像把一个汽车发动机和整个汽车混淆起来一样 。 你能够从汽车里面取出发动机, 建造另外一个外壳,再使用发动机一次。 游戏也像那。 游戏引擎被定义为所有的非游戏特有的技术。 游戏部份是被称为 '资产' 的所有内容 (模型,动画,声音,人工智能和物理学)和为了使游戏运行或者控制如何运行而特别需要的程序代码, 比如说AI--人工智能。
渲染器
  让我们从渲染器来开始游戏引擎设计的探讨吧, 我们将从游戏开发者(本文作者的背景)的角度来探讨这些问题。事实上,在本文的各个段落,我们将常常从游戏开发者的角度探讨, 也让您像我们一样思考问题!
  什么是渲染器,为什么它又这么重要呢?好吧,如果没有它,你将什么也看不到。它让游戏场景可视化,让玩家/观众可以看见场景,从而让玩家能够根据屏幕上所看到的东西作出适当的决断。 尽管我们下面的探讨可能让新手感到有些恐惧,先别去理会它。 渲染器做些什么?为什么它是必须的?我们将会解释这些重要问题。


【全文较长 请下载观看】

  当构造一个游戏引擎的时候, 你通常想做的第一件事情就是建造渲染器。 因为如果看不见任何东西 – 那么你又如何知道你的程序代码在工作呢? 超过 50% 的 CPU 处理时间花费在渲染器上面; 通常也是在这个部分,游戏开发者将会受到最苛刻的评判。 如果我们在这个部分表现很差,事情将会变得非常糟糕, 我们的程序技术,我们的游戏和我们的公司将在 10 天之内变成业界的笑话。 它也是我们最依赖于外部厂商和力量的地方,在这里他们将处理最大限度的潜在操作目标。 如此说来, 建造一个渲染器确实不象听起来那么吸引人(事实如此), 但如果没有一个好的渲染器, 游戏或许永远不会跻身于排行榜前10 名。
  如今,在屏幕上生成像素,涉及到 3D 加速卡, API ,三维空间数学, 对 3D 硬件如何工作的理解等等。对於主机(游戏机)游戏来说,也需要相同类型的知识,但是至少对于主机, 你不必去尝试击中一个移动中的目标。 因为一台主机的硬件配置是固定的 "时间快照", 和PC(个人计算机)不同, 在一台主机的生命期中,它的硬件配置不会改变。
  在一般意义上,渲染器的工作就是要创造出游戏的视觉闪光点,实际上达到这个目标需要大量的技巧。3D图形本质上是用最少的努力创造出最大效果的一门艺术, 因为额外的 3D 处理在处理器时间和和內存带宽方面都是极为昂贵的。 它也是一种预算, 要弄清楚你想在什么地方花费处理器时间,而你宁愿在什么地方节省一些从而达到最好的整体效果。 接下来我们将会介绍一些这方面的工具,以及怎样更好的用它们让游戏引擎工作。

建造3D世界
  最近,当我和一位从事计算机图形方面工作长达数年之久的人会谈时,她向我吐露道, 当她第一次看到实时操纵计算机 3D 图象时, 她不知道这是怎么实现的, 也不知道计算机如何能够存储 3D 图象。 今天这对于在大街上的普通人来说或许是真实的,即使他们时常玩 PC 游戏, 游戏机游戏, 或街机游戏。
  下面我们将从游戏设计者的角度讨论创造 3D 世界的一些细节,你也应该看一看 Dave Salvator 所写的“3D 管线导论“,以便对3D 图象生成的主要过程有一个整体的了解。
  3D 物体(对象)被储存成 3D 世界中的一系列点(被称为顶点), 彼此之间有相互关系,所以计算机知道如何在世界中的这些点之间画线或者是填充表面。 一个立方体由8个点组成,每个角一个点。立方体有6个表面, 分别代表它的每一个面。 这就是 3D 对象储存的基础。 对于一些比较复杂的 3D 物体, 比如说一个 Quake 的关卡,将有数以千计(有时数以十万计)的顶点, 和数以千计的多边形表面。
  参见上图的线框表示(注:原文在这里有一幅图)。 本质上与上面的立方体例子类似, 它仅仅是由许许多多的小多边形组成的一些复杂场景。模型和世界如何储存是渲染器的一部份功能, 而不属于应用程序/游戏部份。 游戏逻辑不需要知道对象在內存中如何表示, 也不需要知道渲染器将怎样把他们显示出来。 游戏只是需要知道渲染器将使用正确的视野去表示对象, 并将在正确的动画幀中把正确的模型显示出来。
  在一个好的引擎中,渲染器应该是可以完全被一个新的渲染器替换掉, 并且不需要去改动游戏的一行代码。许多跨平台引擎, 而且许多自行开发的游戏机引擎就是这样的,如 Unreal 引擎, --举例来说, 这个游戏 GameCube 版本的渲染器就可以被你任意的替换掉。
  让我们再看看内部的表示方法—除了使用坐标系统,还有其他方法可以在计算机內存里表示空间的点。在数学上,你可以使用一个方程式来描述直线或曲线, 并得到多边形, 而几乎所有的 3D 显示卡都使用多边形来作为它们的最终渲染图元。 一个图元就是你在任何显示卡上面所能使用的最低级的绘制(渲染)单位,几乎所有的硬件都是使用三个顶点的多边形(三角形)。 新一代的 nVidia 和 ATI 显卡可以允许你以数学方式渲染(被称为高次表面), 但因为这不是所有图形卡的标准, 你还不能靠它作为渲染策略。
  从计算的角度来看,这通常有些昂贵,但它时常是新的实验技术的基础,例如,地表的渲染,或者对物件锐利的边缘进行柔化。 我们将会在下面的曲面片小节中更进一步介绍这些高次表面。
[doc]3558[/doc]

附件: 你需要登录才可以下载或查看附件。没有帐号?注册

最新评论

lscman 发表于 2009-10-17 08:38:41
什么是渲染器,为什么它又这么重要呢?
步园 发表于 2009-10-17 10:55:02
回复看下,多谢楼主
nhki7173 发表于 2009-10-17 11:38:32
我就喜欢看很长的文档
god 发表于 2009-10-17 14:01:36
我来脱盲的。。。
kolongyu 发表于 2009-10-17 14:36:03
我就喜欢看很长的文档
yux565 发表于 2009-10-17 15:59:49
看看~~~~~~~~~~~~~~~~~~~~~~
斯文的虫 发表于 2009-10-17 16:39:52
追踪楼主的脚步~~~
tsirxp 发表于 2009-10-17 23:30:11
[发帖际遇]: tsirxp被游戏魂附身, 获得佣金金币134.


回复看看学习一下
Nefarian 发表于 2009-10-18 00:12:12
回一个,参考参考
fanjiwo 发表于 2009-10-18 10:44:28
ding  cankaocankao
a5182561 发表于 2009-10-18 10:47:30
回复下载  新人学习
layfly110 发表于 2009-10-18 11:44:37
看看~~~~~~~~
夜雨 发表于 2009-10-18 12:28:18
参考参考,希望有所帮助
xpstarhere 发表于 2009-10-18 12:35:47
嘿!哥们!你在游戏魂潜水已达5天,因此只能游览该主题的部分内容,请回复本贴后继续浏览
halfelf 发表于 2009-10-18 18:06:20
这个一定要学习的
yhryan 发表于 2009-10-18 22:06:05
老规矩,冒泡先。。
ly2cn 发表于 2009-10-19 00:04:59
看看看看看看
yi706 发表于 2009-10-19 07:49:16
顶。。。。。。。。。。。。。。
wwwmlt 发表于 2009-10-19 09:14:50
谢谢,刚入行,很重要
最新新闻
    现在是
    回顶部