fbpx
维基百科

二维图像引擎

二维图像引擎(以下简称引擎)是主要使用在二维游戏中,绘制图像,并向外部表达图像的系统。在三维游戏中,亦有使用二维引擎来绘制游戏界面以及一些二维元素。

历史 编辑

概述 编辑

一般来说,一套引擎可以使用在多个不同的游戏中,即“可重用性”,由于引擎研发的投资较大,一个商业公司往往开发一款引擎,反复用于多款游戏,从而获得较高利润。如大宇公司的《轩辕剑系列》其正传和外传就是采用同一款引擎开发。也有本身不制作游戏,专门开发引擎并出售的公司。这样的引擎也称作“商业引擎”。出于游戏开发周期和开发成本的考虑,一些商业游戏公司更愿意购买“商业引擎”。

游戏引擎的程序基础是建立在使用图形API函数基础之上的,而不是直接控制显卡,主要适用于2D图像的API是DirectX,而纯2D图形API往往不能提供更丰富的图像操作支持,一些引擎也使用用于3D图像的API如OpenGLDirect3D等来模拟2D。

引擎组成 编辑

由于二维游戏的图像都是平面结构,所以图像引擎在显示图像之前也往往只对图像本身进行处理,而不像三维游戏那样还要处理图像周围的环境。这种处理一般是将图像伸缩,变形,色彩处理,图像合成等。图像引擎还可分为以下几个部分。

角色图像 编辑

在二维游戏中,角色的动作是靠一系列由美工预先设计好的图像,按照一定的速率连续显示来实现。就像播放电影的方法一样。而考虑到角色移动带有方向性,角色的一种动作往往要以不同的方向绘制许多组。在早期DOS游戏中,为了节约资源,角色动作往往只有四个方向,而后来的RPG游戏则往往是八个方向,或十二个方向。方向的多少影响着角色动作的流畅度,也极大的影响游戏占用资源的多少。一种缓和的办法是采用“纸娃娃系统”。

场景地图 编辑

 
典型的30°地图贴图划分情况

场景地图是承载全部游戏内容的场所。引擎对付地图的办法大致可分为两种:整版式和贴图式。前者是直接将整张图像作为地图来显示,这样的好处是美工可以针对不同的场景单独绘制不同的地图,但由于地图的不可拆分性,整版式地图也是最占用资源的。后者贴图式则正是针对前者的劣势,在贴图式地图中,美工并不直接绘制地图,而是绘制许多细小的地图元素,如一块草地,一个池塘,一棵树等,并在此之后,将数量一定的元素组合併接成完整地图。这种解决办法的劣势就是场景变化度不高,容易出现完全相同的区域。

在贴图式场景地图系统中,每个地图都是由一个贴图方阵组成,根据单个贴图的形状,可以将贴图式地图分为90°和45°和30°地图三种。90°的贴图单元成矩形,一些早期DOS游戏都是这种;45°的贴图单元成正方形,一些早期RPG多用此种,如《网络创世纪》;30°则是菱形,是时下比较流行的一种。三者相比起来,30°表现的场景最为自然。然而一些采用90°贴图的游戏有意将建筑,设施等图像倾斜绘制,模拟30°贴图的画面效果,如《传奇》。

一般,引擎习惯将角色固定在屏幕正中央,并移动场景来实现角色行动的效果。这种效果也称“地图卷动”。

动态&光影 编辑

在二维游戏中,或多或少的会使用一些特殊的效果,如图像的淡入淡出,颜色的加强等。游戏引擎中,一般有专门的系统负责处理图像,由于这部分代码比较常用且运算量大,好的引擎多用ASM语言书写代码。

此外,游戏中的特效,如火焰,魔法技能,流水等都是引擎需要处理的内容。

其他技术 编辑

脏矩形技术(Dirty Rectangle) 编辑

