UE5初学者快速入门教程

news2024/9/29 17:38:58

虚幻引擎是一系列游戏开发工具,能够将 2D 手机游戏制作为 AAA 游戏机游戏。虚幻引擎 5 用于开发下一代游戏,包括Senua's Saga: Hellblade 2Redfall(来自 Arkane Austin 的合作射击游戏)、Dragon Quest XII: The Flames of FateGears of War 6、 Ashes of Creation古墓丽影的下一部分。

动图封面

虚幻引擎 5 (UE5) 为现实环境带来了全新的工具:

  • Lumen,一种新的照明技术。
  • Nanite,一个用于详细模型和环境的系统。
  • World Partitions,允许流式传输大型世界。
  • One File Per Actor,这使开发人员可以更轻松地处理同一项目。
  • 与 Quixel Megascans 库集成。
  • MetaHuman — 一种用于逼真化身的技术。
  • 还有很多!

在虚幻引擎 5 中进行开发对于初学者来说很简单。使用蓝图可视化脚本系统,您无需编写一行代码即可创建整个游戏!结合易于使用的界面,您可以快速启动并运行原型。

本虚幻引擎 5 教程侧重于帮助初学者入门。本教程将涵盖几个方面,包括:

  • 安装虚幻引擎
  • 导入资产
  • 创建材质
  • 使用蓝图创建具有基本功能的对象。

使用此链接下载项目的资产。准备好深入了解虚幻引擎!

1、安装虚幻引擎 5

虚幻引擎 5 使用Epic Games Launcher进行安装。前往虚幻引擎网站并单击右上角的下载按钮。

你可以选择PublishingCreators许可证。如果打算发布项目或通过项目获利,请选择发布选项。现在选择下载Epic Games 启动器

下载并安装启动器后,打开它。系统将提示您使用 Epic 帐户登录:

使用下载启动器时使用的相同方法登录。登录后,点击右上角的安装引擎。如果没有安装任何版本的虚幻引擎,启动器会将你带到一个屏幕,可以在其中选择安装位置以及要安装的组件。

如果已经安装了一个版本,请单击选项卡,然后单击引擎版本 +按钮以选择安装新版本的虚幻引擎。选择 Unreal Engine 5.0.0 版本开始安装。

接下来,单击图标上的安装。你需要选择一个安装目录。

注意: Epic Games 会不断更新虚幻引擎,因此您的引擎版本可能与此不同。本教程的 2022 更新现在包含在 Unreal Engine 5 版本中拍摄的图像,并且视图可能会随着引擎的发展而变化。

2、创建项目

引擎安装完成后,返回Epic Games Launcher并选择左侧的 Unreal Engine 选项卡。

单击启动 UE5按钮以打开项目浏览器。这可能需要一段时间,尤其是对于初始运行。

项目浏览器打开后,单击左侧的“游戏”按钮以查找可用于开始新项目的模板。

在这里,选择其中一个模板。因为你是从头开始,所以选择空白模板。在Project Defaults下,保留 Blueprint 而不是 C++ 的默认设置。

以下是下一个选项的作用:

  • 目标平台:选择手机或平板会禁用一些后期处理效果。它还可以使用鼠标作为触摸输入。将此设置为Desktop
  • 质量预设:选择可缩放将禁用一些后期处理效果。将此设置为最大值
  • 入门内容:此选项包括一些入门内容。取消选中Starter Content以创建一个干净的项目。
  • 光线追踪:这可以实现实时微妙的照明。不选中此选项。

最后,你必须指定项目文件夹的位置和项目名称。

项目名称不代表游戏的名称,以后想改名称也不要着急。选择项目名称字段中的文本并输入Submarine

最后,单击“创建”开始你的 UE5 奥德赛!

3、导航界面

创建项目后,编辑器将打开。如果你使用过 UE4,会看到新的编辑器视图简化了控件和侧边栏以专注于游戏视图。

