UE5——创建你的第一个游戏

14 篇文章 17 订阅
订阅专栏

一、引言

对于刚接触UE的人来说,如何从0—>1创建出一个自己的小游戏,UE5官方提供了一个很棒的案例,如下
《Your First Game In Unreal Engine 5》视频原文
需要准备的材料有:
1、UE5引擎
2、 Stack O Bot 提供的资源
3、耐心的看完这篇文章(浓缩了整个视频的精华)

二、游戏展示

请添加图片描述

三、整体大纲

1、创建工程
2、创建游戏中的第一个资产(一个小盒子)
3、创建地形(地形工具,切换到地形模式)
4、创建地形中的植被(草、石头)并刷到场景中
5、创建游戏的控制器包括(游戏模式、玩家控制器、玩家的pawn)
6、给角色添加动画蓝图以控制角色动作
7、创建场景中的NPC即AI(AIController+NavMeshBoundsVolume组件)
8、角色添加可以“下蛋”到脚底的功能,并给AI添加寻路至蛋的位置
9、丰富场景中的交互(按钮+门)
10、给场景内的角色移动增加扬尘效果(特效)
11、给角色行走添加声音
12、在门开启的时候给相机添加抖动
13、游戏打包

四、内部实现

1、创建工程

在这里插入图片描述
请添加图片描述
打开光照混合器,并将下面包括“创建天空光照”在内的几种光照都加入到环境中
请添加图片描述
经过上述操作,场景中就从一片黑暗变得丰富多彩了
Tips:
Ctrl + l:旋转书标可以改变太阳光(直射光)的直射方向
Ctrl + space:可以呼出资产面板(非常爽)

2、创建游戏中的第一个资产(一个小盒子)

在这里插入图片描述
将上述资源及对应的图片资源导入UE5中,有如下几种资源
请添加图片描述
接下去分别对“M_Metal”、“M_Carbon”、“M_Plastic”进行材质赋予
请添加图片描述
上面这种,是最基础的,即将一种颜色赋值给一种材质
请添加图片描述
上图是将一张贴图赋予材质的表面作为基础色,并将存有法线信息的图(法线图)设置到该材质的表面使其产生凹凸感,texcoord将两张图进行平铺即扩展使纹理更细密,下面两张图也是大同小异,不在介绍
请添加图片描述
请添加图片描述

如果对渲染不了解的可以不去研究material的连线什么含义,直接全部采用第一张的最简方式也可以
请添加图片描述
经过上述几种材质的加持,盒子便带有塑料、布料、金属等特质

3、创建地形(地形工具,切换到地形模式)

UE5自带了地形工具,如下进行切换
请添加图片描述
之后对地形进行创建,设定好需要的尺寸后点击创建
请添加图片描述
如果看不到创建出来的地形,设置一下场景中的显示,勾选上地形
请添加图片描述
创建一个材质并赋予其材质,如下的“My_LandScape_M”,并创建两个层分别是"Grass"、“Sand”
请添加图片描述
请添加图片描述接着创建层信息,如下
请添加图片描述
请添加图片描述
至此我们可以通过笔刷对场地进行绘制,如下,场景可见两种颜色
请添加图片描述
接下来我们对两种环境"沙漠"、"草地"进行装饰,只需要将地形的材质进行扩展即可,原理同其他材质一般
请添加图片描述
请添加图片描述
此时能够看到沙漠和草地均出现了纹理

4、创建地形中的植被(草、石头)并刷到场景中

只有颜色和纹理的地形终究还是缺了点立体感,因此我们要在场景中加入各种植被,如草、石头、花、树

1、草地

创建如下植物
请添加图片描述
设置上述创建的植物的草地网格体为我们导入的草,其他诸如草地密度等参数可以自行调整
请添加图片描述
接着设置草的material,要注意的是要将草的混合模式设置为"已遮罩"
请添加图片描述
其中要注意上图右下角的两个节点,分别是左边"LandscapeLaerSample",右边是"LandscapeGrassOutput",通过设置这两个节点,可以在地形为Grass自动生成草,最后我们将一开始创建的"地形草地类型"设置到"LandscapeGrassOutput"中,草地即可自动生成
请添加图片描述
在这里插入图片描述