在2D游戏中,每次更新屏幕,都将会将整个屏幕上的图像重新绘制一遍,而更新的内容往往不是很多,甚至只是一个小区域,强制重绘带来了很大的资源浪费,尤其是在一些休闲游戏桌面游戏中体现明显。脏矩形技术正是利用只更新变化区域来达到提高引擎效率的目的。[1]在脏矩形系统中,屏幕上更新的区域被称为“脏矩形”,引擎仅仅将脏矩形部分重绘,而其他部分保持原样。

alpha混合 编辑

由于2D游戏的平面性,导致一个物体对另一个物体时有覆盖的情况。被覆盖的物体则不可见,可能给玩家带来不便。通常,游戏开发者会将一部分被遮盖的物体进行透明化处理。[2]这种透明化算法被称为“alpha混合”,混合的对象主要是角色图像,以便让玩家知道被遮挡的角色身在何处。

此外,引擎在处理一些火焰,流水时,也常常使用透明化算法,使之更为真实。

图像压缩 编辑

在2D游戏中,图像是游戏中最大的资源,而开发者为了压缩游戏所占的空间大小,往往在图像压缩上大作文章。被压缩后的图像,经过归类,被放置在一个个“打包文件”中,通常,这些文件以.lib .pak作为文件名后缀。

参见 编辑

