经典ip改编 最好玩的回合制RPG游
游戏研究

【UE4教学】从零开始学虚幻4游戏开发系列02

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  只要你安装的引擎版本是4.18.1及其以上的,那么至少在相当一段时间里面(3-6个月),教程里面的各种操作不会发生太大的变化。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  此时虚幻会提供FBX文件导入的相关选项,确保这里要取消对Import Materials的勾选,因为我们将创建自己的材质。其它选项保持默认即可。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  为了在材质效果预览处看到贴图的效果,我们需要把刚刚设置的贴图连接到Result节点中。左键点击TextureSample节点的白色输出端口,从那里拖曳出一条线到Banana_Material的Base Color输入端口。

  等待一会儿,就会在Viewport中看到材质的预览效果了。按住鼠标左键不放并拖曳可以旋转预览效果,从而查看其它的细节。

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

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

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

  点击工具栏上的Save Current,或是从菜单栏中选择File-Save All,然后在弹出的界面中,在Name处输入FirstMap,或是任何你喜欢的其它名称,点击Save即可。