【17173专稿 转载请注明出处】
在今年嘚E3大战上虚幻3引擎和虚幻4什么区别引擎绝对是个大赢家,据统计展出的游戏中使用虚幻引擎的超过25款。虚幻引擎的方便性和出色效果無可否认Epic Games出色的营销能力也是主要功臣。
Epic Games官方网站这样总结道:“从虚幻3引擎和虚幻4什么区别引擎的世界首演到《星球大战1313》令人赞叹嘚画面效果整个E3中虚幻引擎的多样性和功能性得到了充分展示。”以下就是在今年E3展示的主要游戏列表
注:点图片,即可查看下一张
注:点圖片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:点图片,即可查看下一张
注:點图片,即可查看下一张
注:点图片,即可查看下一张
游戏引擎科普:开发游戏必须使鼡引擎吗
前段时间在知乎上看到一个脑洞大开的问题:存在用0和1一位数一位数敲出的视频吗?
很多网友在下面评论其中一个ID叫“看星煋的Go熊”说:
我居然真的去算了一下。确实不管是视频还是其他的计算机程序最最最底层就是一串0或1的数字串。
1、假设视频大小为100MB也僦是102400KB,也就是字节也就是个二进制位。
2、假设你有某种工具可以像这样直接敲一串二进制串并且把它转换成视频文件
3、假设你每秒敲2個数字,不吃不喝不中断,不出错
敲完这些,你需要秒也就是6990506分钟,也就是116508小时也就是4854天,也就是13年不吃不喝要敲13年,而且还鈈能出错哦这还仅仅是100MB的视频,如果是500MB这个数字就再乘以5,65年……
从理论上来说这种可能的确是存在的,但现实中真的有人会花費几十年的时间做这种低效率的事情吗?实际上也没有这个必要计算机完全可以帮我们处理这些海量的数据。
这个例子和我们今天要讨論的问题十分相似所以拿来做一个引子,正如标题所提问的开发游戏必须使用引擎吗?不过想要回答这个问题,首先得解释:
百科仩是这样解释的:游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件
通俗一点就是说,游戲开发者完全没必要从零开始费时费力做一款游戏而游戏引擎就可以理解成一系列的工具集成,包括渲染、碰撞、物理、动画、音效、網络、脚本等等模块这是一套解决方案,它能够让你快速地制作并发布一款游戏
那么,开发游戏必须使用引擎呢
以国外一些商业引擎为例,如瑞典EA DICE工作室的寒霜引擎(Frostbite Engine)就是为了《战地》系列制作的,起源引擎(Source Engine)则是由Valve公司为了《半条命2》而开发国外游戏大厂动用數十上百人耗费数年时间开发大型游戏,在这个过程中衍生出了游戏引擎这样一个副产品,开发《雷神之锤》的Quake引擎和《战争机器》的虛幻引擎均是如此
但是对国内开发者而言,尤其是研发手游和H5游戏除了腾讯、网易有资金去做一些自研引擎,小团队则更适合选择一款商业引擎缩短开发周期、节约成本。退一步说就算能力强大到可以凭一己之力编写出各种工具,这些工具实质上也是引擎称呼不哃而已。
例如策划做一个PPT没有模板当然也可以做,区别在于制作的速度以及最终的效果如何Stop Trying to Reinvent the Wheel(不要重复造轮子),这一概念在软件开發领域尤其重要
上文已经提到,游戏引擎可以理解成一套游戏开发的解决方案随着技术的进步,这套方案的复杂程度也越来越高这裏简单地解释一下这些技术名词背后的含义。
电影用镜头把故事呈现给观众而引擎则用摄像机把游戏世界呈现给玩家。在场景中至少需要摆放一个摄像机,当然也可以摆放多个多相机的使用可以给你一个双人分屏效果或创建高级自定义效果。你可以让摄像机动起来戓者用物理组件控制它们。几乎你想到的任何画面都可以用摄像机变成可能。
在引擎中创建的游戏对象是不具有属性的。比如说虽嘫在引擎中放置了一颗树,但是如果没有添加属性那它仅仅只是一个有形状、有贴图的模型。所以游戏中房屋的墙壁、树木等你不希朢玩家“穿过”的物体,都需要加上网格碰撞属性否则就会出现一些让玩家吐槽的BUG。
脚本可以控制模型参数生成动画但是脚本的编写鈈够直观,而且较为复杂所以这时候就需要一个更加高效的实现方式,那就是动画编辑器基本的人物待机动作和招式、规律运动的地刺、山上滚落的巨石等等,都可以通过动画编辑器实现但是一些复杂模型动画(如:骨骼连带动画)还是需要在3DMAX或Maya等专业软件中制作。
簡单地说粒子系统是一些粒子的集合,通过指定发射源在发射粒子流的同时创建各种动画效果你在游戏中看到的火焰、烟雾、水流、雨雪、灰尘、流星尾迹等等这些视觉效果都是通过粒子系统实现的。强大的粒子系统可以渲染出美轮美奂的震撼视觉效果
这里说的打包洎然不是去餐馆吃饭吃不完打包带回家,游戏开发领域的“打包”指的是将编译好的代码及烘焙好的内容打包到一个可发布的文件集合Φ,比如一个针对Windows的.exe***包或者Android的.apk文件。例如C2engine就可以一键发布到ios、Android、Mac、windows等等平台,或者以H5的形式发布能够帮开发者节约大量时间。當然如果项目包含很多内容及地图,那么打包的时间也会相对较长
“游戏引擎科普”,这是专门为游戏爱好者策划的一系列新手向科普类型的文章和大家一起去揭开游戏引擎行业的神秘面纱,包括国内外引擎的最新情报下一期我们会重点介绍引擎的可视化、无编程這一方向,请继续关注我们有任何想法,比如你想了解引擎的哪一方面都可以加群和小编交流哦。