编辑器分为多个面板:

  1. 视口:虚幻引擎 5 使你的关卡视图成为主要焦点,而其他面板则减少了占用空间。按住鼠标右键移动鼠标环顾四周。要移动,请按住右键单击并使用WASD键。
  2. 模式:此面板可让你在景观工具植物工具等工具之间进行选择。放置工具是默认工具。它允许你将多种类型的对象放置到关卡中,包括灯光和相机。
  3. World Outliner:显示当前关卡中的所有对象。你可以通过将相关项目放入文件夹来组织列表,并且可以按类型搜索和过滤。
  4. 详细信息:你选择的任何对象都将在此处显示其属性。使用面板编辑对象的设置。所做的更改将仅影响对象的该实例。例如,如果你有两个球体并更改一个球体的大小,则只会影响所选对象。
  5. 工具栏:包含多种功能。最常使用的是Play
  6. 内容抽屉:此面板显示你的所有项目文件。使用它来创建文件夹和组织文件。你可以使用搜索栏或过滤器搜索文件。展开以显示项目中的所有资产。

4、导入资产

你将需要在智能手机中开始使用这种类型,将材料方便下载用于提供一个虚拟文件中,包括一个 3D 的fbx模型submarine-low-poly/submarine.fbx和该模型的贴图Submarine-low-poly/*.png

在 Unreal 可以使用任何文件之前,必须导入它们。导航到 Content Drawer 并单击内容并创建一个名为模型的新文件夹。

选择FBX模型和你的文件夹。

虚幻为你提供了一些 .fbx 文件的导入选项。将模型的Import Uniform Scale设置为100以统一放大模型。

现在将Material Import Method设置为Do Not Create Material取消勾选 Import Textures。你将导入纹理并分别创建材质。

接下来,单击Import All按钮。FBX 中包含的模型将出现在你的Content Browser文件夹中。请注意,在 Unreal 中,这些模型称为静态网格

导入文件时,除非你明确这样做,否则它不会保存到你的项目中。通过右键单击文件并选择Save来保存文件,或者通过选择File ▸ Save All一次保存所有文件。经常保存!

现在在 Content Drawer 中创建一个名为Materials的文件夹,并将五个 PNG 纹理导入到Materials文件夹中。同样,在导入纹理后保存文件。

接下来,我们将重新组装模型组件和纹理部件以构建完整的潜艇。

5、创建第一个Actor

Actor是放置在关卡中的对象,无论是相机、静态网格还是游戏关卡的起始位置。

我们将创建一种称为蓝图的特殊类型的Actor,它可以将网格组件组合成一个在游戏中使用的对象。

蓝图比简单地加入 3D 模型更强大——它们还可以将复杂的逻辑与模型集成在一起,并共同创建可重用的部分以添加到游戏中。

在最简单的意义上,蓝图代表一个“事物”。蓝图可让你为对象创建自定义行为。你的对象可以是物理的东西(例如潜艇)或抽象的东西,例如健康系统。

想做一辆移动的汽车?制作蓝图。会飞的猪呢?使用蓝图。一只在撞击时爆炸的小猫怎么样?蓝图

要创建 蓝图,首先在 Contents Drawer 中创建一个名为Blueprints的文件夹。

接下来,右键单击你Blueprints文件夹并选择创建一个Blueprint Class。选择制作一个 Actor,并将其命名为Submarine

动图封面

现在双击此蓝图 Actor 以打开蓝图 Actor 的编辑器。是时候建立你的潜艇模型了!

5.1 蓝图编辑器

蓝图编辑器有五个主要面板:

  1. 组件:包含当前组件的列表。
  2. 我的蓝图:此部分主要用于管理您的图表、函数和变量。
  3. 事件图:这就是魔法发生的地方。你所有的节点和逻辑都在这里。按住右键单击移动鼠标进行平移。通过滚动鼠标滚轮进行缩放。
  4. 视口:任何具有视觉元素的组件都会出现在这里。使用与主编辑器中的视口相同的控件移动和环顾四周。
  5. 详细信息:这将显示所选项目的属性。

潜艇模型可以使用组件进行组装。

5.2 什么是组件?

如果你在为潜艇写蓝图,它会描述构成潜艇的部件:主体、窗户、潜望镜和螺旋桨。在虚幻引擎中,这些都是蓝图组件的示例。

5.3 添加组件

在您看到任何组件之前,如果您还没有,请切换到视口视图。单击“视口”选项卡进行切换。

DefaultSceneRoot是模型的最顶层成员,但它只会显示在编辑器中。将每个模型部件从 Content Browser 拖到DefaultSceneRoot下的这个蓝图中。这些模型零件将再次组装成潜艇。

动图封面

在蓝图编辑器中选择编译保存。在更新蓝图后始终执行这些步骤,以便能够查看更改如何影响游戏。

6、关于材料

如果你仔细观察这艘潜艇,你会发现它的表面有一个棋盘,而不是正常的外观。为了给潜艇颜色和细节,你将创建一个材质

6.1 什么是材料?

材料决定了事物表面的外观。从根本上说,材料定义了四个要素:

  • 基色:表面的颜色或纹理。用于添加细节和颜色变化。
  • 金属:表面有多“金属”。通常,纯金属的金属值最大,而织物的金属值为零。
  • 镜面反射:控制非金属表面的光泽度。例如,陶瓷将具有高镜面反射值,但粘土不会。
  • 粗糙度:具有最大粗糙度的表面不会有任何光泽。它用于岩石和木材等表面。以下是三种材料的示例。它们具有相同的颜色但具有不同的属性。每种材料对其各自的属性都有很高的价值。其他属性设置为零。

6.2 创建材质

关闭潜艇蓝图并返回 Content Drawer,选择 Materials 文件夹并单击绿色的Add按钮。将出现一个菜单,其中包含你可以创建的资产列表。单击材料

动图封面

6.3 材质编辑器

将材质命名为SubmarineMaterial,然后双击该文件以在材质编辑器中打开它。

材质编辑器有几个面板:

  1. 视口:包含将显示你的材质的预览网格。按住左键移动鼠标来旋转相机。通过滚动鼠标滚轮进行缩放。
  2. 详细信息:你选择的任何节点都将在此处显示其属性。如果未选择节点,面板将改为显示材料的属性。
  3. 材质图:此面板将包含你的所有节点和结果节点。按住右键单击移动鼠标进行平移。通过滚动鼠标滚轮进行缩放。
  4. 调色板:可用于你的材质的所有节点的列表。

6.4 什么是节点?

在开始制作材料之前,你需要了解图形的节点引脚

节点构成了材质的大部分。许多节点可用并提供不同的功能。

节点可以有输入和输出,也称为针脚,用带箭头的圆圈表示。输入在左侧,输出在右侧。

例如,使用MultiplyConstant3Vector节点将黄色添加到纹理:

6.5 添加纹理

要为模型添加颜色和细节,你需要一个纹理。纹理是 2D 图像。通常,它被投影到 3D 模型上以赋予它们颜色和细节。

材质有一个称为Result节点的特殊节点,在本例中已为你创建了SubmarineMaterial。这是你的所有节点将结束的地方。无论插入此节点的任何内容都将决定最终材质的外观。

查看Result节点的一些组件:

  1. 基础颜色:这描述了最重要的纹理,它提供了 3D 网格表面上的基本颜色映射。
  2. 法线:法线贴图允许通过在沿表面的每个像素处提供法线向量来将重要的附加细节添加到网格中。
  3. 环境光遮蔽:描述光线更难到达的表面区域。

从该窗口的底部打开内容抽屉。从 Materials 文件夹将五个纹理中的每一个拖到图形中。

在图表中,通过在两个节点的引脚之间拖放一条线,将纹理节点的RGB引脚与材质中的相应连接建立连接。

最后,你的材质应包含所有五种纹理:

单击工具栏中的应用保存以更新材料并关闭材料编辑器—完成。

6.7 使用材料

要将你的材质与潜艇一起使用,请指定它。返回内容抽屉并双击潜艇蓝图将其打开。选择Viewport选项卡并缩小以查看整个潜艇:

选择蓝图中的所有五个模型,然后转到 Details 面板并找到Materials部分。单击Element 0右侧的下拉菜单,然后选择SubmarineMaterial

动图封面

编译保存你潜艇蓝图。下面我们将通过动画使该资产栩栩如生!

7、向蓝图添加逻辑

要探索虚幻引擎的深度,我们需要了解更多关于蓝图的知识。

与材质类似,蓝图中的脚本通过基于节点的系统工作。这意味着需要做的就是创建节点并链接它们。无需编码。

虚幻引擎也支持使用 C++ 编写逻辑,但我建议你从蓝图系统开始。

蓝图的一些好处:

  • 通常,使用蓝图进行开发比使用 C++ 更快。
  • 易于组织。你可以将节点划分为函数和图形等区域。
  • 如果与非程序员一起工作,那么修改蓝图很容易,因为它具有可视化和直观的特性。

一个好的方法是使用蓝图创建您的对象。当您需要额外的性能时,请将它们转换为 C++。

8、关于蓝图节点

是时候让这艘潜艇移动了——在蓝图中为螺旋桨设置动画很容易。这就是蓝图节点的用武之地。

与材质节点表亲不同,蓝图节点具有称为执行引脚的特殊引脚。左边的引脚是输入,右边的引脚是输出。所有节点将至少具有其中之一。

如果一个节点有一个输入引脚,它必须有一个连接才能执行。如果一个节点没有连接,任何后续节点都不会执行。

这是一个例子:

节点 A节点 B将执行,因为它们的输入引脚有连接。节点 C节点 D永远不会执行,因为节点 C 的输入引脚没有连接。

9、旋转螺旋桨

打开潜艇蓝图。要开始编写脚本,请切换到Event Graph选项卡。

使对象旋转非常简单,你只需要创建一个节点。右键单击图形上的空间以显示可用节点的菜单。搜索AddLocalRotation。旋转subabian_Motor组件。选择AddLocalRotation (submarine_Motor)

注意:如果未列出该节点,请取消选中菜单右上角的Context Sensitive 。

你的图表现在将有一个新的AddLocalRotation节点。目标输入将自动连接到所选组件。

要设置旋转值,请转到Delta Rotation输入并将Y值更改为2.0。这将导致蓝图围绕其 Y 轴旋转。较高的值将使螺旋桨旋转得更快。

要不断旋转转盘,你需要每帧调用AddLocalRotation 。要每帧执行一个节点,请使用Event Tick节点。它应该已经在你的图表中。如果不是,请使用与以前相同的方法创建一个。

Event Tick节点的输出引脚拖到 AddLocalRotation节点的最顶部输入引脚。

动图封面

注意:在这个实现中,旋转速率取决于帧速率——螺旋桨在较慢的机器上会以较慢的速率旋转,反之亦然。这对本教程来说很好。

最后,转到工具栏并单击编译以更新您的蓝图,然后关闭蓝图编辑器。

10、将Actor带到现场

添加蓝图与添加网格的过程相同。从内容抽屉中,潜艇蓝图拖到视口中。

动图封面

关卡中的对象可以移动旋转缩放。这些的键盘快捷键是WER

10、添加水效果!

这艘潜艇看起来像是搁浅在沙漠中!添加一些效果让它看起来像在水下怎么样?

首先,在大纲视图中选择VolumetricCloud并将其从场景中删除以移除云。

创建蓝色大海的一种简单方法是添加后期处理效果以将世界染成蓝色。后期处理效果是在渲染帧后应用的那些更改。

后期处理效果通常用于提供风格变化,例如运动模糊、光晕和黑白照片风格。

通过单击工具栏中的快速添加按钮并选择Volumes ▸ PostProcessVolume将PostProcessVolume添加到场景:

这将创建一个盒子。如果相机在其范围内,则会应用后期处理效果。在Outliner树中选择新添加的PostProcessVolume并查看详细信息。通过将变换设置为(X:0.0,Y:0.0,Z:0.0)位置(X:50.0,Y:50.0,Z:50.0)的比例,确保框位于原点并覆盖视图.

要更改世界的显示方式,请找到名为Color Grading的部分,并将Global ContrastGamma设置为蓝色值:

现在应该看起来你在水下。屏住呼吸,但不要太久,因为您仍然需要测试所有辛勤工作的结果!
导航到工具栏并点击播放以查看潜艇在其自然栖息地中的运行情况。

动图封面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/803448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI 医疗:MONAI用于医疗影像领域的深度学习

软件介绍 一套开源、免费的协作框架,旨在加速医学成像领域的研究和临床协作。目标是通过构建一个强大的软件框架来加快创新和临床转化的步伐,该框架有利于几乎各个级别的医学成像、深度学习研究和部署。 MONAI利用 3D Slicer 和 DeepEdit 算法来注释您的…

IDEA Writing classes... 比较慢

IDEA配置修改如下: 1、File -> Settings… 2、Build,Execution,Deployment -> Compiler Build process heap size 配置为 20483、Build,Execution,Deployment -> Compiler -> ActionScript & Flex C…

Effective Java 案例分享(八)

39、使用注解而不是通过命名规则分类 如果需要对定义class,property,或者method进行分类管理,推荐的做法是使用注解对其添加类别,而不是通过命名规则分类。这里以JUnit为例: 在JUnit 3中,如果要写测试的方…

100% RNN language model ChatRWKV 相关开源项目

RWKV(读作RwaKuv)借鉴了RNN的移动平均模型(MA),将transformer的 O ( T 2 d ) O(T^2d) O(T2d)复杂度降低到 O ( T d ) O(Td) O(Td),同时保持较好的结果表现。RWKV也是一个开源模型,甚至其介绍主页的html代码都有开源。以…

OpenLayers入门,OpenLayers地图初始化时如何设置默认缩放级别、设置默认地图中心点、最大缩放级别和最小缩放级别以及默认坐标系

专栏目录: OpenLayers入门教程汇总目录 前言 OpenLayers地图初始化时如何设置默认缩放级别、初始化时设置默认地图中心点、设置最大缩放级别和最小缩放级别,超过缩放级别用户无法再放大和缩小,和设置默认坐标系。 二、依赖和使用 "ol": "^6.15.1"使用…

[VRTK4.0]添加一个Curved Pointer

学习目标: 演示如何将 Tilia曲线指针添加到场景,以及如何使用 OpenXR 指针姿势来确保指针方向始终与 OpenXR 控制器的正确方向匹配 流程: 步骤一: 现在我们需要Tilia包,所以我们转到窗口Tilia包导入器,既…

【电源专题】电量计参数RSOC/RM/FCC定义

在文章【电源芯片】电量计(Gauge)介绍中我们讲到电量计的功能就是监测电池、计量电量。 那么电量计其实也是有很多算法的,比如【电源专题】电量计估计电池荷电状态方法(开路电压法及库仑计法)的差别文章所说的开路电压法和库仑计法。当然还有如阻抗跟踪法、CEDV算法等。 …

node.js的优点

提示:node.js的优点 文章目录 一、什么是node.js二、node.js的特性 一、什么是node.js 提示:什么是node.js? Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱…

The Sandbox 归属周活动第二弹

邀请所有玩家在「归属谷」自由表达自己的想法。 欢迎来到第二届 The Sandbox 归属周,我们很高兴能与您一起庆祝! 从 7 月 24 日到 7 月 31 日,我们欢迎所有人参与是次活动,以展示我们全球玩家、创作者、建设者和收藏者社区的独特性…

8款常见的自动化测试开源框架

在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、API 测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来…

信息安全战线左移!智能网联汽车安全亟需“治未病”

当汽车由典型的工业机械产品逐步发展成为全新的智能移动终端,汽车的安全边界发生了根本性改变,信息安全风险和挑战不断增加。 面对复杂的异构网络、异构系统及车规级特异性要求,智能智能网联汽车信息安全到底要如何防护,已经成为…

优维产品最佳实践第2期:一个“好”的告警通知是怎样的?

告警通知信息是监控实践中非常关键的一环,在众多的告警消息中,如何让管理员快速识别关键信息,从而提升故障响应效率? 本期EasyOps产品使用最佳实践,我们将为您揭晓: 一个称得上”好“的告警通知应该是怎样…

ICC2删除所有电源的方法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?知识星球入口 remove_pg_patterns -all remove_pg_strategies -all remove_pg_strategy_via_rules -all remove_pg_via_master_rules -all remove_pg_regions -all remove_routes -net_types {p…

使用Gradio构建生成式AI应用程序; Stability AI推出Stable Diffusion XL 1.0

🦉 AI新闻 🚀 Stability AI推出最先进的AI工具Stable Diffusion XL 1.0 摘要:Stability AI宣布推出Stable Diffusion XL 1.0,该版本是其迄今为止最先进的AI工具。Stable Diffusion XL 1.0提供更鲜艳、更准确的图片生成&#xff…

背包逆推--数字组合

这个题我们进行Y氏DP分析得到&#xff0c;求得的集合为等于m的数量&#xff0c;那么属性就是count(数量) 进行状态计算&#xff0c;一边是关于不选第i个物品的所有方案&#xff0c;一边是关于选第i个物品的方案。 #include<bits/stdc.h> using namespace std; int a[1000…

【数字IC基础】竞争与冒险

竞争-冒险 1. 基本概念2. 冒险的分类3. 静态冒险产生的判断4. 毛刺的消除使用同步电路使用格雷码增加滤波电容增加冗余项&#xff0c;消除逻辑冒险引入选通脉冲 1. 基本概念 示例一&#xff1a; 如上图所示的这个电路&#xff0c;使用了两个逻辑门&#xff0c;一个非门和一个与…

二. 多传感器时间同步方案(时序闭环)--1

前两篇文章讲了器件选型和多传感器系统设计&#xff1a; 一. 器件选型心得&#xff08;系统设计&#xff09;--1_goldqiu的博客-CSDN博客 一. 器件选型心得&#xff08;系统设计&#xff09;--2_goldqiu的博客-CSDN博客 二. 多传感器时间同步方案&#xff08;时序闭环&#x…

选择适合产品需求管理的项目管理系统,打造完美项目流程!

一般来说&#xff0c;互联网产品经理收到的需求一般分为业务需求、用户需求和产品功能需求。业务需求主要包括战略和规则需求&#xff1b;用户需求一般是真实反馈、真实需求、吐槽、建议等。&#xff1b;功能需求主要围绕产品的旧功能问题进行升级&#xff0c;bug处理、技术问题…

高德地图JS API升级到2.0版本

项目上反馈高德地图底图信息更新不及时&#xff0c;不利于进行点位规划。经研究发现高德地图JS API 1.4.15版本相对于2.0版本&#xff0c;确实地图切片上的标注信息较少。通过工单的形式询问高德的技术工程师认识到1.4.15版本数据更新有延迟&#xff0c;1.4.15版本地图的数据以…

深入理解Go语言中的并发编程【29】【原子操作(atomic包)、并发安全性】

文章目录 原子操作(atomic包)原子操作atomic包示例 并发安全性 原子操作(atomic包) 原子操作 代码中的加锁操作因为涉及内核态的上下文切换会比较耗时、代价比较高。针对基本数据类型我们还可以使用原子操作来保证并发安全&#xff0c;因为原子操作是Go语言提供的方法它在用户…