关注我们第一时间获得相关资讯

出品|Nova常务组

00

前言

  5月13日晚,开发商EPIC Games公开展示了虚幻引擎5的首个演示视频,演示片一经流出,就轰动全网。从从事游戏制作行业的开发者到游戏玩家们,甚至再到冲浪之余看到Demo演示片的“路人”,都忍不住赞叹一句Unreal5 NB!

  不过...嚷着虚幻5牛逼的你,真的知道什么是游戏引擎么?(知道也当做是不知道往下看吧TT)

什么是游戏引擎?

01

  游戏引擎,本质就是游戏开发软件。

一个游戏开发界面

  我们都知道,制作一款游戏,代码是必不可缺的,而游戏引擎就是集成基础代码的开发游戏的工具,游戏引擎内部积累了可以重复利用的基础代码,并且它提供了方便使用方便修改的接口,使得游戏开发者们可以利用这些基础代码,而避免了自己从零开始编写程序。

可以说,利用游戏引擎开发游戏,就是在前人设计的基础功能上进行再开发。如果把制作游戏比作造一个锤子,那游戏引擎就像为我们提供了基础的锤头、锤柄造型,而不需要我们从一块生铁慢慢打磨了。引擎功能的强大对开发出来游戏的品质有着极大的影响,而在引擎的使用上,甚至有一部分引擎,简单到甚至可以让没有受过培训的人摸索一下就学会。

那么了解了什么是引擎之后,我们来聊聊游戏引擎是怎样从无到有发展起来,最后成为了游戏开发的有力助手的吧~

02

游戏引擎的诞生

其实早在游戏萌生的初期,很多游戏都是从零开始一行行代码编写的,这时并没有游戏引擎的概念。但是慢慢的,随着游戏业这个市场规模的扩大,竞争者越来越多,游戏也越来越复杂,很多团队就开始复用之前的游戏的基础代码,当然,这个时候还算不上是引擎,只是集成了一些老游戏里可以重复利用的东西而已。

  终于,有一个传奇的人物出现了,他就是id Software公司的约翰·卡马克

卡马克大神本人帅照

大神总有大神的与众不同之处,卡马克与别人不同的地方在于,他不仅考虑到了开发者对于基础代码的重复利用要求,同时在还没有考虑游戏应该怎么设计、只是确定了要做一个三维立体的游戏框架的情况下,就把这个游戏未来可能会用到的代码都先写好,并且留下了方便修改的接口。

  当时卡马克先写好了框架,然后往这个框架里塞游戏内容,最后出来的成品立即引爆了整个游戏界,这游戏就是世界上第一款第一人称射击游戏《德军总部3D》,而卡马克搭建的这个框架,也被业界大多人认为是世界上第一个游戏引擎,“游戏引擎”这个称呼才正式被大家接受。

《德军总部3D》

游戏引擎的进化

03

  在约翰·卡马克为了《德军总部3D》开发出游戏引擎后,他又进一步改进了“德军总部3D引擎”并做出了id Software公司的第二款第一人称射击游戏——《毁灭战士(Doom)》。

  如果说德军总部引擎诞生了引擎的样子,那么Doom则第一次完成了引擎该有的重要功能——可供打包交接并给其他开发组利用。

  由于卡马克大神本人是一个软件开源的倡导者,Doom问世不久,它就被打包授权给Raven公司使用,于是产生了游戏史上第一例成功的嫁接手术成果:《Shadow Caster》。而后来, Raven公司又采用Doom引擎开发了几款游戏,并为引擎增加了新的技术。Raven公司与id Software公司之间的一系列合作充分说明了引擎的授权无论对于使用者还是开发者来说都是大有裨益的——把引擎交给更多的人去使用,能够使引擎不断地改善,不断地进化。

Raven工作室参与制作作品——《使命召唤》

  而与此同时,id Software公司在引擎开发上马不停蹄,很快,他们开发出了与原先引擎完全不同的全新引擎:Quake引擎,以及同名游戏《雷神之锤(Quake)》,又再次狠狠地推动了游戏业的发展。

  Quake引擎是当时第一款完全支持多边形模型、动画和粒子特效的真正意义上的3D引擎,从此,模型面数大大提高,模型的细节有了质的飞跃。此外Quake引擎开连线游戏的先河,首次展现了网络对战的精彩。而之后的一年,Quake2引擎和《雷神之锤2》,一举确定了id Software公司在3D引擎领域的霸主地位。

