第三章 通用的游戏引擎

3D游戏引擎的通用模块:


image

参考上图,不论是U3D还是UE4,又或者cocos2d-x的3D模块都会提供以上的几个功能,不过,U3D和UE4提供可视化工具,即"所见即所得"的方式来开发。cocos2d-x需要通过代码自行调用模块。

一般定义的游戏模块有以下几点:

  1. 渲染引擎
  2. 物理引擎
  3. 碰撞检测
  4. 脚本引擎
  5. 网络引擎
  6. 场景管理
  7. 音频UI

通用的引擎框架模块,也就是说,只要深入的学习过一款引擎,那么会很快的上手其他引擎。

学习一款引擎从哪里下手?

通常的做法是看到引擎代码后,先看看其说明文档,它能做哪些事情,比如这款引擎核心功能是什么?它擅长做哪些事情?

以Unity引擎为例,它首先解决的问题跨平台的问题,制作的产品可以一键导出Android和ios以及其他平台的工程。帮助开发者解决了大部分问题,因为它满足了当前产品需求。其次是它提供了脚本编程,因为C++对于开发者来说难度比较大,不容易掌握,而C#就解决了这个问题,只要有编程语言功底的都可以使用该脚本。再次,它提供了一个功能比较完善的编辑器,开发者通过这个编辑器可以很容易进行场景的搭建和逻辑的编写。最后,Unity的学习对于初学者上手非常快,另外它的架构保证了引擎的扩展性非常好。大部分功能都可以通过插件的方式进行完善。

留一个问题,可以考虑一下,如果学习cocos2d-x引擎,如何下手?支持的编程语言有哪些?它的优缺点是什么?游戏框架如何组织的?

以下分析一下通用3D引擎的各个模块:

底层算法模块:这个模块是处于核心的模块,包含图形学算法,向量和矩阵变换等等。如果想要在游戏领域更加深入,那么,这个模块是必须要深入学习,一般情况下, 了解一下就行。

渲染模块:渲染是引擎最重要的功能之一,当3D模型制作完毕之后,美工会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接决定着最终的输出质量。

碰撞检测模块:碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止它们相互穿过,这就确保了当你撞在墙上的时候,不会穿墙而过,也不会把墙撞倒,因为碰撞探测会根据你和墙之间的特性确定两者的位置和相互的作用关系。

脚本引擎:提供脚本接口,让开发者,通过脚本设计游戏,使游戏的开发更加灵活。

网络引擎:数据交换的模块,在开发多人在线游戏时使用。

物理引擎:模拟物理世界,开发出类似物理世界的效果。

音频UI:提供音频特效,以及游戏的UI部分,让游戏与用户进行交互。

一般来说,各个游戏引擎的各个模块的名字可能不一样,但是效果实际上是一样的,比如说:在U3D中,材质,贴图等术语,在cocos2d-x中,有精灵,贴图,场景等术语,在libgdx中,有演员,舞台,贴图等术语。虽然各有不同,但实际上都具有一样的效果,只是每个引擎的内存管理,组织结构不太一样。

U3D的入门与进阶的路径知识:

大体的知识结构网络图:

[图片上传失败...(image-f8aff6-1533862127439)]

阶段划分:

初级阶段:学会简单的使用U3D框架,了解和熟悉U3D的基本模块,跟着视频做一些小项目

中级阶段:学会使用中间件,中间件不必全学,推荐几个Asset:Behavior Designer(AI), DoTween(Tween动画), PlayMaker(可视化编程),Shader Forge(可视化的Shader编写)和Elementals(粒子特效),此阶段,能够独立做简单的一些小游戏。

高级阶段:要对Unity的各种细节问题,优化,底层原理和新的技术方案都要进行思考和学习。

PS:推荐几个社区,Unity社区Unity AnswersUnity Wiki知乎的Unity板块,在以上几个模块中,知乎的Unity板块尤其值得关注,干货满满而且都是中文,建议通读

以及U3D模块分析图:

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,695评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,569评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,130评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,648评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,655评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,268评论 1 309
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,835评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,740评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,286评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,375评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,505评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,873评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,357评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,466评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,921评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,515评论 2 359

推荐阅读更多精彩内容

  • 文|磁性泥巴 春节的前一个星期,她三番五次打来电话询问我什么时候回家,我撒谎称公司还没有安排,只是敷衍的说“肯定是...
    磁性泥巴阅读 161评论 3 4
  • 文/吕桑榆 2015年4月2日,《战狼》在全国上映,收获了5.45亿票房,时隔两年,吴京宣布《战狼Ⅱ》在7月27日...
    吕桑榆阅读 1,809评论 1 16
  • 《沧海一声笑》 看见微笑了吧 如此迷人 不再会退却吗 不知何方 定不会孤独啊 你我相守 沧海一声笑涛涛不绝别 一同奉献
    向昕阅读 279评论 0 2
  • 在你遇到烦恼或麻烦时 只要摇一下这个天使之铃 就会出现一个天使来帮你的
    沫小草阅读 140评论 0 0