Unreal Engine 5即虚幻引擎5,简称UE5。它可以帮助游戏开发者和各行各业的创作者创作新一代实时3D内容和体验。
而我们作为Web前端可以用Cesium for Unreal基于真实世界的3D内容以及高精度的真实比例地球解锁虚幻引擎的3D地理空间生态系统。然后借助像素流送将画面推送到Web端展示,再通过多种数据通信方式远程控制UE5,以实现各种场景的交互、展示。
本文是学习UE5基础知识的笔记,下一篇文章将介绍用Cesium for Unreal搭建基于真实世界的3D内容以及和前端的像素流送。
1. 安装
1.1. 安装Epic Games
要安装UE5需要先安装Epic Games启动程序:
https://www.unrealengine.com/zh-CN/download
1.2. 安装UE5
- 打开Epic Games启动程序
- 点击虚幻引擎的库
- 选择一个版本进行安装
1.3. 安装插件
等UE5下载安装完就可以安装插件了,可以在虚幻商城里面搜索。注意插件的兼容版本以及支持的平台。
2. 创建项目
启动UE5后,在项目浏览器中新建项目
2.1. 虚幻编辑器
编号 |
名称 |
说明 |
1 |
菜单栏(Menu Bar) |
使用这些菜单访问编辑器专用的命令和功能。 |
2 |
主工具栏(Main Toolbar) |
包含虚幻引擎中部分最常用工具和编辑器的快捷方式,以及用于进入 播放(Play) 模式(在虚幻编辑其中运行游戏)和用于将项目部署到其他平台的快捷方式。 |
3 |
关卡视口(Level Viewport) |
显示关卡的内容,例如摄像机、Actor、静态网格体等。 |
4 |
内容侧滑菜单(Content Drawer) 按钮 |
打开 内容侧滑菜单(Content Drawer),可以在其中访问项目中的所有资产。 |
5 |
底部菜单栏(Bottom Toolbar) |
包含命令控制台、输出日志和派生数据功能的快捷方式。此外还显示源控制状态。 |
6 |
大纲(Outliner) |
显示关卡中所有内容的分层树状图。 |
7 |
细节(Details) 面板 |
在选择Actor时显示。显示该Actor的各种属性,例如 变换(Transform) (在关卡中的位置)、静态网格体、材质和物理设置。此面板显示不同设置,具体取决于你在关卡视口中选择的内容。 |
- 保存按钮:点击此按钮即可保存当前打开的关卡。
- 模式选择:包含的快捷方式用于在不同的模式之间快速切换,以编辑关卡中的内容
- 内容快捷方式:包含用于添加和打开关卡编辑器中常见内容类型的快捷方式。
- 播放模式控制:包含用于在编辑器中运行游戏的快捷方式按钮(播放、跳过、停止和弹出)。
- 平台菜单:包含一系列选项,可以用于配置、准备项目并将其部署到不同的平台,例如台式机、台式设备或主机。
- 设置:包含虚幻编辑器、关卡编辑器视口和游戏行为的各种设置。
2.2. 新建关卡
打开刚刚新建的项目后,可以看到这个项目还是有一些默认的内容
我们可以点击“文件”-“新建关卡”,然后选择“空白关卡”,创建后按ctrl+s将关卡保存
然后点顶部工具栏的“编辑”-“项目设置”,在“所有设置”中,把默认关卡改为刚刚创建的关卡。
2.3. 启用插件
之前安装的插件需要启用才能生效。在顶部菜单栏的“编辑”中选择“插件”:
勾选“Cesium for Unreal”和“Pixel Streaming”,然点“立即重启”,初次加载需要编译着色器,请耐心等待。
3. 蓝图
蓝图是Epic为虚幻引擎开发的一种可视化编程方式。它提供了一个直观的、基于节点的界面,用于创建新类型的Actor和关卡脚本事件;它为关卡设计师和游戏开发者提供了一个在虚幻编辑器中快速创建和迭代游戏可玩性的工具,不需要写一行代码。
分类:
- 关卡蓝图:包含地图中关卡特有事件的逻辑,可以引用和操控关卡中的Actor,与其他蓝图类交互。
- 蓝图类:一种允许内容创建者轻松地基于现有游戏性类添加功能的资源
- 数据蓝图:仅包含代码 (以节点图表的形式)、变量及从父类继承的组件的类的蓝图
- 蓝图接口: 蓝图接口是一个函数或多个函数的集合,蓝图接口可以添加其它蓝图中。简单理解,蓝图接口允许不同的蓝图类间彼此共享及发送数据
- 蓝图宏库:是一个容器,它包含一组 宏 或自包含的图表,这些图表可以 作为节点放置在其他蓝图中。它们可以节省时间,因为它们可以存储常用的节点序列,包括执行和数据传输所需的输入和输出。
3.1. 节点
蓝图节点是蓝图可视化编程的组成部分;通过不同蓝图节点的连接,实现功能逻辑。
3.1.1. 分支节点
分支(Branch)节点:用于判断指定条件是否满足,如果条件为true,执行true输出节点的逻辑,如果条件为false,执行false节点的逻辑
3.1.2. for循环节点
- ForLoop节点:执行指定次数的功能的节点。需要传入循环开始值与结束值
- ForLoopWithBreak节点:在没有执行break时,与ForLoop节点功能一样,当执行break时,循环终止
3.2. 变量
变量可以获取或存储数据并反复使用。
变量定义:点击左侧变量分组的加号,可以修改变量名称和类型
3.3. 数据类型
3.3.1. 数值
数值类型的变量分为:
- 字节(Byte): 0-255之间的整数值
- 整数(lnteger): -2147483648到2147483647之间的整数
- 64位整数(Integer64):
- 更高位数的整数
- 浮点(float): 用于表示小数
3.3.2. 文本
文本类型的变量分为:
- 命名(Name): 轻量级字符串,经常被用于对象的命名
- 文本(Text): 如果出现大段文本时,基本我们就使用Text
- 字符串(String): 是我们通常用的一种文本类型,支持字符串拼接
3.3.3. 向量
向量是指有方向有长度的数据,值由三个数字组成(X,Y,Z),用于表示位置、旋转、缩放等
3.3.4. 变换
变换是结合了位移、旋转、缩放的数据集,通常用于同时获取游戏对象的位置、旋转、缩放等数据
3.3.5. JSON
需要进行JSON操作,需要先勾选“Json Blueprint Utilities”插件
3.3.6. 数组
由多个相同数据类型组成的集合。
定义变量后将变量类型设置为数组:
3.6. 函数
蓝图虽然是可视化的编程,但是用函数去包装一些单一的功能,也能让蓝图更加的简洁、易读。
3.7. HTTP请求
在UE5中通过http request请求数据。
需要先勾选“HttpBlueprint”插件,然后就可以发起gttp请求,响应体为字符串
3.8. 蓝图通信
在更细化的角度来看,虚幻项目由许许多多Actor(相当于各个独立内容单元)构成,这些Actor又绑定着一个或多个组件。
3.8.1. 关卡蓝图
在关卡蓝图中要访问其他Acotr,可以从编辑器关卡中把Actor拖到关卡蓝图中。
3.8.2. 蓝图类
在蓝图类中要访问其他Actor,可以通过“获取类的Actor”获取单个actor,如下示例获取WebSocket Server Actor,并调用它的发送消息到全部客户端的函数。
使用“获取类的所有Actor”来获取同一蓝图类的Actor,如下示例获取自定义的“AlarmIcon”蓝图类的Actor,得到一个数组
4. 打包
打包虚幻项目以便发布到对应平台上运行。
1、选择对应平台进行打包
2、选择一个输出目录后,等待打包完成
参考资料:
还没有评论,快来抢第一吧