《雷神之锤2》

  正当Quake2独霸整个引擎市场的时候,id Software公司最大的敌人:Epic Megagames公司(即Epic游戏公司)的虚幻引擎问世

  逼真的火焰、烟雾和力场,虚幻引擎制作的游戏中的画面和效果,即便在今天看来依然很出色,其震撼力完全可以与人们第一次见到《德军司令部》时的感受类比。而在推广授权方面,虚幻引擎远比id Software公司经营得更好,在推出后的两年之内就有20多款游戏使用虚幻引擎,且它的应用范围不限于游戏制作,还涵盖了教育、建筑等其它领域。

04

游戏引擎的大飞跃

  游戏的图像发展到《虚幻》这里已经达到了一个天花板的高度,而这时,两部划时代的作品出现了——Valve公司的《半条命(Half-Life)》和LookingGlass工作室的《神偷:暗黑计划(Thief:The Dark Project)》。

 《半条命》采用授权的Quake引擎进行修改,做出了GoldSrc引擎,这个引擎加入了两个很重要的特性:一是脚本序列技术,这一技术可以让游戏按照事先设计好的脚本去触发一系列复杂的脚本动画,通过触动事件的方式让玩家真实地体验到情节的发展,这对于诞生以来就很少注重情节的第一人称射击游戏来说无疑是一次伟大的革命;第二个特性是对人工智能引擎的改进,敌人的行动与以往相比明显有了更多的狡诈,也更真实了许多。这两个特点赋予了《半条命》引擎鲜明的个性。

《半条命》

  在人工智能方面真正取得突破的游戏是Looking Glass工作室的《神偷:暗黑计划》,史上首款第一人称潜入游戏

  《神偷》采用的是Looking Glass工作室自行开发的Dark引擎,引擎融入了动态光影,游戏中的敌人在不同的光照环境下有不同的目力;还在音效的方位和声音上也有重大突破,是史上第一款可以听音辨位的游戏;它也是史上首个有抛物线模拟的引擎。如今的绝大部分第一人称射击游戏都或多或少地采用了Dark引擎的潜行系统

  同时,具有新特性的游戏引擎不断涌现:《马克思佩恩》的光能传递和子弹时间、《红色派系》的场景互动、《英雄萨姆》的模型测距……都是现在游戏引擎必不可少的组件。在游戏引擎的价值被证实后,许多公司把认为游戏应该有的元素设计在引擎里,经过这次的技术大飞跃,游戏引擎才不断融合、完善,最后变成现在的几个大万能引擎:Unreal、Unity3D、寒霜、CryEngine、铁砧。

虚幻引擎5(Unreal Engine 5)

05

Unreal 5

  讲完了游戏引擎的发展史,回到最初,来吹一波虚幻5吧~

  5月13日,由游戏公司EPIC开发的虚幻引擎5正式地在公众面前展示了它的“核心科技”,揭开了虚幻引擎5的神秘面纱,虚幻5功能之强,以至于其被圈内大佬称为游戏界的“业界革命”

  虚幻5官方发布了视频“Lumen in the Land of Nanite”,内容是一个在PlayStaion 5上实时运行的实时演示,给公众展示了自己的两大全新核心“黑科技”:

1.Nanite

虚拟微多边形几何体可以让美术师们创建出人眼所能看到的一切几何体细节。

Nanite虚拟几何体的出现意味着由数以亿计的多边形组成的影视级美术作品可以被直接导入虚幻引擎——无论是来自Zbrush的雕塑还是用摄影测量法扫描的CAD数据。

Nanite几何体可以被实时流送和缩放,因此无需再考虑多边形数量预算、多边形内存预算或绘制次数预算了;也不用再将细节烘焙到法线贴图或手动编辑LOD,画面质量不会再有丝毫损失。

  简单来说就是,这个名为Nanite的功能,可以让模型更精细化的同时,大大减少美术的工作量。要理解这看似相悖的两个结果,首先要了解计算机及图形的原理,在计算机图形处理中是没有曲线的,只能通过大量两点形成的直线或者三角平面构成平滑的曲线/面,而只要三角形面足够小,数量足够多,给我们呈现的立体图形就越精细,曲面也会更加平滑。