2、其他植被

相比起草地,其他类型的植被需要我们手动去刷,而不是自动生成,首先我们需要将植被创建出来

对于网格体面数比较多的植被,需要勾选编译Nanite,否则会出现植被制作完之后加载不出来的情况,Nanite技术在Matt虚幻引擎4->5的转化视频中、Chris Murphy在教程中会介绍
请添加图片描述
创建植物
请添加图片描述
同草一样将网格体设置给该植物
请添加图片描述
需要注意的是,岩石的体积较大,不像草一样能够不添加碰撞体,因此我们需要设置岩石的碰撞为"BlockAll"
请添加图片描述

下图为该岩石的material,不展开介绍
请添加图片描述
最后将岩石添加到植被中,如下
请添加图片描述
之后就可以笔刷刷岩石了
请添加图片描述
其他植物的创建同上,最终呈现的效果如下
请添加图片描述

5、创建游戏的控制器包括(游戏模式、玩家控制器、pawn)

1、游戏模式

GameMode定义了我们当前的游戏。它规定了游戏规则、评分、允许哪些actors在游戏中存在,以及谁可以进入游戏。
请添加图片描述
创建好GameMode之后,需要将GameMode中的**“玩家控制类”、“默认pawn类”**,并且到项目设置中将我们创建的GameMode设置上去,如图二
请添加图片描述
请添加图片描述

2、玩家控制器

PlayerController作为游戏中角色和玩家之间接口,本质上代表了玩家的意志,通常情况下,我们会将角色的所有输入定义在PlayerController里面,特别是对于一些复杂的情况,例如多玩家游戏或者游戏运行中动态更改角色的游戏,在这些游戏中由PlayerController对角色发出指令。

另外在某些情况下,将输入定义在PlayerController是必须的,例如超级马里奥这种角色可能会死亡并重生,重生之后会得到一个新的角色,导致存储在角色上的数据会被重置。但是PlayerController是在整个游戏中持续存在的,比如马里奥中的金币,因为存在PlayerController中,因此不会被重置。
请添加图片描述
这里没有将玩家的控制放在Controller中,转而放到了Pawn中,不过也不影响游戏的运行,因为这是一个单人单机游戏

3、Pawn

Pawn是Actor的子类,它可以充当游戏中的化身或人物(例如游戏中的角色)
请添加图片描述
我们会在"MyCharacter"中赋予角色移动及转向功能,这几个输入功能几乎是和整个游戏直接绑定的(不会随着游戏状态的变化而发生变化,例如W由前向行走变成释放技能),因此我们直接在输入设置中配置如下图
请添加图片描述
接着赋予这几个输入事件以功能,如下图
请添加图片描述

6、给角色添加动画蓝图以控制角色动作

使用UE自带的动画蓝图实现

1、导入角色对应网格体、骨骼、动画序列

角色材质的设置如下:
请添加图片描述
请添加图片描述

2、创建动画蓝图,并回到角色中将"动画模式"变更为使用动画蓝图,"动画类"变更为刚刚创建的动画蓝图,如图二

请添加图片描述
请添加图片描述

3、使用状态机对动画进行控制,分别是Idel、Walk、Run之间的转变

1、创建状态机节点并连接

请添加图片描述

2、在状态机中设置转化条件及对应动作

总图
请添加图片描述
Idel节点
请添加图片描述
Idel To Walk条件
请添加图片描述
Walk To Idel条件
请添加图片描述

Walk/Run节点在4中单独讲述

4、Walk/Run

这里我们将Walk/Run设置为同一个状态,通过角色身上的速度值来改变角色动画:
需要先获取角色速度,如下,在蓝图的事件图表中定义Speed,并对其进行赋值
请添加图片描述
创建混合动画,并暴露混合动画的控制变量Speed,如图二中**"水平坐标"的设置**
请添加图片描述
请添加图片描述
设置Walk/Run节点
请添加图片描述

7、创建场景中的NPC即AI(AIController+NavMeshBoundsVolume组件)

