简述
Unreal Engine 4是一款游戏开发引擎, 能够开发从2D移动游戏到AAA级主机游戏的的所有产品。基于这款引擎开发的游戏有发方舟,生存进化,铁拳7和王国之心。
Unreal Engine 4是一款游戏开发引擎, 能够开发从2D移动游戏到AAA级主机游戏的的所有产品。基于这款引擎开发的游戏有发方舟,生存进化,铁拳7和王国之心。
对于初学者来说,在虚幻引擎4中开发是非常简单的。使用蓝图可视化脚本系统,您可以创建完整的游戏,而无需编写一行代码!结合一个易于使用的界面,您可以快速地获得一个原型并运行。
注:博主水平有限,如有疑问,请参见原英文教程
安装虚幻4引擎
虚幻引擎4使用Epic Games Launcher安装。转到虚幻引擎官网,点击右上角的“虚幻”按钮。
虚幻引擎4使用Epic Games Launcher安装。转到虚幻引擎官网,点击右上角的“虚幻”按钮。
在下载启动程序之前,需要创建一个帐户。在您创建了一个帐户之后,下载您对应操作系统的启动程序
一旦你已经下载并安装启动程序,打开它。会出现下面的窗口:
输入你用来下载启动器的电子邮件和密码,然后点击登录。一旦登入,这个窗口就会出现
在左上角,点击Install Engine。启动程序将带你到一个屏幕,您可以选择要安装的组件。
注:引擎启动程序会不断更新引擎版本,因此你的引擎版本可能会略有不同。例如,由于我编写了本教程的第一稿,版本已经更新到了4.14.3!您至少需要4.14以上的版本,来和本教程设置版本相对应。
选择了组件之后,单击Install。安装完成后,引擎将出现在您的电脑中了。现在可以开始创建项目了。
创建一个项目
单击启动按钮来打开项目浏览器。打开后,单击New Project选项卡新
单击启动按钮来打开项目浏览器。打开后,单击New Project选项卡新
单击Blueprint选项卡。在这里,您可以选择其中的一个模板。但是,由于您是从头开始的,所以选择空白模板。下面,您将发现更多的设置。
以下是每个选项的功能:
1 硬件目标:选择Mobile/Tablet将禁用一些处理后的效果。设置为Desktop/Console时。它可以使用鼠标作为一个触摸输入。
2 图形目标:设置为scalable 3D or 2D时将会禁用一些后期处理效果。这里将其设置为Maximum Quality。
3 启动内容:您可以启用这个选项来包含初学者内容。为了简单起见,将其设置为没有初学者内容。即No Starter Content。
2 图形目标:设置为scalable 3D or 2D时将会禁用一些后期处理效果。这里将其设置为Maximum Quality。
3 启动内容:您可以启用这个选项来包含初学者内容。为了简单起见,将其设置为没有初学者内容。即No Starter Content。
最后,这里用来指定项目文件夹的位置和项目名称
您可以通过点击文件夹字段末尾的按钮来更改您的项目文件夹的位置。项目名称不代表游戏的标题,所以如果您想以后修改标题,可以在名称字段中选中文本,并输入。
最后,单击Create Project创建项目。
导航界面
当您创建了这个项目,编辑器就会打开。编辑器将被分成多个面板:
当您创建了这个项目,编辑器就会打开。编辑器将被分成多个面板:
1 内容浏览器: 这个面板显示所有的项目文件。使用它创建文件夹并组织您的文件。您可以使用搜索栏或使用过滤器来搜索您的文件。
2 模型: 您可以在这个面板上进行工具之间的选择,例如横向工具和叶子工具。Place是默认工具。它允许你将许多不同类型的物体放置在平面上,例如灯光和相机。
3 世界大纲: 显示当前级别的所有对象。你可以通过将相关的项目放入文件夹来组织列表。也可以按类型进行搜索和过滤。
4 详细信息:您选择的任何对象都将在这里显示其属性。可以使用这个面板编辑对象的属性。所做的更改只会影响当前选中对象的实例。例如,如果你有两个球体,并且改变了一个球体的大小,你只会影响所选中的物体。
5工具栏:包含各种不同的功能。你用的最多的就是play。
6 视图: 这是您的视图关卡。你可以通过按住鼠标右键,移动鼠标旋转视角来查看周围的情况。如果要位置移动,按住右键,使用W A S D键进行移动。
导入资源
当前只有一个地面,上面没有任何东西展示。下载这个香蕉模型。内部有两个文件:Banana_Model.fbx and Banana_Texture.jpg 。当然,你也可以使用自己的模型,下载好香蕉模型后,下面该怎么做呢?
在引擎使用任何文件之前,您需要导入它们。找到到内容浏览器并单击Import。
当前只有一个地面,上面没有任何东西展示。下载这个香蕉模型。内部有两个文件:Banana_Model.fbx and Banana_Texture.jpg 。当然,你也可以使用自己的模型,下载好香蕉模型后,下面该怎么做呢?
在引擎使用任何文件之前,您需要导入它们。找到到内容浏览器并单击Import。
使用文件浏览器,找到文件夹和Banana_Model.fbx ,Banana_Texture.jpg两个文件。选中它们,点击打开。
引擎将为您提供一些用于.fbx文件的导入选项。确保导入的材质是未选中的,因为你将创造自己的材质。其他可以设置为默认。
单击import。这两个文件将出现在您的内容的浏览器中。
当您导入一个文件时,它实际上不会被保存到您的项目中,直到您明确保存。您可以通过右键单击文件并选择save来保存文件。也通过点击sava all按钮保存所有文件。务必要经常保存!
注意,在虚幻引擎中,模型被称为“网格”。所以现在你有了一个香蕉网格,是时候把它放到关卡上了。
将网格添加到关卡
现在的关卡看起来很空,所以让我们为它添加一些东西。
要将一个网格添加到这个关卡中,需左击并将Banana_Model从内容浏览器拖放到关卡中。松开左键网格将会放置关卡中。
现在的关卡看起来很空,所以让我们为它添加一些东西。
要将一个网格添加到这个关卡中,需左击并将Banana_Model从内容浏览器拖放到关卡中。松开左键网格将会放置关卡中。
关卡中的对象可以移动、旋转和缩放。键盘的快捷键是W,E和R,你可以这样使用操作器:
材质
如果你仔细看香蕉,你会发现它根本不是黄色的!事实上,它看起来几乎是灰色的。
材质是什么?
为了给香蕉一些颜色和细节,你需要创造一种材质。
材质决定了物体表面的外观。基本上,一种材质定义了四种物体属性:
1 基色:表面的颜色或纹理。用于添加细节和颜色变化。
2 金属:表面具有怎样“属性”的。一般来说,纯金属具有很多大的金属观感,而织物则没有金属观感。
3 镜面:控制非金属表面的光泽。例如,陶瓷会有很高的镜面反射,但是粘土没有。
4 粗糙度:具有最大粗糙度的表面不会有任何的光泽。用于岩石和木材等表面。
下面是三个不同材料的例子。它们有相同的颜色但不同的属性。每种材质对各自的属性都设置了较高的值。其他属性设置为0。
为了给香蕉一些颜色和细节,你需要创造一种材质。
材质决定了物体表面的外观。基本上,一种材质定义了四种物体属性:
1 基色:表面的颜色或纹理。用于添加细节和颜色变化。
2 金属:表面具有怎样“属性”的。一般来说,纯金属具有很多大的金属观感,而织物则没有金属观感。
3 镜面:控制非金属表面的光泽。例如,陶瓷会有很高的镜面反射,但是粘土没有。
4 粗糙度:具有最大粗糙度的表面不会有任何的光泽。用于岩石和木材等表面。
下面是三个不同材料的例子。它们有相同的颜色但不同的属性。每种材质对各自的属性都设置了较高的值。其他属性设置为0。
创建材质
创建一个材质,去你的内容的浏览器,点击绿色按钮Add New,会弹出现一个菜单栏,您可以点击菜单项material创建材质。
创建一个材质,去你的内容的浏览器,点击绿色按钮Add New,会弹出现一个菜单栏,您可以点击菜单项material创建材质。
将材质命名为Banana_Material,然后双击该文件,在材质编辑器中打开它。
材质编辑器
材质编辑器是由五个主要的面板组成:
1,节点图区域:这个面板将包含所有节点和结果节点。按住鼠标右键,移动视图。通过滚动鼠标滚轮来放大缩小。
2,详细信息:您选择的任何节点都将显示它的属性。如果没有选择一个节点,则面板将显示该材质的属性。
3,视图:包含一个预览网格,它将显示您的材质。通过按住左键并移动鼠标来旋转相机。通过滚动鼠标滚轮来放大。
4,控制板:所有可用的节点的列表。
2,详细信息:您选择的任何节点都将显示它的属性。如果没有选择一个节点,则面板将显示该材质的属性。
3,视图:包含一个预览网格,它将显示您的材质。通过按住左键并移动鼠标来旋转相机。通过滚动鼠标滚轮来放大。
4,控制板:所有可用的节点的列表。
什么是节点
在开始制作材料之前,您需要了解用于制作它的对象:节点。
节点构成了大部分的材质。许多类型的节点都是可用的,并且提供了不同的功能。
节点可以有输入和输出,由一个带箭头的圆圈表示。左边的为输入,右边的为输出。
这是一个使用Multiply 和Constant3Vector 节点为纹理添加黄色的示例:
在开始制作材料之前,您需要了解用于制作它的对象:节点。
节点构成了大部分的材质。许多类型的节点都是可用的,并且提供了不同的功能。
节点可以有输入和输出,由一个带箭头的圆圈表示。左边的为输入,右边的为输出。
这是一个使用Multiply 和Constant3Vector 节点为纹理添加黄色的示例:
材料有一个特殊的节点,叫做结果节点,在本例中已经为您创建了Banana_Material。所有节点都将在这儿结束。无论你把这个结点插入到这个结点中,结果节点都将决定最终材质的外观。
添加纹理
要为模型添加颜色和细节,您需要一个纹理。纹理只是一个二维图像。通常,它们被投射到3D模型上,以赋予其颜色和细节。
要为香蕉添加纹理,你可以使用Banana_Texture.jpg。TextureSample节点将允许您在您的材质中使用纹理。
转到到控制板,并搜索TextureSample。通过按住左键并将其拖动到图中来添加节点。
要为模型添加颜色和细节,您需要一个纹理。纹理只是一个二维图像。通常,它们被投射到3D模型上,以赋予其颜色和细节。
要为香蕉添加纹理,你可以使用Banana_Texture.jpg。TextureSample节点将允许您在您的材质中使用纹理。
转到到控制板,并搜索TextureSample。通过按住左键并将其拖动到图中来添加节点。
要选择纹理,请确保选中了TextureSample节点。转到到您的详细信息面板,并单击位于纹理右侧的下拉列表。
菜单会弹出项目中的所有纹理。选择banana_texture
查看预览网格中的纹理,您需要将其插入结果节点。按住鼠标左键单击TextureSample节点的白色输出针。将它拖到结果节点的base color输入上。
回到视图中看到预览网格中的纹理。转动它(按住鼠标左键并拖动)看其他细节。
单击工具栏中的Apply 更新你的材质,并关闭材料编辑。
使用材质
要用香蕉材质,你需要把它赋给模型。返回到内容浏览器,双击Banana_Model 来打开它。下面的编辑将会出现:
要用香蕉材质,你需要把它赋给模型。返回到内容浏览器,双击Banana_Model 来打开它。下面的编辑将会出现:
转到详细信息面板,找到材质部分。单击位于元素右侧的下拉列表,并选择Banana_Material。
关闭网格编辑器,返回到主编辑并查看视图。你会看到你的香蕉,现在有了纹理。恭喜你,你现在已经拥有了成为一名平面设计师所需的一切!
注意:如果灯光太暗,你可以通过去世界大纲窗口和点击点光源来改变它。在Details面板中,找到亮度设置部分,并设置为更高的亮度值。
蓝图
尽管香蕉看起来很神奇,但它在转盘上看起来会更好。创建一个简单的蓝图。
从最简单的意义上说,一个蓝图代表着一种“事物"。蓝图允许你为你的对象创建自定义行为。你的对象可以是物理的东西(比如转盘),或者一些抽象的东西,比如健康系统。
如想要制造一辆移动的汽车呢?做一个蓝图。那如果是一只飞猪呢?使用蓝图。或者是一只会在撞击中爆炸的小猫呢?蓝图。
就像材质一样,蓝图也使用一个基于节点的系统。这意味着您所需要做的就是创建节点并将它们链接起来;不需要编码!
尽管香蕉看起来很神奇,但它在转盘上看起来会更好。创建一个简单的蓝图。
从最简单的意义上说,一个蓝图代表着一种“事物"。蓝图允许你为你的对象创建自定义行为。你的对象可以是物理的东西(比如转盘),或者一些抽象的东西,比如健康系统。
如想要制造一辆移动的汽车呢?做一个蓝图。那如果是一只飞猪呢?使用蓝图。或者是一只会在撞击中爆炸的小猫呢?蓝图。
就像材质一样,蓝图也使用一个基于节点的系统。这意味着您所需要做的就是创建节点并将它们链接起来;不需要编码!
注意:如果您更喜欢编写代码,那么可以使用C++。
虽然蓝图很容易使用,但它们并不像C++代码效率那么高。因此,如果您需要使用像复杂算法那样的计算量大的东西,那么您应该考虑使用C++。
即使您更喜欢使用C++,也有一些时候使用蓝图是一个好主意。以下是一些蓝图的好处:
一般来说,使用蓝图比C++开发更快。
简单的组织。您可以将节点分成不同的区域,例如函数和图形。
如果您正在与非程序员合作,那么修改蓝图很容易,因为它的可视性和直觉性。
一个好的方法是用蓝图来创建你的对象。当您需要提高的性能时,将它们转换为C++。
虽然蓝图很容易使用,但它们并不像C++代码效率那么高。因此,如果您需要使用像复杂算法那样的计算量大的东西,那么您应该考虑使用C++。
即使您更喜欢使用C++,也有一些时候使用蓝图是一个好主意。以下是一些蓝图的好处:
一般来说,使用蓝图比C++开发更快。
简单的组织。您可以将节点分成不同的区域,例如函数和图形。
如果您正在与非程序员合作,那么修改蓝图很容易,因为它的可视性和直觉性。
一个好的方法是用蓝图来创建你的对象。当您需要提高的性能时,将它们转换为C++。
创建蓝图
转到“内容浏览器”,点击“Add New”。从列表中选择Blueprint class点击。
转到“内容浏览器”,点击“Add New”。从列表中选择Blueprint class点击。
将会出现一个窗口,提示您选择一个父类。您的蓝图将继承您选择的父类中的所有变量、函数和组件。花点时间阅读一下每个类的功能注释。
注意:你可以放置和pawn和character类,他们也是Actors。
因为转盘只会停留在一个地方,所以Actors类是最合适的。选择Actors并命名新文件为Banana_Blueprint。
最后,双击Banana_Blueprint来打开它。如果有这样的窗口出现,则点击打开的完整蓝图编辑器
蓝图编辑
首先,确保在蓝图编辑器中选择了事件节点图"选项卡"。
蓝图编辑器有四个主要面板:
首先,确保在蓝图编辑器中选择了事件节点图"选项卡"。
蓝图编辑器有四个主要面板:
1,组件面板: 包含当前组件的列表
2,蓝图面板: 本节主要用于管理函数和变量。
3,属性面板: 这将显示当前选中项的属性。
4,节点图面板: 这就是奇迹发生的地方。所有的节点和逻辑都在这里编辑。按住鼠标右键移动。通过滚动鼠标滚轮来放大。
5,视图:任何具有可视的组件都会出现在这里。您可以使用与主编辑器中的Viewport相同的控件来移动和查看周围的内容。
创建转盘
要创建转盘,你需要两样东西:一个底座和一个显示器。您可以通过使用组件来创建这两个对象。
什么是组件?
如果蓝图是汽车,那么零部件就是构成汽车的组成部分。车门、轮子和引擎都是组件的例子。
然而,组件并不局限于物理对象。
例如,为了让汽车移动,您可以添加一个移动组件。你甚至可以通过添加一个飞行组件来让汽车飞起来。
添加组件
在您看到任何组件之前,您需要切换到Viewport视图。单击Viewport选项卡切换到它。这就是它的样子:
2,蓝图面板: 本节主要用于管理函数和变量。
3,属性面板: 这将显示当前选中项的属性。
4,节点图面板: 这就是奇迹发生的地方。所有的节点和逻辑都在这里编辑。按住鼠标右键移动。通过滚动鼠标滚轮来放大。
5,视图:任何具有可视的组件都会出现在这里。您可以使用与主编辑器中的Viewport相同的控件来移动和查看周围的内容。
创建转盘
要创建转盘,你需要两样东西:一个底座和一个显示器。您可以通过使用组件来创建这两个对象。
什么是组件?
如果蓝图是汽车,那么零部件就是构成汽车的组成部分。车门、轮子和引擎都是组件的例子。
然而,组件并不局限于物理对象。
例如,为了让汽车移动,您可以添加一个移动组件。你甚至可以通过添加一个飞行组件来让汽车飞起来。
添加组件
在您看到任何组件之前,您需要切换到Viewport视图。单击Viewport选项卡切换到它。这就是它的样子:
注意:DefaultSceneRoot组件在播放时不会显示。它只会显示在编辑器中。
转盘将使用两个组件:
1 圆柱:一个简单的白色圆柱体。这是香蕉的底座。
2 静态网格:此组件将显示香蕉网格。
要添加底座,转到到组件面板。点击添加组件并选择圆柱体。
1 圆柱:一个简单的白色圆柱体。这是香蕉的底座。
2 静态网格:此组件将显示香蕉网格。
要添加底座,转到到组件面板。点击添加组件并选择圆柱体。
把底座缩短一点是一个好主意。通过按下R,然后把它缩小(精确的尺寸并不重要,你可以在你想要的时候稍做调整)。
现在是添加网格的时候了。返回到组件面板,然后单击一个空白区域来取消选定的圆柱体组件。这将确保下一个添加的组件不附加到柱体组件上。
注意:如果不这样做,下一个组件将被附加到柱体组件上。这意味着它还将继承圆筒组件的缩放比例。因为你把圆筒缩小了,下一个部件也会被缩小。
接下来,单击Add Component ,并从列表中选择静态网格。
要显示香蕉,需选择静态网格组件,然后单击Details选项卡。单击位于静态网格右侧的下拉框并选择Banana_Model.。
如果香蕉没有在正确的位置,就把香蕉移走。通过按W的动作来激活动作机械臂,然后移动它。
蓝图节点
是时候让转盘旋转了。这就是蓝图节点的作用。
如果一个节点有一个输入针,那么它在执行之前必须有一个连接。如果一个节点没有连接,那么任何后续节点都不会执行。
例子:
节点A和节点B将执行,因为它们的输入点有一个连接。节点C和节点D永远不会执行,因为节点C的输入点没有连接。
旋转转盘
在开始之前,先看一下组件面板。您将看到,圆柱体和静态网格是缩进的,但是DefaultSceneRoot不是。这是因为它们都是是附在DefaultSceneRoot上的子组件。
在开始之前,先看一下组件面板。您将看到,圆柱体和静态网格是缩进的,但是DefaultSceneRoot不是。这是因为它们都是是附在DefaultSceneRoot上的子组件。
如果你想移动,旋转或缩放一个根组件,它的子组件也会这样。这样,您就可以将圆筒和静态网格一起旋转,而不是单独地旋转。
创建节点
要启动脚本,请切换回Event Graph选项卡。
使对象旋转非常简单,只需要创建一个节点。在图上右击一个空白区域,以弹出可用节点的菜单。寻找AddLocalRotation。由于您需要旋转基础和香蕉,您只需旋转根组件即可。选择AddLocalRotation(DefaultSceneRoot)。
注意:如果没有列出节点,则在菜单的右上角设置对上下文敏感。
要启动脚本,请切换回Event Graph选项卡。
使对象旋转非常简单,只需要创建一个节点。在图上右击一个空白区域,以弹出可用节点的菜单。寻找AddLocalRotation。由于您需要旋转基础和香蕉,您只需旋转根组件即可。选择AddLocalRotation(DefaultSceneRoot)。
注意:如果没有列出节点,则在菜单的右上角设置对上下文敏感。
您的图现在将有一个新的AddLocalRotation 节点。目标输入将自动与您所选择的组件有一个连接。
要设置旋转值,可以转到AddLocalRotation 输入,并将Z值更改为1.0。这将导致蓝图围绕z轴旋转。更高的数值会使转盘旋转得更快。
要设置旋转值,可以转到AddLocalRotation 输入,并将Z值更改为1.0。这将导致蓝图围绕z轴旋转。更高的数值会使转盘旋转得更快。
要不断旋转转盘,你需要每一帧都调用AddLocalRotation 。要执行每个的节点,请使用事件标记节点。它已经在你的图中了。如果不是,您可以使用与以前相同的方法创建一个。
将事件标记节点的输出插口拖到AddLocalRotation 节点的输入插口上。
将事件标记节点的输出插口拖到AddLocalRotation 节点的输入插口上。
注意:在这个实现中,旋转速率依赖于帧速率。这意味着转盘在低速机器上的旋转速度较慢,反之亦然。这对于本教程来说很好,因为我想让事情变得简单,但是我将在以后的教程中向您展示如何解决这个问题。
最后,切换到工具栏并单击Compile来更新您的蓝图,然后关闭Blueprint编辑器。
最后,切换到工具栏并单击Compile来更新您的蓝图,然后关闭Blueprint编辑器。
把蓝图添加到关卡上
在添加蓝图之前,回到主编辑器中的Viewport并删除香蕉模型。要做到这一点,选择模型,然后选择Edit Delete,或者按下您的Delete键。
添加一个Blueprint和添加一个网格是相同的过程。按住左键单击文件并将其拖放到Viewport中。
导航到工具栏,点击播放,查看所有你的辛勤工作!
注意:如果你没有删除原来的香蕉模型,你可能会得到一个警告,说明照明需要重建。如果您删除了模型,错误将不再出现。
来源:https://blog.csdn.net/qq_42145322/article/details/100671944