首先要说的是,游戏开发是一项高度复杂的代码开发工作,编程语言只是最基本的知识,它涉及的内容还有计算机图形学、3D数学、物理学等复杂的学科。但是若需要学完这么多知识才能开发游戏,恐怕许多人都已经断气了,更谈不上开发游戏了。所以前人就把各种复杂的代码封装起来,使得一般的游戏开发者可以更加接近游戏的逻辑和功能性方面的代码,而无需接触最底层的知识。

所以说游戏引擎,可以是引擎开发者已经写好的一堆代码框架,使得我们可以去调用这些底层代码,也可以是像虚幻4还附带可视化关卡编辑器的工具(Unity3D也是可视化的游戏引擎,后面会谈当今主流游戏引擎的对比)。

为什么选用虚幻4引擎?

首先,现在流行而且出名的商业引擎主要有cocos2dx,Unity3D,UE4,CryEngine等。但是这里选择UE4,也有笔者认为的独特优势。

1) UE4是开源的。开源就是代码是完全开放的,为什么开源如此重要?一方面是因为只有我们看到源代码的实现细节,当出错了我们才能快速准确地判断出错的成因,节省被错误折腾的时间。(你想想像Unity3D这种闭源引擎,要是出错了,你是完全看不到为什么会发生错误的。除了不断盲目Debug,查文档和谷歌之外自己对于错误束手无策。)另一方面,开源可以使得我们深入学习引擎的原理,只知其然不知其所以然必然不能走得太远,而且会走得更痛苦。

2) UE4的画质是世界上数一数二的。游戏的画质往往由游戏引擎来决定的,一个好的游戏引擎它可以模拟出极度逼真或者极具美感的画面。读者可以自己去看看Unity3D制作的游戏和UE4制作的游戏,其精美程度是相差甚远的。(这里并不是完全指责Unity3D,毕竟它们面对的是不同的层次。)作为一名追求极致的游戏程序员,当然要想看看最好的效果是怎么实现的。

3) UE4免费!无需多言,还有比免费更好的事吗?

下图为UE4游戏引擎制作出来的极度逼真游戏画面,你分得清这是不是现实吗?

虚幻4游戏引擎有何强大之处?

第一代虚幻游戏引擎(英文名是Unreal Engine,简写UE)在1998年由Epic Games公司发行。当时Epic Games公司为了适应游戏编程的特殊性需要而专门为虚幻系列游戏引擎创建了一种名为UnrealScript的编程语言,该语言让这个游戏引擎变得非常容易方便,因而这个游戏引擎开始名声大振。

接着,2002年,Epic发布了下一代游戏引擎UE2。这时候,在虚幻引擎提供的关卡编辑工具UnrealEd中,能够对物体的属性进行实时修改。它也支持了当时的次世代游戏机,像PlayStation2,XBox等。

到了2006年,Epic发布了下一代游戏引擎UE3,这可能是最受欢迎和广泛使用的游戏引擎。这时候的UE3又发布了一个极其重要的特性,那就是Kismet可视化脚本工具,Kismet工作的方式就是以用各种各样的节点来连接成一个逻辑流程图。其最牛逼的地方在于,使用Kismet你甚至不需要掌握任何编程知识。你可以借助Kismet使得不需要写一行代码来开发一个完整的游戏。

到了2014年5月19日,Epic发布了Unreal4,目前最新也是Unreal4。 这次版本换代也是有了巨大的改变,它已经完全移除了UnrealScript语言,并且用C++语言来代替它。 在之前的版本,如果你想修改这个引擎来开发你自己的游戏,你必须用UnrealScript,也就意味着你要学习一门新的语言。不过现在,如果你要修改这个引擎,你可以用C++来完成。这对于绝大部分习惯于C++的游戏引擎工程师来说,使用自己热爱的C++语言来工作,绝对是一件天大的喜事啊。

不但如此,游戏引擎的源代码已经可以从Github开源社区下载。这意味着开发者对游戏引擎有着绝对的控制权,实质上你可以修改任何任何东西,包括物理引擎、渲染和图形用户界面。

它也提供了一些叫 热更新 的功能。什么叫热更新呢?通常,如果你想对游戏的代码进行一些修改,你必须要停止游戏才能进行修改,然后再次运行看看修改后游戏的效果。然而,使用热更新功能,你可以修改游戏而不需要停止或暂停游戏。任何在游戏代码的改变会即时更新,并且你可以看见它会在游戏中实时反映出来。

UE4是 跨平台 的,你可以用来制作Xbox One、PlayStation4(包括索尼的Project Morpheus虚拟现实设备),Windows PC,Linux,Mac OSX,HTML5,iOS和安卓,就连虚拟现实设备Oculus Rift也支持。

另一个重大的改变是,在2015年初,虚幻4已经可以完全免费下载和使用了,之前的版本是需要支付一定费用的。现在,你可以用来开发游戏,并且发行,而且不需要为UE4游戏引擎支付一分钱。只有在你赚到了3000美元收益之后,你才需要支付5%的技术使用费。

另一个UE4提供的特性是 商城 ,你可以在商城中购买和上传游戏资源。这些游戏资源可以包括动画,3D建模,材质,声音效果,预制游戏等等。这也是一个令没有游戏资源或者没有人力来开发资源的开发者振奋的消息。它们可以商场购买并直接应用于自己的游戏中。开发者也可以上传自己的工作成果到商城来赚钱。