创建AIController;将AIController设置给场景中NPC;在场景中添加寻路检测NacMeshBoundsVolume;编写AIController蓝图,NPC得以获得目标
请添加图片描述请添加图片描述
请添加图片描述
请添加图片描述
AIController的逻辑会在8中给出
Tips:P可以切换NavMeshBoundsVolume组件的可见性

8、角色添加可以“下蛋”到脚底的功能,并给AI添加寻路至蛋的位置

创建“蛋”的蓝图(继承自Actor);在PlayerController中创建“下蛋”逻辑;在AIController中创建“寻蛋”逻辑(包含FindBall函数的实现+NPC找到蛋后的逻辑);在“蛋”蓝图中实现重叠销毁自身逻辑
上述实现分别对应下面5图
请添加图片描述请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

9、丰富场景中的交互(按钮+门)

1、使用重叠检测实现按钮的开关功能

当按钮与其他物体重叠时,对按键执行一个向下移动模拟按下同时触发“碰撞检测组件”的碰撞开始事件(详看下面);结束重叠时反之
请添加图片描述
timeline节点的设置如下
请添加图片描述

2、创建碰撞检测组件用于监测按钮的按下和弹起

碰撞检测组件继承自ActorComponent,可以挂接到任意Actor上,组件承担事件分发的功能
请添加图片描述

3、根据碰撞检测组件的触发事件开关门

定义“OpenDoor”、“CloseDoor”事件,并且检测按钮对象身上的碰撞检测组件,如果碰撞了就执行“OpenDoor”;反之执行“CloseDoor”
注意左下角的Trigger需要对其开放(眼睛张开),方可在场景中指定其对象
请添加图片描述
timeline节点的设置如下
请添加图片描述
最后我们需要将场景中的门指定其Trigger(对应的按钮拖入)
请添加图片描述

10、给场景内的角色移动增加扬尘效果(特效)

创建Dust特效;将其挂载在动画对应的帧上
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

11、给角色行走添加声音

与挂接特效一样,只是创建的对象变成了音效
请添加图片描述
请添加图片描述
请添加图片描述

12、在门开启的时候给相机添加抖动

UE自带了相机抖动的基类,直接使用即可,创建完后只需要在门开关状态发生变化后播放相机抖动即可(如本章最后一图)
请添加图片描述
请添加图片描述
请添加图片描述

13、游戏打包

请添加图片描述
如若出现上图诸如Android等左侧的警示符,只需更新/下载对应的SDK即可(Visual Studio内找)

