美文网首页
从零开始学虚幻4游戏开发系列02

从零开始学虚幻4游戏开发系列02

作者: 一个做iOS的程序员 | 来源:发表于2017-12-30 15:15 被阅读0次

    对于新手来说,使用虚幻4引擎开发游戏并没有想象中的那么难。特别是虚幻4中引入的蓝图可视化编程系统让游戏开发变得更加容易上手。对于某些类型的游戏,我们甚至可以不写一行代码就创建一款完整的游戏。

    在Part 1的教程中,我们主要学习如何使用虚幻4引擎的蓝图系列来开发一款简单的游戏。

    Part 1的教程又可以分为以下7个部分:

    1.开始前的准备

    2.蓝图系统

    3.材质

    4.UI

    5.如何创建一款简单的游戏

    6.动画

    7.音效

    开始前的准备

    这个小节的内容主要是为了让大家对虚幻4引擎有个基本的概念,我们将要学习如何安装虚幻4引擎,如何导入游戏资源,如何创建材质,以及如何使用蓝图系统创建具有基本功能的游戏对象。

    安装虚幻4引擎

    要安装虚幻4引擎,我们需要借助Epic Games Launcher。在浏览器中打开Unreal Engine的官网(https://www.unrealengine.com),然后点击页面右上角的DOWNLOAD按钮。

    在下载之前,我们需要创建一个Epic账号,或者也可以使用Facebook和Google的账户来登陆。

    在创建账户并登陆后,就可以选择下载Windows或Mac版的Launcher了。

    下载并安装完成之后,打开Launcher,可以看到如下的界面。

    使用自己的Epic账号登陆即可。

    此时会看到类似下面的界面

    点击Install Engine开始安装虚幻4引擎,会看到提示选择安装路径,使用默认的就好,

    点开Options,会看到更多的安装选项,默认情况的安装选项如下图。

    其中Core Components是必选项,也是引擎最核心的部分。

    接下来简单介绍了三个默认选项的内容:

    (1)Starter Content

    其中提供了初学者用来开发自己项目的免费资源,包括一些模型、材质等等。在项目的开发过程中,我们可以临时使用这些资源来代替最终的游戏资源。

    (2)Templates and Feature Packs

    虚幻4引擎提供了一系列的模板,在开发项目的时候,根据开发者所选的模板类型,项目模板中会提供一些基本的功能特性。比如,当我们选择Slide Scroller模板来创建游戏的时候,系统就会帮我们创建一个基本的横版过关游戏模板,其中包含了一个游戏角色,角色的基本运动,以及一个固定的plane camera。

    (3)Engine Source

    需要特别强调的是,虚幻4引擎是完全开源的,也就是说只要你愿意,可以阅读和修改引擎的任何一行代码。因此,如果我们需要在编辑器中添加自定义的按钮或其它元素,理论上只要修改相关的源代码就好。

    当然,除了这三个默认的选项,虚幻4引擎还提供了其它的一些选项,比如在Engine

    Source之下有一个Editor symbols for debugging,而且要占用9.32GB的空间。那么它的作用是什么呢?简单来说,如果你的项目需要用到C++语言,那么勾选该选项后将可以在Visual Studio中为项目的C++代码创建断点,以及其它调试所需要的特性。

    另外,如果我们在首次安装时没有勾选该选项也完全不用担心。在Epic

    Games Launcher中点击所安装引擎的版本号,会出现一个下拉菜单,我们可以勾选Editor Symbols for Debugging,点击apply就可以安装了。当然,在安装完成后需要重启引擎。

    考虑到我们part1的内容将完全使用蓝图系统,所以这里就暂时不需要勾选该选项了。

    接下来继续滚动滑动条,可以看到所支持的不同平台。默认情况下系统自动勾选了IOS,Android和HTML5,如果我们确定不会在某个特定的平台开发,比如HTML5,那么可以禁用即可。

    这里我们全部保持默认选择 ,点击Apply就可以开始安装了。

    此时系统会回到刚才选择安装路径的界面,在该界面中点击Install开始安装。

    接下来就是漫长的等待,安装的速度直接取决于网速。这里必须吐槽一下我这个破电信网络,下载速度简直是不忍直视,直接消耗了大量的生命。

    顺便说明一下,虽然我这些操作是在Mac系统下进行的,但是跟Win10系统上并没有什么太大的区别。

    另外需要特别说明的是,和Unity3d引擎类似,UE4引擎的更新速度也很快,所以如果你在这里看到的版本号不同,并没有太大的关系。

    只要你安装的引擎版本是4.18.1及其以上的,那么至少在相当一段时间里面(3-6个月),教程里面的

    各种操作不会发生太大的变化。

    安装完成之后,会看到下面的界面,点击Launch就可以打开引擎了。

    需要特别说明的是,正常情况下,我们都是通过Epic Games Launcher来打开引擎的。

    创建新项目

    接下来我们将创建自己的第一个虚幻4游戏项目。

    在等待引擎打开之后,首先我们会看到以下界面。

    点击Blueprint选项卡,这里提供了多个模板可供使用。不过考虑到我们要从零开始学虚幻4,因此这里选择Blank。在界面下面的部分会看到有几个其它选项设置,

    这里介绍一下每个选项的意思:

    1.最左侧的用来选择目标硬件平台:

    如果选择Mobile/Tablet,那么就会禁用一些后期处理特效,同时还会在开发时启用鼠标作为触摸输入。这里我们将其设置为Desktop/Console。

    2.中间的用来设置画质。

    如果选择Scalable 3D or 2D选项,那么就会禁用一些后期处理特效。这里我们选择默认的Maximum Quality(最佳画质)。

    3.是否包含默认提供的游戏资源。

    为了简单起见,这里我们将其设置为No Starter Content。

    在界面的最下方,我们可以选择项目存放的路径,以及项目的名称,这里将其命名为BananaTurntable。

    如果需要更改存放路径,我们可以点击文件路径后的三个点。

    需要说明的是,项目名称跟最后游戏的名称不是一回事,所以我们不必担心这一点。

    输入完成后,点击Create Project即可。

    玩转虚幻4编辑器的用户界面

    一旦我们创建完项目,编辑器就会自动打开,可以大致把它分为6个部分:

    1.Content Browser:

    这个非常类似于Unity3d中的Project视图,里面显示了所有的项目文件。我们可以在这里创建新的文件和文件夹,并管理所有的项目文件。此外,我们也可以使用搜索栏或者过滤器来找到所需的文件。

    2.Modes

    从这里我们可以选择一些有用的工具,比如Landscape Tool和Foliage Tool。默认情况下这里显示的是Place Tool,我们可以使用它来将多种不同类型的游戏物体放入场景中,比如灯光、摄像机等等。

    3.World Outliner

    这个比较类似于Unity3d的Hierarchy视图,我们可以在这里看到当前游戏场景中的所有游戏对象。

    4. Details

    这个有点类似Unity3d中的Inspector面板,这里会显示我们所选择的游戏对象的属性。在这里,我们可以编辑游戏对象的一些属性设置。不过需要注意的是,对游戏对象的属性设置只会改变该对象的实例。例如我们有两个球体,当我们改变了其中一个球体的大小时,只会影响所选择的球体对象,而不会影响另外一个球体。

    5.Toolbar

    工具栏中提供了一系列的功能,我们最常用到的就是Play。

    6.Viewport

    这里用可视化的形式显示了当前的游戏场景,我们可以单击右键拖动鼠标查看场景。如果想要在查看的同时移动,那么只需要按住鼠标右键,然后使用键盘上的WASD键就好。

    导入所需的游戏资源

    如果没有相关的游戏资源,我们的游戏必然是苍白而又乏味的。在这里下载香蕉的模型(链接:https://pan.baidu.com/s/1eR7kVPw密码:nib3 ),其中包含了两个文件,分别是Banana_Model.fbx和Banana_Texture.jpg。当然,如果你本人会3D美术设计,那么完全可以使用自己的游戏模型。

    下载完成之后,接下来我们需要将文件导入到虚幻4引擎中。在编辑器中找到Content Browser,然后点击Import。

    然后找到刚才所下载的两个文件,选中相关文件,然后点击Open即可。

    此时虚幻会提供FBX文件导入的相关选项,确保

    这里要取消对Import Materials的勾选,因为我们将创建自己的材质。其它选项保持默认即可。

    设置完成后,点击Import即可。此时可以在Content Browser中看到所导入的美术资源文件。

    需要注意的是,当我们导入一个文件时,有些时候引擎并不会帮我们自动将其保存到项目中。我们可以右键点击所导入的文件,然后选择Save。

    当然,更保险的方法是从菜单栏中选择File-Save All。

    另外有一点要注意的是,在虚幻4引擎中,3D模型又被称为meshes。所以现在我们已经有了香蕉的mesh,那么接下来要做的事情就是将其放入到游戏场景之中。

    将meshes添加到场景之中

    当前关卡中的游戏场景看起来空荡荡的,接下来让我们往里面添加内容。

    往关卡里面添加模型比较简单,只需要用鼠标左键选中Content Browser中的Banana_Model文件,然后把它拖曳到Viewport中就好。

    放置到游戏场景之中的游戏对象可以移动、旋转和缩放,对应的键盘快捷键分别是W,E和R。当然,我们也可以直接在游戏对象上面使用鼠标进行操作。

    关于材质(Materials)

    如果我们仔细观察游戏场景中的香蕉,会发现这根本就不是我们日常所熟悉的黄色香蕉好吗?!难道是传说中的暗黑料理?!

    什么是材质(Material)

    材质定义了某个物体表面的外观。从最基本的层面来看,材质定义了以下几个方面:

    (1)Base Color:

    物体表面的基本色彩或材质贴图,我们可以用它来添加物体表面的外观细节,或者色彩的变化。

    (2)Metallic:

    代表了物体表面的“金属化”程度,或者说表面有多像金属。通常来说,纯金属有最高的Metallic数值,而纤维的Metallic值则为0。

    (3)Specular:

    代表了非金属物体表面的镜面反射程度。例如,陶瓷物体的表面拥有比较高的Specular数值,而粘土的Specular数值则较低。

    (4)Roughness:

    代表了物体表面的粗糙程度,拥有最大roughness数值的表面完全不会发亮。这个数值通常用于类似岩石或木头的物体表面。

    下图显示了三种不同材质的示例。它们有相同的颜色,但是特征不同,每种材质都将其所对应的特征值调至最高,而其它的属性值则被设置为0。

    创建材质

    为了创建一种材质,在编辑器中切换到Content Browser,然后点击绿色的Add New按钮。此时会弹出一个菜单,其中显示了我们可以创建的游戏资源列表。点击Material即可。

    将新创建的材质命名为Banana_Material,然后双击该文件,就可以在材质编辑器中将其打开。

    和材质编辑器(Material Editor)的第一次亲密接触

    材质编辑器大概可以分为五个大的区域,如下图所示:

    1.Graph区:

    这个面板中包含了材质中的所有节点,以及Result节点。我们可以点击右键,然后移动鼠标来平移该视图。此外,还可以通过鼠标滚轮来缩放该视图。

    2.Details区:

    此处显示了所选择的任何节点的详细属性。如果没选中任何节点,那么此处将显示材质的属性。

    3.Viewport区:

    此处显示了材质的预览效果。我们可以按住鼠标左键,然后移动鼠标来旋转摄像机。同时,我们也可以通过鼠标滚轮来缩放预览效果。

    4.Palette区:

    此处显示了材质中可用的所有节点清单。

    5.工具栏

    这里显示了设置材质所用的相关工具。

    什么是Node(节点)?

    在开始创建我们自己的材质之前,需要了解用于创建材质的对象:nodes(节点)

    在虚幻4中,材质主要是由节点组成的,我们可以选择多种不同类型的节点,而这些节点也具备不同的功能。

    节点可能有自己的输入和输出,输入在节点的左侧,而输出则在节点的右侧。这些输入和输出点使用带箭头的原点来表示。

    下面这个图显示了如何使用Muliply和Constant3Vector节点为某个材质添加黄色。

    材质有一个特殊的节点,名为Result节点,在我们这个例子中就是Banana_Material。这个节点也是所有节点的终点。我们在这个节点中所插入的东西将决定材质最终的外观。

    添加Texture(材质贴图)

    为了给模型添加色彩和外观细节,我们需要texture(材质贴图)。texture本质上是一个2D突破。通常情况下,我们会将材质贴图投射到3D模型的表面,从而让其具备色彩和外观细节。

    为了给🍌模型添加材质贴图,我们需要用到之前所添加的Banana_Texture.jpg。在虚幻4中,我们可以使用TextureSample节点来给材质添加贴图。

    在材质编辑器右侧的Palette面板中搜索TextureSample,左键单击选中它,并将其拖动到graph区。

    接下来让我们选择需要用到的贴图。首先选中刚才的TextureSample节点,然后在Details面板中点击Texture右侧的下拉列表,从中选择Banana_Texture即可。

    为了在材质效果预览处看到贴图的效果,我们需要把刚刚设置的贴图连接到Result节点中。左键点击TextureSample节点的

    白色输出端口,从那里拖曳出一条线到Banana_Material的Base Color输入端口。

    等待一会儿,就会在Viewport中看到材质的预览效果了

    。按住鼠标左键不放并拖曳可以旋转预览效果,从而查看其它的细节。

    点击工具栏上的Apply按钮来更新材质,然后关闭材质编辑器即可。

    使用所创建的材质

    接下来我们将把刚刚创建的材质应用到香蕉模型上。回到虚幻4编辑器的Content Browser区,双击Banana_Model,会打开类似下面的编辑器:

    在Details面板找到Material部分,点击Element

    0右侧的下拉列表,从中选择Banana_Material。

    此时会看到预览区的🍌已经非常接近真实了。

    关闭模型编辑器,返回虚幻4的主编辑器,并查看Viewport区。此时,你会看到场景中的香蕉已经具备一个贴图了。恭喜你,现在你已经具备了成为一个关卡设计师的所有所需的基本技能~

    注意:如果你觉得环境中的光照太暗,那么可以在编辑器中的World Outliner视图中找到Light Source,在Details面板中找到Intensity属性,并将其设置为一个更高的数值即可。

    在结束今天的课程之前,让我们先保存并关闭当前的关卡。

    点击工具栏上的Save Current,或是从菜单栏中选择File-Save All,

    然后在弹出的界面中,在Name处输入FirstMap,或是任何你喜欢的其它名称,点击Save即可。

    关闭编辑器,就可以结束今天的学习了。

    好了,今天的课程到此结束,先休息一会儿吧~

    因本人时间精力有限,无法跟大家一对一解决相关的技术问题,请大家在QQ交流群 594353854 中互帮互助。群里已经几百人了 大家遇到啥问题都会在里面交流!而且免费分享零基础入门资料 iOS开发资料一整套!是个非常好的学习交流地方!也有程序员大神给大家热心解答各种问题!很快满员了,欲进从速哦!各种PDF等你来下载!全部都是免费的哦!只为帮助大家快速入门,所以我在群里等你们过来一起交流学习呢!

    著作侵删

    相关文章

      网友评论

          本文标题:从零开始学虚幻4游戏开发系列02

          本文链接:https://www.haomeiwen.com/subject/jfzggxtx.html