这个虚幻4小白系列教程,是面向于没有使用过UE4的新手,但需要一点点C++的知识(但也无需太多,一般读过任何一本C++教材都能看懂本教程)。我们从非常基础的下载安装引擎开始,到更高级的上传作品到谷歌PlayStore,都会涉及。我们会使用UE4来一步一步地制作我们的游戏,Let’s Start From it,你的游戏开发之路!

下图为UE4游戏引擎制作出来的官方示例宣传视频画面:

转自:http://www.52vr.com/article-552-1.html

[unreal4入门系列之一] Unreal4引擎是什么相关推荐

  1. [unreal4入门系列之二] 下载和安装虚幻4游戏引擎

    1) 进入虚幻4的官方主页( https://www.unrealengine.com/ ) 这里你可以获得关于虚幻4的最新资讯,包括版本更新.博客更新.新闻和商城等.自2015年起,该引擎已经提供免 ...

  2. [unreal4入门系列之十五] UE4中的动态数组:TArray容器

    为什么使用UE4提供的容器类? 如果你用过C++的STL库,你就知道STL提供了各种各样的容器/数据结构,使得你对处理很多数据的时候非常快捷高效.UE4同样也提供了类似的库,库里面的类型是以T开头的, ...

  3. [unreal4入门系列之十一] 在UE4中编写C++代码控制角色

    当你运行我们上次做完的项目,你可能会意识到我们移动的摄像机还是默认的那个摄像机,这个默认的摄像机可以自由飞翔.这一节,我们要使得开始的角色是我们的一个Avatar类的实例对象,并且使用键盘控制我们的角 ...

  4. [unreal4入门系列之十] UE4添加角色到场景中

    现在我们已经有了一个场景并且运行了,我们需要添加一个角色到场景中.要这样做,我们必须从UE4的GameFramework类继承它. 一. 打开上次创建的关卡 如果你已经关闭了项目,并且保存了上次创建的 ...

  5. [unreal4入门系列之五] 熟悉关卡编辑器界面

    一. 标签栏标签栏就是最顶部看起来像这样的东西: 在最右方就是项目的名称,如这里的test1.前面的对话气泡是反馈按钮,你可以给Epic公司提供任何意见.而接着的帽子图标,是显示虚幻4内置的教程. 二 ...

  6. [unreal4入门系列之三] 初探UE4安装文件目录结构

    UE4文件夹里面包含了许多有用的资源,我们首先去了解这些文件结构,以便日后需要用到的时候随时地查找我们所需要的东西. 打开UE4所安装的目录,你会看到我们下载好的4.10版本的文件夹. 1) Dire ...

  7. [unreal4入门系列之十六] UE4中的集合:TSet容器

    一.TSet<T>是什么 UE4中,除了TArray动态数组外,还提供了各种各样的模板容器.这一节,我们就介绍集合容器--TSet<T>.类似于TArray<T>, ...

  8. [unreal4入门系列之十四] 在UE4中添加碰撞触发事件

    一.在HUD中显示消息 1) 在MyHUD.h中定义一个结构来表示我们的消息: #pragma once #include "GameFramework/HUD.h" #inclu ...

  9. [unreal4入门系列之十二] 在UE4中创建非玩家角色(NPC)

    现在我们来创建一些NPC(non-playable characters,非玩家角色).在这个游戏中,当我们靠近NPC时,它们会做出相应的反应. 创建C++类 1) 在UE编辑器中,打开文件-新建C+ ...

最新文章

  1. 深入理解按位异或运算符
  2. 金立M2017续航出色不仅是因为电池大,还有超强快充
  3. 服务器缓存策略(304)
  4. python3 导入自定义函数
  5. DeepMind哈萨比斯对话哈里王子:2018年AI最大的突破在生物或化学 2017-12-29 新智元 新智元报道 编辑:刘小芹 胡祥杰 【新智元导读】BBC 电台第四台连续第14年在
  6. 【网络安全】如何搭建MySQL恶意服务器读取文件?
  7. Python:高阶错误
  8. fedora 35 安装各种桌面环境命令整理
  9. Spring Cloud Dalston.SR5 BUG一记
  10. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用41
  11. 查询Linux充电时间,【充电】Linux学习(二)——常用的linux命令
  12. IDEA 如何根据代码自动生成类图
  13. 7段均衡器最佳参数_十段均衡器的设置和参数
  14. 2022熔化焊接与热切割复训题库模拟考试平台操作
  15. mammothJs解析docx文件
  16. Sprite Atlas与Sprite Mask详解
  17. Oracle公司中文翻译为“甲骨文”的来源是什么?
  18. 资产计提折旧日志查询(AFBP)和数据反查(FB03 / AW01N)
  19. 在线课程推荐(国外篇)
  20. 两个有序表的合并(三种方法)

热门文章

  1. JS 控制LPT1 直接打印!
  2. IDEA你可能不知道的小工具
  3. i3 8100安装服务器系统,i38100安装win7纯净版的图文教程
  4. 第12章实验1:学生成绩管理系统V5.0(c语言)
  5. 结构体对齐(字节对齐)规则及大小计算
  6. 30A的MOS现在价格都下探到1块了,为什么你还在用继电器?
  7. Excel的常用快捷键
  8. 一名合格的IT项目经理 这八项核心技能不能缺
  9. 都说DBA 是越老越值钱, 那你是没干过DBA
  10. 怎么制作云端服务器,自己搭建云端服务器