UE5实战】菜猫如我竟也能做游戏~保龄球小游戏手把手制作—UE5学习笔记(15)
weixin_35106335的博客
11-07 2723
在本次教程中,你将学习如何设计游戏,建立游戏场景和界面,运用蓝图实现游戏规则,最终完成用鼠标控制丢出保龄球的力度和角度,撞击圆柱完成游戏
UE5】AI随机漫游蓝图两种实现方法(角色蓝图、行为树)
Zhanganzhen的博客
05-24 3337
角色蓝图快速实现,行为树原理,寻路网格体的调整
UE4第一人称射击游戏制作教程.pdf
03-27
该项目为学习项目,适合UE4游戏引擎初学者。 文档中附带学习视频及场景素材的来源链接。 文档包含游戏制作过程的文字描述、制作过程截图以及可能出现的问题总结。 大家一起进步呀~
UE5 模型交互演示系统
05-09
该交互系统模拟的是地产行业,使用UE5的实时渲染,对单个物体进行信息的展示,可以模拟天气,时间,楼栋信息,不同的漫游方式,可自行配置参数信息,方便快捷。
Unreal Engine 5制作你的第一个游戏
09-22 1654
打开这个引擎可能看起来令人生畏,但这个课程是为了教你如何通过创建一个无止境的跑步者游戏来适应游戏的布局和游戏制作过程。乍一看,这似乎很多,但是通过本课程的温和指导,你将很快理解这个简单易懂的系统的效率和力量。在本课程中,您将:制作一个完整的游戏使用蓝图轻松编码学习引擎的界面和术语了解演员类型体验不同类型的碰撞角色和角色动作蓝图逻辑音乐和音频获得信心将UE5变成一个有利可图的未来成为一个虚幻的引擎5英雄!即使你对没完没了的跑步者游戏不感兴趣,本课程也提供了从头到尾制作视频游戏的必要步骤。
在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具
Lovely_him的博客
04-27 3369
在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> << https://www.bilibili.com/video/BV1M34y1x7tc >> 官网地址: << Your First Game In Unreal Engine 5 | Tutorial (epicgames.com) >> <
UE5制作2D游戏
weixin_42229060的博客
10-11 1941
选中资产图片右键--Sprite Actions--Apply Paper2D Texture Settings。
UE5实现HTC Vive VR功能
Unity、UE5开发
07-02 8411
UE5实现VR开发
UE5第三人称鼠标操作
05-30
最近制作了能开箱即用的UE5鼠标组件,直接拷入一个文件,再拖到场景中,就能使用了,可以控制相机的平移、旋转、缩放 。 使用方法: 拷贝Third-Person.uasset到工程的目录下(百来KB) 拖拽Third-Person到场景中...
UE5 100%蓝图开发Steam 多人孤岛生存游戏
11-27
课程中老师提供的资源包,搬运不易,免费下载
UE 5自己制作的简单解密游戏
02-03
UE 5自己制作的简单解密游戏
Traffic Control System游戏世界交通信号控制系统UE5虚幻
02-04
5.1蓝图,其他版本需要自行动手修改,可以做交通模拟,画线模拟功能的学习,较为强大的一款插件,仅供学习之用
UE 游戏开发实战
qq_34256136的博客
12-01 1765
若是在当前蓝图中定义了要执行的函数,那么Onject可以不用指定,默认就是自己。Spawn Actor from Class,配合Get Actor Transform,1输入要产生的Actor类型,一般为我们自己创建的蓝图类型,2要指定某个物体,即在这个物体处产生我们指定类型的物体。我的建议就是第一第三人称这类的Character角色,在玩家死亡时不要删除角色,要重生时直接设置角色到初始位置,切换到Idle动画,所有有需要的变量如血量还原到初始值,这样角色还能继续操控。
UE4 camera shake 相机抖动
tianxiaojie_blog的博客
10-17 1万+
ue4 中如何制作相机抖动功能? 新建一个camera shacke 设置配置 这里的配置是可以改变的,通过调整幅度可进行抖动频率大小的改变 调用
UE4 PlayerCameraManager及实现各类效果 学习笔记
qqQQqsadfj的博客
11-30 1167
从值为From Alpha透明度多少开始,到透明度值为ToAlpha的过度时间需要Duration秒,最终的颜色是Color色,5秒结束后根据Hold when Finished来判断是否是Duration最后的颜色还是变成无色。相机看到的画面,最终是要渲染到视口中,用户才能看到。场景中、角色上可以有很多个相机,哪个相机看到的画面会被渲染到视口?所以之前的视角目标混合动画其实是playerCameraManager的功能。,PlayerCameraManager能实现一个视角的混合动画。
虚幻引擎5 (UE5):开发你的前两个游戏
12-02 3139
MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确) |大小解压后:10.0 GB |时长:11h 26m 从头到尾创作两个游戏 不用写一行代码就能创作出两个顶级游戏。使用大型AAA游戏公司和独立游戏公司开发游戏项目时使用的相同工具。一切都是免费的。 这门初学者课程将教你如何从头开始开发前两个游戏。你将从一个完全空的项目开始,我们一起设计一个游戏关卡。然后我们将继续使用蓝图来编程游戏;虚幻引擎5中非常强大的可视化脚本系统。在..
UE5学习记录:开发简单游戏,飞碟避障
STUKA_JU87的博客
09-22 685
利用UE5开发简单的飞碟避障游戏
UE5快速入门教程
热门推荐
新缸中之脑
05-20 2万+
虚幻引擎是一系列游戏开发工具,能够将 2D 手机游戏制作为 AAA 游戏游戏。虚幻引擎 5 用于开发下一代游戏,包括Senua’s Saga: Hellblade 2、Redfall(来自 Arkane Austin 的合作射击游戏)、Dragon Quest XII: The Flames of Fate、Gears of War 6、 Ashes of Creation和古墓丽影的下一部分。 虚幻引擎 5 (UE5) 为现实环境带来了全新的工具: Lumen,一种新的照明技术。 Nanite,一个
UE5.1 角色练习】10-物体抬升、抛出技能 - part2
最新发布
ChaoChao66666的博客
05-29 501
​在上一篇(【UE5.1 角色练习】08-物体抬升、抛出技能 - part1)的基础上继续完成角色将物体吸向手掌,然后通过鼠标点击的方向来发射物体的功能。
ue5怎么作游戏录制功能
05-01
UE5是一款功能强大、用途广泛的游戏引擎,提供了许多方便的开箱即用功能,包括游戏录制。在使用UE5进行游戏录制时,您需要采取以下步骤: 1.在UE5编辑器中创建新的关卡; 2.在场景中添加摄像机,并设置好摄像机的位置、旋转和视角; 3.在摄像机设置中启用录制功能,选择要保存录制的文件夹和文件格式; 4.通过按下录制按钮开始录制,游戏场景中的所有操作和事件都将被录制下来; 5.在录制结束后,可通过停止录制按钮停止录制,并保存录制的文件; 6.在UE5编辑器中打开录制的文件,您可以预览,并编辑您想要保存的片段,同时您也可以根据需要添加一些特殊效果,例如慢动作、快进等; 7.最后,您可以将录制好的视频文件导出,在各个平台上分享您创作的游戏录制作品,从而展示您的创意和技能。 总的来说,UE5提供了非常流畅和方便的游戏录制功能,通过合理的使用可以非常容易地录制出精美的游戏录像,使您的游戏开发以及游戏推广更加高效、直观。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • MSBuild的入门完整教程(包学包会) 16996
  • 同一个服务器通过不同的端口设置不同的网站(IIS) 8482
  • UnityShader两个Pass的使用 7521
  • 偏导数及其几何意义 7479
  • pyqtSignal的使用基础 7133

