返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • 游戏程序设计与引擎
  • 新商品上架
    • 作者: 无著
    • 出版社: 图书其它
    • 出版时间:2017.2
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    江莱图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 无著
    • 出版社:图书其它
    • 出版时间:2017.2
    • ISBN:9786904512764
    • 版权提供:图书其它

    编辑

    本书面向艺术类的游戏设计专业(方向)学生,以较易理解与操作的案例化教学方式,将游戏程序设计与引擎应用的知识点融入其中。在分析方法的同时,举一反三,同时引入计算机思维的内容。旨在让读者在理解游戏开发技术的同时,为游戏策划、游戏TA(技术美工)、游戏开发技术等职位建立知识储备,为后续更深入地理解游戏开发流程与技术打下基础。

    媒体评论

    评论

    目录

     

    目录

    *章游戏程序设计概述1

    1.1游戏开发的进化1

    1.1.1数字游戏产生前1

    1.1.2数字游戏的产生2

    1.1.3复杂的硬件促生丰富的游戏内容3

    1.2编程语言与脚本语言4

    1.2.1编程语言与脚本语言的区别4

    1.2.2主要的编程语言与脚本语言5

    1.3游戏基本类型7

    1.3.1从数字游戏的介质中区分游戏类型7

    1.3.2从数字游戏的内容中区分游戏类型8

    1.4游戏中的常见功能13

    1.4.1场景的动态加载13

    1.4.2角色动作系统管理及驱动14

    1.4.3自动寻路系统15

    1.4.4资源的回收与优化15

    1.4.5回合制战斗系统16

    1.4.6塔防系统中的数据管理16

    小结18

    第2章Flash游戏开发基础19

    2.1Flash游戏开发历程19

    2.1.1Flash的诞生与早期的发展19

    2.1.2Flash在游戏设计领域的起步19

    2.1.3Flash在社交网页游戏中的主导地位建立20

    2.2Flash基本要素21

    2.2.1新版本Flash CC的特征内容21

    2.2.2Flash基本概念21

    2.3ActionScript脚本25

    2.4程序设计的必要概念26

    2.4.1变量、常量及数据类型27

    2.4.2变量作用域31

    2.4.3函数、形参、实参32

    2.5程序的基本结构33

    2.5.1顺序结构33

    2.5.2选择结构33

    2.5.3循环结构35

    2.6事件36

    2.6.1Event事件类型37

    2.6.2MouseEvent鼠标事件类型37

    2.6.3KeyboardEvent键盘事件类型38

    2.6.4TimerEvent计时器事件类型38

    2.7游戏中的元素39

    2.7.1美术素材39

    2.7.2音频素材40

    2.7.3视频素材40

    小结41

    目录游戏程序设计与引擎第3章记忆双消游戏实例42

    3.1游戏策划中的功能设计42

    3.1.1消除类游戏简述42

    3.1.2本案例的功能计划43

    3.2场景元素的组织与动态生成44

    3.2.1游戏的开始界面44

    3.2.2游戏的主运行界面46

    3.3游戏控制的实现52

    3.3.1单击的控制52

    3.3.2消除的实现53

    小结55

    第4章飞行*类游戏实例56

    4.1游戏策划中的平衡性设计56

    4.2飞行*游戏功能分析56

    4.2.1飞行*游戏的参考56

    4.2.2飞行*游戏功能分析58

    4.3战斗场景的控制59

    4.4战斗系统与资源回收64

    4.4.1敌方飞机的不断出现与攻击64

    4.4.2敌我双方*的功能实现65

    4.5动态表现与游戏68

    小结69

    第5章游戏引擎概述70

    5.1游戏引擎的基本概念70

    5.2游戏引擎的功能模块72

    5.3主流游戏引擎分析73

    5.3.1Unreal虚幻引擎74

    5.3.2CryEngine76

    小结79

    第6章Unity开发入门80

    6.1Unity介绍80

    6.1.1使用Unity开发的游戏80

    6.1.2Unity游戏引擎的发展历程83

    6.1.3Unity 5及其技术优势83

    6.2安装与运行84

    6.2.1Unity的安装84

    6.2.2Unity的激活87

    6.2.3样例工程分析90

    6.2.4工程文件的新建与维护93

    6.3Assets Store94

    6.4C#脚本95

    小结105

    第7章打地鼠游戏实例106

    7.1游戏对象与地形106

    7.1.1游戏对象的类型106

    7.1.2Terrain地形109

    7.2游戏的视角115

    7.2.1*人称视角游戏115

    7.2.2第二人称视角游戏116

    7.2.3第三人称视角游戏116

    7.3使用2D ToolKit插件包构建游戏场景117

    7.3.12D ToolKit概述117

    7.3.22D ToolKit基本使用117

    7.3.3打地鼠场景构建119

    7.4地鼠的动态生成与受控121

    小结122

    第8章投射类游戏实例123

    8.1Unity中的物理系统123

    8.1.1重力与摩擦力系统123

    8.1.2物理材质系统125

    8.1.3碰撞检测128

    8.2游戏功能计划与开发周期预算130

    8.2.1游戏的功能计划131

    8.2.2游戏的功能点分析及周期预算131

    8.2.3开发流程控制133

    8.3主体功能设计135

    8.3.1飞镖的投射及控制135

    8.3.2飞镖的击中与稻草人控制137

    小结138

    第9章增强现实与独立游戏139

    9.1增强现实139

    9.1.1增强现实的产生139

    9.1.2增强现实应用的领域140

    9.2基于高通Vuforia SDK的AR实现142

    9.2.1关于高通公司及其Vuforia142

    9.2.2与Unity配合的增强现实开发142

    9.3基于微软Kinect的体感游戏开发146

    9.3.1微软体感硬件Kinect146

    9.3.2Unity和Kinect交互的环境配置147

    9.3.3用于Kinect开发的包中包含的资源147

    9.3.4在工程中使用KinectWrapperPackage包148

    9.4独立游戏与实验游戏150

    9.4.1独立游戏代表作: 陈星汉《旅程》150

    9.4.2独立游戏代表作——《机械迷城》151

    小结153

    *0章跨平台游戏开发154

    10.1跨平台趋势154

    10.1.1跨平台前期的障碍154

    10.1.2跨平台发展的契机154

    10.2网页游戏平台及其特点156

    10.3手机游戏平台及其特点158

    10.4电视游戏平台及其特点160

    小结161

    参考文献162 

    在线试读


    第5章游戏引擎概述在讲解了基于Flash的游戏设计之后,以下进入本书的第二部分——游戏引擎,并通过一款名为Unity的游戏引擎重点分析在应用中的设计实现。1. 游戏引擎的由来游戏引擎的产生是游戏制作产业化的结果。当一个团队用原生开发的方式设计了自己的*款*类游戏,在制作过程中留存一些*游戏的脚本和开发经验。半年后该团队对这款游戏进行升级,对原有的游戏内容进行了优化维护并新加入一些功能模块。到第二年,该团队觉得这款*游戏相当成功,便决定从底层开始重新设计*游戏的第二代产品,虽然是从*基本结构重新开发,但过程中仍然有选择地使用了*代产品的一些脚本。此时,从*代产剥离出来的脚本单元经第二代加工后,成了更为通用的模块。可想而知,这些模块到了第三代,基本可以直接拿来使用了。到了第四代产品,该团队觉得自己关于游戏的经验已经相当丰富了,手上的功能模块也相当成熟了。于是决定做一个更具有公共性的*游戏整合系统,通过这个系统,只要将美术元素进行替换并加入自己一些特征表现的脚本,便可以重新构建一个独立的*游戏,到这里,一款*类的游戏引擎便产生了。这正是早期游戏引擎的诞生过程,1992年,3D Realms公司的约翰·卡马克发布了一款名为《德军司令部》(Wolfenstein 3D)的*人称*游戏,并在此基础上加入了ID Software公司后,以Wolfenstein 3D为名发布了游戏引擎。后来,同样是这家公司,发布了的DOOM系列游戏引擎,与之同名的游戏中文名译为《毁灭战士》,正是基于强大的DOOM引擎,《毁灭战士》系列一直走在游戏界3D显示技术前沿。2. 游戏引擎的概念从属性角度看,游戏引擎是一款用于游戏开发的工具软件,同时也是一款行业软件,专业化程度较高。从结构角度看,游戏引擎集成了游戏设计的基础模块,同时制定了规范的游戏开发流程,通过丰富的接口提升了游戏开发效率。引擎一词音译自英文的Engine,该单词实际的含义为发动机。其实将游戏引擎换成“游戏发动机”更为贴切。众所周知,发动机是汽车或是飞机的心脏,决定着其运行性能与稳定性。发动机动力强劲,对应的行驶速度自然够高,同时,发动机的转速平顺,对应的速度切换自然也会比较平稳。游戏的发动机(引擎)也是如此。第5章游戏引擎概述游戏程序设计与引擎游戏是将剧情、关卡、美术元素、音乐以及各项操作体验的内容组织起来,呈现给玩家。玩家在体验过程中,需要的是精美的画面、精准的操作以及流畅的动态表现效果,这一切的核心都源自游戏引擎的驱动。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等。”经过不断的演变进化,如今的游戏引擎已经发展成为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程的所有重要环节。3. 游戏引擎的分类从游戏引擎的由来可知,游戏引擎早期的发展更偏向于专注某个分支的游戏领域。在接下来游戏引擎的发展过程中,一方面是自身的基因所致,另一方面也是侧重差异化竞争,故不同的引擎富有各自不同的特点。游戏引擎的分类没有严密标准,实际中游戏引擎自身的不断演变进化,同时也在不断地突破分类的局限。通常情况下从两个方面对游戏引擎进行划分,首先是从其画面特性,分为二维游戏引擎与三维游戏引擎。如果Flash也可归为引擎类别,则其是典型的二维游戏引擎。另一款典型的二维游戏引擎为Cocos2D,它是一个开源的二维游戏框架。*初的Cocos2D框架是使用Python编写的,基于Pyglet开发,目前Cocos2D框架已经被移植到了多种语言和平台上。另具代表性的引擎还有: 基于Ajax的neabEngine引擎、基于OpenGL的ika引擎、基于SDL的Finex等。相对而言,专注于二维的游戏引擎占比较小,大多数引擎兼顾二维与三维的开发。三维游戏引擎非常丰富,除了本书重点分析的Unity,还包括本章将介绍的CryEngine和Unreal这些大作,同时也包括一些小型的如Web3D、GameStudio、Blitz3D等。其次从引擎的产品属性上划分,通常分为免费游戏引擎、开源游戏引擎及商业游戏引擎。免费游戏引擎很容易理解,整个产品免费授权,无论是个人用户还是商业用户均可以免费获得,这类游戏引擎相对较少,当然也不乏产品,如前文提到的Doom引擎,即已经免费向公众开放。开源游戏引擎同时具有免费的特征,但其拥有另一个更大的特征——完全开放,开放到源代码。这类产品引擎公司提供的相对较少,更多的是由组织发起,以开源精神集中创作的,该类引擎主要源自Linux平台,在基因中保留着很大程度的Linux开源精神。其代表作有当前较为热门的Cocos2D引擎,另一个具有代表性的产品为HGE引擎,它基于DirectX、使用C 作为语言系统,开发环境依附于Visual Studio,通过其提供的基础类与富有特性的中间件,可以方便地开发出运行于Windows平台的二维游戏。商业游戏引擎是当前游戏引擎的核心,本书主要分析的Unity、Unreal、CryEngine都是主流的商业引擎。这类引擎功能强大,资源丰富,同样提供优质的配套服务等,售价也相对较高,当然Unity除外。Unity Pro版本的售价只有1500美元,这在游戏引擎中已属相当廉价的。Unreal这样的游戏引擎即便是基本的结构,售价通常也在百万美元以上,如果搭载更多的功能模块,添加更多的服务内容,售价千万美元也是正常的,但近年来售价在持续降低。值得一提的是,在开源方面还有一些特征化的引擎,主攻某一特定方面,虽然不被列入游戏引擎家族,但同样在游戏引擎中占据着相当重要的地位。如专攻物理表现的Box2D,它采用C 语言,对刚体材质与物理效果做了大量封装,提供大量丰富的API接口,使用者可以通过Box2D简单、方便地创建自己的物理环境。Box2D不但可以通过Visual Studio开发Windows平台的游戏,还可以结合Xcode为 Mac平台进行游戏开发,同时还可以结合Flash使用ActionScript开发跨平台的游戏。1. 动态表现游戏是动态的艺术,首先是游戏画面富含动态元素,其次是大部分游戏中的整个世界都在动态摄像机控制下变化画面。如何让动态画面流畅地播放并可控制,进一步,如何提供更为的工具制作动态效果,都是游戏引擎的核心任务之一。除去简单地变化元件的大小、角度及位置,在二维游戏设计中,动态表现主要体现在逐帧的画面播放中,对逐帧元件的存储与读取方式很大程度上体现了一款游戏引擎是否拥有更好的优化能力。三维游戏设计中,动画系统主要分两种: 一种是骨骼动画系统,另一种是模型动画系统,前者用内置骨骼带动物体产生运动,动作比较灵活,但面与面之间的实时计算比较复杂,后者则在模型的基础上直接进行变形并保存关键帧,比较常见。使用骨骼动画较为重要的一个应用是布娃娃系统(Ragdoll Physics),通过对骨骼的动态计算,再结合物理的碰撞计算,显然画面表现会丰富很多。的游戏《GTA》(侠盗飞机)在其第四部发布时,便集成了布娃娃系统,当角色被*射中后,会出现中弹后退甚至倒地的一系列动作,这些动作效果通过受力的关联计算得出,非常细腻、真实。2. 碰撞与物理材质系统碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。在二维与三维游戏中都有着广泛的运用。二维游戏检测平面素材的轮廓边缘,三维游戏则检测物体的整个外边缘。边缘检测是一项计算极为复杂并消耗资源的工作,一个算法是该类计算执行时保持流畅性画面的保障。以Flash为例,其对位图的边缘检测相对简单,一旦位图出现的部分区域Alpha透底后,Flash提供的内置碰撞检测便失效了,于是便需要自己编写碰撞算法或者寻求第三方开源代码的支持。碰撞后自然就要讨论碰撞结果,铁球掉在石头上、橡胶上及铁块上的结果显然是不一样的,自然界中存在极为复杂的材质系统。要想告诉游戏玩家这是真实的石头,那就需要首先在视觉上给出的反馈与物理世界基本保持一致。于是游戏引擎大多集成了一套完整的物理材质系统,如以Unity为例,其将物理世界的材质抽象成基本类型,如木头、冰块、铁块、橡胶等,同时提供丰富的接口,可由设计者根据各材质的物理属性自定义材质类型。这一部分在后续章节中将展开分析。3. 渲染与实时计算渲染是引擎*重要的功能之一,现实世界是因为有光照才让人有了视觉,光的冷暖直接影响着人的情绪,透光性与折射率的不同,给予人们五彩缤纷的世界。影子的变化让人类得以从细节上分辨事物的空间关系。所以对光影的渲染能力是游戏画面品质的重要保障。渲染重点表现在三维游戏的设计中,三维模型的核心魅力是其在空间结构上的表现,游戏中模拟的世界自然也是有光的存在的,无论是平行光源的自然光还是烘托气氛的点光源,都必须真实地作用在模型上,随着模型的运动进行实时地改变。于是,如何实时地计算反射、折射以及更复杂的连续反射、折射,便是考量一款游戏引擎的性能优劣的重要指标了。4. 网络与硬件支持引擎还有一个重要的职责就是负责玩家与计算机之间的沟通,处理来自键盘、鼠标、摇杆和其他外设的信号。如果游戏支持联网特性,网络代码也会被集成在引擎中,用于管理客户端与服务器之间的通信。通过上述介绍可以了解到,引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师只要往里填充内容就可以了。因此,在早期的游戏开发过程中,引擎的制作往往会占用非常多的时间,《马克思·佩恩》的MAXFX引擎从*初的雏形Final Reality到*终的成品共花费了4年多时间,LithTech引擎的开发共花了整整五年时间,耗资700万美元。正是出于节约成本、缩短周期和降低风险这3个方面的考虑,越来越多的开发者倾向于使用第三方的现成引擎制作自己的游戏,一个庞大的引擎授权市场已经形成。本书将重点讨论的Unity引擎,虽然诞生较晚,但已经在短短几年时间内成长为一线引擎阵营成员。5.3.1Unreal虚幻引擎虚幻引擎3是一个面向下一代游戏机和DirectX 9个人计算机的完整的游戏开发平台,提供了游戏开发者需要的大量核心技术、数据生成工具和基础支持。 虚幻引擎3的设计目的非常明确,每一个方面都具有比较高的易用性,尤其侧重于数据生成和程序编写方面,这样的话,美工只需要程序员的很少协助,就能够尽可能多地开发游戏的数据资源,并且这个过程是在完全可视化环境中完成的,实际操作非常便利。与此同时,虚幻引擎3还能够为程序员提供一个具有先进功能的,并且具有可扩展性的应用程序框架(Framework),这个框架可以用于建立、测试和发布各种类型的游戏。 1. 64位色高精度动态渲染管道γ校正和线性颜色空间渲染器提供完美的颜色精度,同时支持各种后期,如光晕、镜头光环和景深等效果。 在*一代显示芯片发布的过程中,人们注意到一个非常明显的特点,就是新一代显示芯片已经不再满足于传统的32位色深,转而需要更加高精度的颜色范围,这一点在NV40和R420身上都能非常明显地看出来。在NV40上,这种技术称为HPDR技术,而在R420身上,这种技术也有所体现。 支持当前所有的基于像素的光照和渲染技术,包括使用法线贴图技术的参数化的Phong光照、虚拟位移贴图、光线衰减函数、采用预计算的阴影遮罩技术以及使用球形harmonic贴图的预计算的凹凸自阴影。2. 的动态阴影虚幻引擎3提供对下列3种阴影技术的完全支持:  ① 采用动态模板缓冲的阴影体积技术,能够完整支持动态光源,这样就能在场景中所有物体上*地投射阴影。 ② 能够让动态角色在场景中投射出动态的、柔和的模糊阴影,这个过程是通过使用16X超级取样的阴影缓冲实现的。③ 采用拥有极高质量和极高性能的预先计算出的阴影遮罩,可以离线处理静态光源的交互现象,同时保留完整的动态高光和反射效果。 所有支持的阴影技术都是可视化的,并且可以按照美工的意愿自由混合。另外,同时可以与有颜色的衰减函数结合,从而实现具有合适阴影的平行光、聚光灯效果以及投射光效果。角色能够在虚幻引擎3中使用阴影技术产生动态的软阴影。强大的材质系统,使得美工可以在实时图形化界面中建立任意复杂的实时Shader,而这个界面的友好性可与Maya的非实时Shader图形编辑界面媲美。材质框架是模块化的,所以程序员不仅可以加入新的Shader程序,还可以加入能够让美工随意与其他组件连接的Shader组件,从而可以实现Shader代码的动态合成。 完全支持室内和室外环境的无缝连接,在任何地方都支持动态每像素光照和阴影。 美工可以通过一个可动态变形的基本高度图来建立地形,并使用多层混合材质,其中包括位移贴图、法线贴图和任意复杂的材质、动态的基于LOD的细分以及植被。 另外,地形系统还支持美工控制的自然效果,如平地上的植被、陡坡上的岩石和山顶上的雪。体积环境效果,包括高度雾和物理上*的距离雾。刚体物理系统,支持游戏者和游戏中的物体、布娃娃角色动画以及复杂碰撞等物体交互方式。 3. 布娃娃(Ragdoll)系统布娃娃系统是目前*为流行的一种非常的物理引擎,能够赋予物体一定的质量、形状等特性,从而获得非常逼真的力学动态效果。Half Life 2、Pain Killer等游戏均采用了这个物理引擎。其特点如下:① 所有可渲染的材质都含有物理特性,如摩擦系数等参数。 ② 在虚幻引擎3提供的编辑工具UnrealEd中,能够对物体属性进行实时修改。③ 符合物理原理的声音效果。④ 完全整合的基于物理原理的交通工具支持,包括游戏者控制,人工智能和网络。⑤ UnrealEd内建的可视化物理建模工具,支持对于模型和骨骼动画网格的用于优化碰撞检测的图元的建立;约束编辑;在编辑器内可交互的物理模拟和调整。4. 动画系统 骨骼动画系统,支持每顶点可达4骨骼同时影响的效果以及复杂的骨骼结构。 动画由一棵动画物体树驱动,包括:  ① 混合控制器,进行对嵌套的动画物体之间的多路混合。 ② 数据驱动控制器,封装动作捕捉或手动制作的动画数据。 ③ 物理控制器,连接到刚体动态引擎,用来实现布娃娃系统的游戏者和NPC动画和对力的物理响应。 ④ 过程动画控制器,以C 或UnrealScript实现,为了实现一些诸如使一个NPC的头部和眼睛跟踪一个在关卡中行走的游戏者,或使一个角色根据健康情况和疲劳度作出不同动作等的特性。 为3D Studio Max和Maya制作的导出工具,用于向引擎中导出赋予蒙皮权重的网格、骨骼和动画序列。 5. 游戏框架以及人工智能 Unreal虚幻引擎提供一个支持普通游戏对象(如游戏者、NPC、物品、*和触发器)的面向对象的游戏框架。    丰富的多级别AI系统,支持寻路、复杂关卡游历、单独决策和组队AI。① 对如触发器、门和升降机等普通游戏对象敏感的寻路框架,允许复杂的游历设定,使得NPC可以按下开关,打开门,并绕过障碍物。 ② 游历框架带有短期战术战斗、掩护和撤退的路线网。 ③ 基于小队的AI框架,适合*人称*、第三人称*和战术战斗游戏。 AI路径在UnrealEd中可见,并可由关卡编辑者编辑,允许自定义和提示。可见的AI脚本工具,使设计者可以创建复杂的交互性游戏设定,如游戏者目标、通用的游戏事件触发器和交互式过场动画。UnrealMatinee是一个基于时间线的可视化序列、动画和曲线路径工具。设计者可以使用此工具建立游戏中的过场动画,可以是交互的或非交互的,通过动画序列化、移动包括摄像机在内的对象,控制声音和视觉,并触发游戏和AI事件。 6. 角色 对于每个主要角色和静态网格资源,建立两个版本的网格模型: 一个可选的带有*UV坐标的网格模型;另一个只带有几何信息的细节网格模型。通过虚幻引擎3来处理这两个模型,基于细节模型的所有几何信息来为可渲染模型生成一个高分辨率的法线贴图。 可渲染模型: 在建立可渲染模型时使用3000~12000个三角形,在场景中同时可见的角色有5~20个。 细节网格: 使用100万~800万三角形来为标准的角色建立细节网格模型。这对于为每个角色建立一到两个2048×2048大小的法线贴图已经足够了。 骨骼: 每个标准角色都有100~200块骨头,包括有关节的脸部、手部和手指。 7. 法线贴图和材质贴图 在建立大部分角色和场景的普通贴图和法线贴图时都使用2048×2048分辨率的贴图。感觉这是一个对于2006年左右运行于中档PC上的游戏来说十分合理的目标。下一代游戏主机可能需要将贴图大小减少2倍,而低端PC则需要减少4倍,取决于贴图数量和场景复杂度。 作为游戏中的灵魂,游戏引擎的成功与否将决定一系列游戏的*终效果。虚幻引擎3的确是一个非常先进的引擎,它提供的功能非常先进,几乎融合了目前*显卡提供的所有功能,在这样的技术背景下,这款引擎带来了非常绚丽的效果,其演示画面已足以震撼游戏爱好者。 5.3.2CryEngineCryEngine是和Unreal一样的另一款商业引擎支柱性产品。其*主要的特点表现在以下几个方面: 1. 实时动态光照(Realtime Dynamic Illumination)不进行预先的演算,也不限制场景的复杂性,能够实现二次光照与反射等。在图中能够看到空中漂浮的光点照亮了周围,而被光源照射到的物体上的反射,就是段落开头所说的。不进行预先的演算,不被几何条件所左右是该引擎的*特点,在实际效果中,还能看到类似于后述的SSAO改进型的。2. 延迟光照(Deferred Lighting)CE3中采用了和KILLZONE2一样的延迟渲染(Deferred Shading)技术,在延迟着色的场景渲染中,像素的渲染被放在*后进行,随后再通过多个缓冲区同时输出。*后进行的是光照渲染,这是一种将存在于该场景的光源通过类似于后处理的渲染来进行的处理。在该流程中,理所当然地要对光照进行计算,这时首先需要使用的是通过多个缓冲区输出的中间值。在延迟光照中,就算是遇到动态光源比较多,或者是场景内三维物件数量比较多的情况,也能够率地进行光照渲染。但是,因为半透明物件需要同普通的渲染管线的效果进行合成处理,所以在遇到场景内半透明的物件比较多的场合,可能会遭遇性能损失,使得延迟渲染的效果无法得到很好的发挥。3. 动态软阴影(Dynamic Soft Shadows)动态阴影的生成可以说是CE引擎的一个特色,CE3中使用了深度阴影算法实现阴影生成。而阴影边缘则使用模糊滤镜,从而实现了平滑的软阴影效果。主要表现在:① 即时动态柔和阴影的生成。② 可以表现出真实的空气远近状态。③ 通过HDR能够表现出更加自然的效果。④ 容积云与视距雾化。CE3支持适用于以场景距离为基础的模拟光散射的远程雾(Distance Fog)表现。具体来说,画面内由近到远的那些空旷部分因为有着比较多的光散射,所以雾的颜色也会比较强,而距离试点比较近的场所,因为遮挡物的存在,所以光散射比较稀少,雾的颜色也显得比较淡。另外,引擎也能够表现出那些具有立体形状的容积雾(Volume Fog)的效果。这也是一种经常用到的效果。从雾的立体形状的前后之间的差来求出该雾领域的厚度,随后再将视线如何穿透该厚度的方法用像素单位表现出来,求得雾的色彩。在这一容积雾中,能够自由地在场景中配置那些由立方体、球状之类形状组合成的任意形状的雾团是该效果的特征。另外,CE3 还支持 Cloud Sprite 的云层表现及烟雾表现。4. 法线贴图与视差遮蔽贴图能够表现出那些用多边形无法实现的极其细微的凹凸效果的就是法线贴图技术。法线贴图是微小的凹凸法线数据纹理化之后的产物,在进行渲染的时候,以该数据为基础表现出细微凹凸阴影的效果。从地面的几何参数来看其实是平坦的地面,但是通过视差遮蔽贴图,则可以表现出真实的砂石凹凸感。将此技术继续进化,就是视差遮蔽贴图了。视差遮蔽贴图在渲染的时候不仅仅只参照细微凹凸的法线数据,而是连凹凸的高度数据都考虑进去的一种技术手段。而将凹凸高度的数据纹理化后的产物称为高度贴图,基本上视差遮蔽贴图都是和法线贴图1∶1对应使用的。性能样例如图5.1至图5.4所示。图5.1CE3中内置了植物生成引擎,可以正确地处理与植物间的互动图5.2通过HDR能够表现出更加自然的效果图5.3非常真实的CE3水面效果图5.4游戏里即时地表现出真实的脸部画面

    内容介绍

    本书面向数字媒体艺术专业、游戏艺术设计专业的本科生及艺术类对游戏设计感兴趣的学生,旨在为其提供游戏开发相关的基础知识与必要技能。全书以4个具有代表性的案例为切入点,前半部分以Flash为工具分析游戏程序设计的必要知识;后半部分以Unity为工具分析游戏引擎的操控要点,与专门针对程序设计的教材不同的是,本教材涉及内容相对广泛,也符合艺术类学生学习游戏开发的特点,重点并非掌握游戏开发的核心技术,而是通过对技术的了解掌握在工具辅助下的开发流程,进而更好地与开发人员配合完成开发项目,再进一步在工具的帮助下独立完成开发项目。全书在上述内容讲解之余,亦投入相当篇幅分析具有前沿应用的增强现实与体感游戏,并就产业特点同样以一章的篇幅分析跨平台游戏开发与项目管理。

    细节图

    作者介绍

    严宝平,南京艺术学院传媒学院游戏艺术设计教研室主任,先后毕业于南京师范大学与南京大学。中国图象图形学会数码艺术专业委员会委员,主攻游戏程序设计、游戏引擎设计、数字媒体项目管理方向。出版教材《数字游戏艺术概论》,获江苏省高等学校精品教材。发表论文《严肃游戏与游戏化学习》、《游戏项目开发现状分析》、《数字媒体创作中的软件工程方法引入》、《基于移动终端的严肃游戏展望》等多篇。主持校级重点课题《游戏项目开发的资源配置》及省级课题《严肃游戏的社会作用机制研究》。
    基本信息
    商品名称: 游戏程序设计与引擎 开本: 32开
    作者: 严宝平 定价: 35.00
    ISBN号: 9787302445623 出版时间: 2017-02-01
    出版社: 清华大学出版社 印刷时间: 2017-01-01
    版次: 1 印次: 1
    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购