UE5演示片截图

  你可能会说,是否只要我们运用足够多的三角面,就能完成100%精细且逼真的画面?可惜的是,允许存在的三角面数是有上限的。美术需要采用多种技术手段(法线贴图/设置LOD等)调整模型,来保证三角面不会太多,这一系列的方法耗时且压缩了模型的精细程度。在之前的技术里,虽然仅一个游戏角色就由20万个面片来表现已经十分细致了,但在很多自然有关的游戏场景中,几百万个面也不足以细致的表现出其真实性。那么虚幻5的Nanite技术有多强呢?在实机演示视频中仅一个石像的模型,就有着超过3300万个三角形面片。这一技术也将让我们将来不再需要法线贴图、置换贴图,复杂地设置LOD来解决游戏画面的突兀感,更无需担心多边形数量预算,该技术对游戏表现力的提升,以及对游戏制作团队都是十分有益的。

  实际上,Nanite很可能还是采用了LOD,只不过开发者不需要手动设置了。考虑到高精度模型对硬盘空间的大量消耗,Nanite可能会更多的用在电影或CG的制作当中。

对比8年前UE4演示片

2.Lumen

是一套全动态全局光照解决方案,能够对场景和光照变化做出实时反应,且无需专门的光线追踪硬件。

该系统能在宏大而精细的场景中渲染间接镜面反射和可以无限反弹的漫反射;小到毫米级、大到千米级,Lumen都能游刃有余。美术师和设计师们可以使用Lumen创建出更动态的场景,例如改变白天的日照角度,打开手电或在天花板上开个洞,系统会根据情况调整间接光照。Lumen的出现将为美术师省下大量的时间,大家无需因为在虚幻编辑器中移动了光源再等待光照贴图烘焙完成,也无需再编辑光照贴图UV。同时光照效果将和在主机上运行游戏时保持完全一致。

Lumen可以帮你做到漂亮的实时光线反弹。在我们平时游戏里所见到的大多数是动态光照(非全局)和全局光照(非动态)。简单举例就是游戏中的适用手电筒、火把等获得的照明或是爆炸效果时的火焰产生的光亮,这都是动态光照,但并不能全局影响游戏内的画面。自然界的光除了直接照亮物体,还会发生一系列反射、折射等情况,这些统称为全局光照。全局光照有室内照明物带来的光亮,但不是动态计算的。通俗点来说就是鱼和熊掌不可兼得,动态和全局你总得二选一。

  而Lumen这一套全动态全局光照就十分厉害了,它可以实时呈现环境内的光线的所有对物体的反射、漫反射、在空气中的散射、到特定介质中的折射甚至是缝隙衍射,且不需要光追硬件的支持。

该系统能在宏大而精细的场景中渲染间接镜面反射和可以无限反弹的漫反射

——Brian Karis

  除了Lumen和Nanite两大核心黑科技外,演示片还展示了一些其他的功能:

  包括利用Niagara粒子系统实现交互、Chaos物理系统精准模拟岩石掉落,卷积混响和环境立体声渲染游戏使更具有沉浸感

  举一个简单明了的例子,假设游戏角色的手电筒的光可以驱赶鬼怪,那么现在手电筒的灯光就可以从镜面反射到鬼怪上,且能实现驱赶效果,这一技术对于游戏玩法的发展可以说是有着非常大的改变了。

  看完这些,可以说虚幻5所展示的功能真的十分强大了。倘若虚幻引擎5的核心技术能同它所展示的功能一样强大的话,游戏发展的未来也将会迎来一次真正的重大的“游戏革命”,wow,是不是感觉美妙的时代即将要到来?

  可这毕竟还是PS5的实机演示,除了引擎功能的强大,硬件的要求也会变高,且现实情况下是不可能100%的表现出这些核心技术的本领的。

  虚幻引擎5的开发无疑是一个里程碑式的进步,对于广大玩家或是该业界人士,对于它的未来是非常期待的,而至于这些内容能否真正实现,还需等官方后话。

  我们将持续跟进虚幻5引擎的相关信息,为大家带来更多有意思的推送内容,让我们一起拭目以待吧。

图片来源:

虚幻5演示图片:BV1We411W7L3

虚幻4演示图片:BV1ji4y147

其余图片:百度的qwq

The End

官方微信:

NovaIndieGameClub

官方邮箱:

NovaIndieGameClub@outlook.com