分类专栏

  • Web前端/后端 14篇
  • 微信小程序 2篇
  • 动画系统 6篇
  • UnityShader 38篇
  • 算法 29篇
  • PyQt5 25篇
  • Python 21篇
  • Unity开发 4篇
  • 游戏图形学 4篇
  • 初入互联网小白必备工具 12篇
  • Unreal的学习之路 14篇

最新评论

  • PyQt右键创建菜单栏

    M1r4n: PyQt右键创建菜单栏值得学习,非常受益,期待weixin_40301728的下一篇文章

  • UE5——动画混合

    白711: 找到了沒是~是greater

  • UE5——动画混合

    白711: 你'好,我想問在混合時的blender 1D 裡面的藍圖中,在math 裡面沒有看到float>float,要怎麼進行動作連結,在speed大於多少秒時進行動畫混合的設置。

  • PyQt拖拽事件——mimeData的使用(二)

    liangychao: 因为这个问题,特意从tkinter转到pyqt,到现在也没找到方法

  • UE5——动画重定向

    homehome_: 嗨有python的自动化执行这一切的脚本吗?

最新文章

  • 关于如何快速转载文章!——一个脚本就够
  • GPU 渲染管线与着色器 大白话总结 ---- 一篇就够
  • 骨骼控制(一)——动画动态节点(AnimDynamics)
2023年5篇
2022年21篇
2021年49篇
2020年81篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司广安seo网站优化报价石家庄网站排名优化报价汕尾网站优化推广哪家好林芝营销网站哪家好吉祥网络广告推广哪家好眉山百度seo报价泸州seo网站优化推荐淮南百度标王公司衡水外贸网站建设合肥百姓网标王公司呼和浩特网站设计模板公司伊犁网站排名优化公司临猗百度关键词包年推广推荐太原设计公司网站推荐吉林网站定制多少钱海南网站搜索优化巢湖外贸网站设计推荐黔西南企业网站设计哪家好东莞企业网站设计报价兴安盟seo网站推广哪家好宁波百度竞价包年推广价格平顶山网站优化按天计费张家口外贸网站设计推荐河池网页制作公司沈阳网站优化按天收费无锡网站开发哪家好襄阳网站搜索优化价格唐山企业网站建设价格塘坑网站优化公司淮安SEO按天收费价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化