参考文献 编辑

  1. ^ 脏矩形的实例. [2007-06-01]. (原始内容于2019-09-19).  (页面存档备份,存于互联网档案馆
  2. ^ alpha混合简述. [2007-06-02]. (原始内容于2019-09-21).  (页面存档备份,存于互联网档案馆

外部链接 编辑

二维图像引擎, 以下简称引擎, 是主要使用在二维游戏中, 绘制图像, 并向外部表达图像的系统, 在三维游戏中, 亦有使用二维引擎来绘制游戏界面以及一些二维元素, 目录, 历史, 概述, 引擎组成, 角色图像, 场景地图, 动态, 光影, 其他技术, 脏矩形技术, dirty, rectangle, alpha混合, 图像压缩, 参见, 参考文献, 外部链接历史, 编辑概述, 编辑一般来说, 一套引擎可以使用在多个不同的游戏中, 可重用性, 由于引擎研发的投资较大, 一个商业公司往往开发一款引擎, 反复用于多款游戏,. 二维图像引擎 以下简称引擎 是主要使用在二维游戏中 绘制图像 并向外部表达图像的系统 在三维游戏中 亦有使用二维引擎来绘制游戏界面以及一些二维元素 目录 1 历史 2 概述 2 1 引擎组成 2 1 1 角色图像 2 1 2 场景地图 2 1 3 动态 amp 光影 3 其他技术 3 1 脏矩形技术 Dirty Rectangle 3 2 alpha混合 3 3 图像压缩 4 参见 5 参考文献 6 外部链接历史 编辑概述 编辑一般来说 一套引擎可以使用在多个不同的游戏中 即 可重用性 由于引擎研发的投资较大 一个商业公司往往开发一款引擎 反复用于多款游戏 从而获得较高利润 如大宇公司的 轩辕剑系列 其正传和外传就是采用同一款引擎开发 也有本身不制作游戏 专门开发引擎并出售的公司 这样的引擎也称作 商业引擎 出于游戏开发周期和开发成本的考虑 一些商业游戏公司更愿意购买 商业引擎 游戏引擎的程序基础是建立在使用图形API函数基础之上的 而不是直接控制显卡 主要适用于2D图像的API是DirectX 而纯2D图形API往往不能提供更丰富的图像操作支持 一些引擎也使用用于3D图像的API如OpenGL Direct3D等来模拟2D 引擎组成 编辑 由于二维游戏的图像都是平面结构 所以图像引擎在显示图像之前也往往只对图像本身进行处理 而不像三维游戏那样还要处理图像周围的环境 这种处理一般是将图像伸缩 变形 色彩处理 图像合成等 图像引擎还可分为以下几个部分 角色图像 编辑 在二维游戏中 角色的动作是靠一系列由美工预先设计好的图像 按照一定的速率连续显示来实现 就像播放电影的方法一样 而考虑到角色移动带有方向性 角色的一种动作往往要以不同的方向绘制许多组 在早期DOS游戏中 为了节约资源 角色动作往往只有四个方向 而后来的RPG游戏则往往是八个方向 或十二个方向 方向的多少影响着角色动作的流畅度 也极大的影响游戏占用资源的多少 一种缓和的办法是采用 纸娃娃系统 场景地图 编辑 nbsp 典型的30 地图贴图划分情况场景地图是承载全部游戏内容的场所 引擎对付地图的办法大致可分为两种 整版式和贴图式 前者是直接将整张图像作为地图来显示 这样的好处是美工可以针对不同的场景单独绘制不同的地图 但由于地图的不可拆分性 整版式地图也是最占用资源的 后者贴图式则正是针对前者的劣势 在贴图式地图中 美工并不直接绘制地图 而是绘制许多细小的地图元素 如一块草地 一个池塘 一棵树等 并在此之后 将数量一定的元素组合併接成完整地图 这种解决办法的劣势就是场景变化度不高 容易出现完全相同的区域 在贴图式场景地图系统中 每个地图都是由一个贴图方阵组成 根据单个贴图的形状 可以将贴图式地图分为90 和45 和30 地图三种 90 的贴图单元成矩形 一些早期DOS游戏都是这种 45 的贴图单元成正方形 一些早期RPG多用此种 如 网络创世纪 30 则是菱形 是时下比较流行的一种 三者相比起来 30 表现的场景最为自然 然而一些采用90 贴图的游戏有意将建筑 设施等图像倾斜绘制 模拟30 贴图的画面效果 如 传奇 一般 引擎习惯将角色固定在屏幕正中央 并移动场景来实现角色行动的效果 这种效果也称 地图卷动 动态 amp 光影 编辑 在二维游戏中 或多或少的会使用一些特殊的效果 如图像的淡入淡出 颜色的加强等 游戏引擎中 一般有专门的系统负责处理图像 由于这部分代码比较常用且运算量大 好的引擎多用ASM语言书写代码 此外 游戏中的特效 如火焰 魔法技能 流水等都是引擎需要处理的内容 其他技术 编辑脏矩形技术 Dirty Rectangle 编辑 在2D游戏中 每次更新屏幕 都将会将整个屏幕上的图像重新绘制一遍 而更新的内容往往不是很多 甚至只是一个小区域 强制重绘带来了很大的资源浪费 尤其是在一些休闲游戏 桌面游戏中体现明显 脏矩形技术正是利用只更新变化区域来达到提高引擎效率的目的 1 在脏矩形系统中 屏幕上更新的区域被称为 脏矩形 引擎仅仅将脏矩形部分重绘 而其他部分保持原样 alpha混合 编辑 由于2D游戏的平面性 导致一个物体对另一个物体时有覆盖的情况 被覆盖的物体则不可见 可能给玩家带来不便 通常 游戏开发者会将一部分被遮盖的物体进行透明化处理 2 这种透明化算法被称为 alpha混合 混合的对象主要是角色图像 以便让玩家知道被遮挡的角色身在何处 此外 引擎在处理一些火焰 流水时 也常常使用透明化算法 使之更为真实 图像压缩 编辑 在2D游戏中 图像是游戏中最大的资源 而开发者为了压缩游戏所占的空间大小 往往在图像压缩上大作文章 被压缩后的图像 经过归类 被放置在一个个 打包文件 中 通常 这些文件以 lib pak作为文件名后缀 参见 编辑三维图像引擎 纸娃娃系统 游戏引擎参考文献 编辑 脏矩形的实例 2007 06 01 原始内容存档于2019 09 19 页面存档备份 存于互联网档案馆 alpha混合简述 2007 06 02 原始内容存档于2019 09 21 页面存档备份 存于互联网档案馆 外部链接 编辑 取自 https zh wikipedia org w index php title 二维图像引擎 amp oldid 76776255, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。