安卓3d游戏开发引擎_从德军总部3D到虚幻5,游戏引擎能有多大的飞跃?相关推荐

  1. unity游戏开发毕设_毕设分享:用 Unity 探究 2D 游戏的打击感

    这是我毕业设计的一部分 emmm--我的毕设和格斗游戏相关,而对于打击感的研究算是其中我比较在意的一环.现在临近毕业,我将毕设中开发部分的一些内容整理出来分享,希望能通过这样学习到更多的东西. 打击感 ...

  2. python游戏开发步骤_详解Python GUI版24点游戏制作过程

    本文作者为浙江温州永嘉县教师发展中心应根球老师,电子邮箱:ycicada@163.com. 传统用扑克牌算24点游戏用于小学低中段学生训练四则运算效果不错,也可用于防止老年痴呆.本项目模拟传统扑克24 ...

  3. 游戏开发论坛_国内游戏开发站点与论坛

    用户下载APP习惯: 1.周末为用户一周下载的高峰期 2.20点-22点为用户一天的下载高峰 76%的应用下载行为来源于第三方引用商店 希望成为策划的同志应该培养的习惯. 1. 浏览,对于大量的资料要 ...

  4. 卡马克《德军总部 3D》iPhone 版开发笔记

    转载自CSDN,感谢文章的翻译者! 一年来,我为 id 内没有任何有关 iPhone 的开发计划而备感困扰.我爱我的 iPhone,我认为应用商店对于软件商业来说是极为重要的模式.不幸的是,诸多事务妨 ...

  5. unity游戏开发毕设_《毕业设计(论文)-基于Unity游戏引擎的游戏设计》.doc

    学 号070125分类号本科生毕业论文(设计) 题目: 基于Unity游戏引擎的游戏设计 院(系) 电子与信息工程系专业 计算机科学与技术班级2007级学 生 姓 名指导教师(职称)提 交 时 间 二 ...

  6. 3d游戏开发相关概念_游戏开发概念

    3d游戏开发相关概念 Game development is one of the most exciting fields of computer science and a major part ...

  7. html5游戏开发box2djs,基于HT for Web 3D呈现Box2DJS物理引擎

    上篇我们基于HT for Web呈现了A* Search Algorithm的3D寻路效果,这篇我们将采用HT for Web 3D来呈现Box2DJS物理引擎的碰撞效果,同上篇其实Box2DJS只是 ...

  8. python开发游戏引擎_用Python写3A?Cygames的游戏引擎做得怎么样

    有句话叫"二流的游戏公司做游戏,一流的游戏公司做平台".索尼.任天堂.微软这些主机公司,除了推出第一方游戏以外,当然也在维护自家的游戏系统. 其实,以<公主连结RE:Dive ...

  9. 游戏开发论坛_游戏开发制作全流程介绍

    近日,根据<2020年1-6月中国游戏产业报告>显示,我国上半年网络游戏用户规模达到6.6亿人,游戏市场实际营收1394.93亿元,同比增长了22.34%,其中手游占比75.04%,达10 ...

最新文章

  1. java 外来类,外来的Matplotlib图(tkinter中的情节)
  2. 洛谷出现RE(re)的情况
  3. 迎接“云”时代的全面到来
  4. Nginx特性验证-反向代理/负载均衡/页面缓存/URL重定向
  5. disk genius_如何预约Apple Store商店或Genius Bar
  6. flask mvc模式开发_Flask中文文档-转载
  7. 英语学习笔记2019-10-25
  8. java.lang.Runtime.availableProcessors返回可用处理器的Java虚拟机的数量
  9. php虚拟机java虚拟机,Java虚拟机的具体详解
  10. router阻止telnet自身的两种方法
  11. Deep Convolutional Network Cascade for Facial Point Detection论文算法解析
  12. 2020传道(原中国开源圈)开源寄语
  13. nodejs 服务端 音频拼接 合成 实现
  14. 【ZBrush笔刷】实用笔刷和Alpah下载,及笔刷使用方法
  15. Delphi用QJSON解析JSON格式的数据 【转】
  16. 短文本相似度计算-simHash从原理到实现
  17. 股票中的KDJ三根线分别代表什么?
  18. HDU4622: Reincarnation
  19. MATLAB算法实战应用案例精讲-【图像处理】缺陷检测(补充篇)(附matlab实现代码)
  20. 操作系统 请求分页存储管理方式(含页面置换算法)

热门文章

  1. murmurhash2 Python实现(复现开源项目主页上的 Murmurhash2)
  2. IT软件项目中的沟通管理
  3. php AES加密解密实例
  4. 九年级计算机教学计划,实用的九年级教学计划四篇
  5. 后台管理界面-- 管理员管理[2]
  6. mysql远程服务器返回错误404_网站服务器经常性出现404错误了怎么办?
  7. Py3+Django 获取Foursquare的Check-in History
  8. 仓库管理系统/课程设计/ASP.NET/
  9. php 繁体字转换 简体字,繁体中文转换为简体中文的PHP函数_php基础
  10. 小米max3支持html吗,小米Max3怎么样 到底值不值得买