初识Unreal4引擎
游戏开发是一项高度复杂的代码开发工作,编程语言只是其中最基础的知识,它还涉及计算机图形学、3D数学、物理学等复杂学科。若要学完所有这些知识才能开发游戏,恐怕很多人都会望而却步,更谈不上实际开发了。为了解决这个问题,前人将各种复杂的代码进行封装,让一般的游戏开发者能够更专注于游戏的逻辑和功能性代码,而无需接触最底层的知识。
游戏引擎的定义
游戏引擎可以看作是引擎开发者编写好的代码框架,开发者能够调用这些底层代码。像虚幻4(Unreal Engine 4,简称UE4),它不仅是代码框架,还附带可视化关卡编辑器。Unity3D也是一款可视化的游戏引擎,后续会对当今主流游戏引擎进行对比。
为什么选用虚幻4引擎
目前流行且知名的商业引擎主要有Cocos2d-x、Unity3D、UE4、CryEngine等。选择UE4有以下独特优势:
- 开源性:UE4是开源的,其代码完全开放。开源的重要性体现在两个方面:一方面,当出现错误时,开发者可以查看源代码的实现细节,从而快速准确地判断出错的原因,节省排查错误的时间。例如,像Unity3D这种闭源引擎,出错时开发者无法看到错误发生的具体原因,只能通过不断盲目调试、查阅文档和在网络上搜索来解决问题,往往会陷入束手无策的境地。另一方面,开源便于开发者深入学习引擎的原理。如果只知其然不知其所以然,在游戏开发的道路上难以走远,而且会面临更多困难。
- 画质表现:UE4的画质在世界上名列前茅。游戏的画质很大程度上由游戏引擎决定,优秀的游戏引擎能够模拟出极度逼真或极具美感的画面。读者可以对比Unity3D制作的游戏和UE4制作的游戏,会发现两者在精美程度上相差甚远。当然,这并不是完全否定Unity3D,因为它们面向的是不同的市场层次。对于追求极致的游戏程序员来说,自然希望了解最好的画面效果是如何实现的。
- 免费使用:UE4是免费的,这无疑是一个巨大的优势。
下图为UE4游戏引擎制作出来的极度逼真游戏画面,你能分得清这是不是现实吗?
虚幻4游戏引擎的强大之处
发展历程
- 1998年,Epic Games公司发行了第一代虚幻游戏引擎(英文名是Unreal Engine,简写UE)。为了适应游戏编程的特殊性,该公司专门为虚幻系列游戏引擎创建了一种名为UnrealScript的编程语言。这种语言让游戏引擎的使用变得非常便捷,使得该游戏引擎开始声名远扬。
- 2002年,Epic发布了下一代游戏引擎UE2。在虚幻引擎提供的关卡编辑工具UnrealEd中,能够对物体的属性进行实时修改,并且支持当时的次世代游戏机,如PlayStation 2、Xbox等。
- 2006年,Epic发布了UE3,这可能是最受欢迎和广泛使用的游戏引擎。UE3推出了一个极其重要的特性——Kismet可视化脚本工具。Kismet通过各种节点连接成逻辑流程图,其最大的优势在于,使用Kismet甚至不需要掌握任何编程知识,开发者可以不写一行代码就开发出一个完整的游戏。
- 2014年5月19日,Epic发布了Unreal4,这也是目前的最新版本。此次版本换代有了巨大的改变,完全移除了UnrealScript语言,并用C++语言取而代之。在之前的版本中,若要修改引擎来开发自己的游戏,开发者必须使用UnrealScript,这意味着需要学习一门新的语言。而现在,开发者可以使用C++来修改引擎。对于绝大部分习惯于C++的游戏引擎工程师来说,能够使用自己熟悉和热爱的C++语言工作,无疑是一件天大的喜事。
功能特性
- 开源与控制权:游戏引擎的源代码可以从Github开源社区下载,这意味着开发者对游戏引擎拥有绝对的控制权,可以修改包括物理引擎、渲染和图形用户界面等任何内容。
- 热更新功能:通常情况下,若要对游戏代码进行修改,需要停止游戏,修改后再重新运行查看效果。而使用UE4的热更新功能,开发者可以在不停止或暂停游戏的情况下修改游戏代码,代码的任何改变会即时更新,并在游戏中实时反映出来。
- 跨平台支持:UE4是跨平台的,可以用于制作Xbox One、PlayStation 4(包括索尼的Project Morpheus虚拟现实设备)、Windows PC、Linux、Mac OS X、HTML5、iOS和安卓等平台的游戏,甚至支持虚拟现实设备Oculus Rift。
- 免费使用政策:2015年初,虚幻4可以完全免费下载和使用,之前的版本需要支付一定费用。现在,开发者可以使用UE4开发并发行游戏,在赚到3000美元收益之后,才需要支付5%的技术使用费。
- 游戏商城:UE4提供了商城功能,开发者可以在商城中购买和上传游戏资源,这些资源包括动画、3D建模、材质、声音效果、预制游戏等。这对于没有游戏资源或人力开发资源的开发者来说是个好消息,他们可以在商城购买资源并直接应用于自己的游戏中,也可以上传自己的作品到商城来赚取收益。
虚幻4小白系列教程
本系列教程面向没有使用过UE4的新手,需要具备一点点C++知识(一般读过任何一本C++教材都能看懂本教程)。我们将从非常基础的下载安装引擎开始,逐步深入,直至更高级的上传作品到谷歌Play Store等内容。我们会使用UE4一步一步地制作游戏,开启你的游戏开发之路!
下图为UE4游戏引擎制作出来的官方示例宣传视频画面: