UE基础 —— 关卡

目录

Working with Levels

Managing Multiple Levels

World Settings

更改默认关卡


        关卡(Level)是游戏的"世界"的全部或部分;关卡包含玩家可以看到并与之交互的所有内容,如环境、可用对象、其他角色,等等;在游戏中,常常有多个关卡,彼此之间有划分明确的过渡(如,在打败一个关卡中的终极boss之后,就会继续到下一个关卡);对于虚幻引擎中进行的其他类型的交互式体验,可以使用不同的关卡在不同种类的展柜或环境之间过渡;

        引擎将每个关卡保存为单独的 .umap 文件,这就是为什么有时会看到关卡被称为 Maps

创建关卡至少所需的元素列表:

  • 一个 .umap 文件,即关卡本身;可将其视为保存其他所有内容的容器;
  • 一个由 Static Mesh Actors 组成的环境;这些可以是树木、岩石、墙壁或其他环境;某些场景还使用其他类型的Actor,如Landscape Actor或者Water Actor;
  • 一个由 Skeletal Mesh Actor 表示的玩家角色;
  • 一个或多个不同类型的 光源(lights)
  • 环境声音和音效(如,脚步声);

复杂的关卡可能包含其他功能,如粒子效果、视效后期处理、关卡流送,等等;

Working with Levels

        和许多其他 虚幻引擎 数据类型一样,关卡 保存在单独的资产文件中,可以对关卡资产执行许多常见操作;

创建关卡

  • 主菜单 中的 文件(File),点击 新建关卡(New Level)
    • 使用 Ctrl+N(Windows)快捷键;
  • 在 内容浏览器 中点击右键,选择 关卡(Level)

保存关卡

        和其他资产一样,在关闭引擎或切换到其他关卡前,需要保存当前关卡才能保留在虚幻引擎中所做的更改;

  • 在 主菜单 中点击 文件(File),选择 保存当前关卡(Save Current Level)
    • 使用 Ctrl+S(Windows)快捷键;
  • 在 主菜单 中点击 文件(File),选择 将当前关卡保存为(Save Current Level As)
    • 使用 Ctrl + Alt + S(Windows)快捷键;

首次保存关卡时的界面会略有不同,需要指定关卡的保存位置以及名称;

打开关卡

  • 在 主菜单 中点击 文件(File),选择 打开关卡(Open Level),选择要打开的关卡;
    • 使用 Ctrl+O(Windows)快捷键;

Managing Multiple Levels

        在UE4旧版项目或非游戏项目(如建筑可视化),可以使用 关卡(Levels) 窗口进行关卡管理;对于UE5.0及更高版本中的游戏开发,关卡(Levels)窗口被世界分区废弃;

        将总是拥有一个 持久关卡(Persistent Level),并且可以有一个或多个子关卡,子关卡总是通过 关卡流送体积(Level Streaming Volumes)、 蓝图(Blueprints)或 C++代码(C++ code)加载或流送; 

        关卡(Levels) 窗口会显示所有这些关卡,可更改哪个关卡是当前关卡(以粗体蓝色文本表示),保存一个或多个关卡,并访问关卡蓝图;如在关卡编辑器的视口中做出了更改,将修改当前关卡;可以使用此窗口处理多个maps,前提是maps可写;

 

        右击 持久关卡(Persistent Level),会显示多个操作选项,包括将该关卡设置为当前关卡、更改可视性和锁定状态、选中关卡中的所有Actor;

        更改关卡的可视性只会影响它的显示,不会对关卡能否加载进游戏产生影响;不过,当重新生成关卡时,此处不可见的关卡将不参与构建过程;如的关卡很复杂,这样能大大节省时间;

 

添加新的子关卡

        持久关卡或子关卡的一部分可以拆分出来,作为新的子关卡;也可以新建关卡或添加现有关卡来创建子关卡;添加新的子关卡后,该关卡会自动成为"当前关卡";因此,如想继续使用之前的关卡,请记得右键单击之前的关卡,在菜单中 设为当前(Make Current) ;

  • 新建空白子关卡
  • 添加已有关卡
  • 拆分子关卡

在关卡间迁移Actor

  • 复制当前关卡actor,在目标关卡中粘贴Actor;
  • 关卡(Levels)窗口,选择 移动所选Actor至关卡(Move Selected Actors to Level) ;

Level Details

        关卡细节(Level Details)窗口,允许访问当前关卡的更多信息;若要设置关卡流送体积(Level Streaming Volumes),需要打开关卡的 关卡细节(Level Details) ;

持久关卡没有额外的细节信息,除了一个用于切换到其他关卡的菜单;

可视化子关卡

        可以在主 关卡(Levels)窗口中或 关卡细节(Level Details)窗口中设置子关卡的颜色;关卡颜色(Level Coloration)只能在透视和正交视口下工作,在 游戏模式(Game Mode)下会被关闭;

World Settings

        每个关卡都有从 世界设置(World Settings) 面板应用到关卡中的独有设置;使用此面板可以执行各种操作:从确保运行关卡时激活正确的 游戏模式(Game Mode) ,到调整全局光照在该关卡中的运行方式;

        其中的部分设置是通用的,如能够影响游戏模式和导航的设置,其他更有针对性的设置用于配置游戏的光照、音频、物理等;

Precomputed Visibility

        预先计算的可视性体积可以减少渲染线程时间,但需要占用运行时内存;在处理较小的关卡或针对由于硬件(例如移动设备)限制而无法执行dynamic occlusion culling目标的平台时,此设置有助于优化游戏的性能;对于较大的、更复杂的环境,无法很好地scale;

Game Mode

        可以为当前关卡选择和配置游戏模式;游戏模式定义游戏规则,如玩家数量、得分或获胜条件;可以从你使用的项目模板随附的现有游戏模式中进行选择,或创建自定义游戏模式;

        从 GameMode重载(GameMode Override)下拉菜单中选择游戏模式之后,就可以配置特定于该模式的设置;

Lightmass

        在此部分中,可以指定Lightmass设置,如间接光照的细节和质量,是否使用环境光遮蔽(即模拟间接光照形成的软阴影,可以增加场景的深度);

World

        设置会影响游戏世界的核心方面,如关卡边界、导航系统、Actor在销毁前可以掉落的深度;

Physics

        使用此部分可以重载世界重力,而世界重力会影响某些Z轴动作,如角色可以跳起的高度或物体的掉落速度;此外,还可以在这里指定更多的高级设置,如默认的物理体积类和物理碰撞处理程序类;

Broadphase

        这是NVIDIA的PhysX系统的功能,可以指定使用客户端还是服务器端;

HLOD System

        可以启用分层细节级别(HLOD);HLOD可以使用在长视野距离上具有单个组合静态网格体Actor,以取代多个静态网格体Actor,这有助于减少需要为场景渲染的Actor数量,通过减少每个帧的绘制调用数量来提高性能;

World Partition Setup and World Partition

        世界分区(World Partition)是新的数据管理和基于距离的关卡流送系统,可以为大型世界管理提供完整的解决方案;以前需要通过将单个持久关卡中的世界存储到网格单元格中,以便将大型关卡划分成子关卡,但现在的系统已经不需要如此操作,并且能够自动流送系统,从而根据与流送源的距离来加载和卸载这些单元格;

Landscape and Foliage

        配置关卡中使用的导航网格;

VR

        使用 米级世界缩放(World to Meters)变量来调整虚拟世界(VR)的大小规模;提高或降低此数字将会使用户感觉自己相对于周围的世界而言变得更大或更小了;此设置用虚幻单位(UU)来表示;在UE4中,1虚幻单位(UU)等于1厘米(cm);

        假设使用1虚幻单位 = 1厘米进行构建,将 米级世界缩放(World to Meters)设置为 10 将会使世界看起来非常大,而将米级世界缩放设置为 1000 将使世界变得非常小;

Rendering

        可以配置与距离场环境光遮蔽相关的多项配置,以及动态间接阴影;

Audio

        设置可以配置项目宏的默认音效行为,如音量、混响和消退时间;

Tick

        更新(Ticking)指的是以固定的间隔在Actor或组件上运行一段代码或蓝图脚本,通常是每帧一次;对于每个Actor或组件,更新通常单独启用;

AI

Cooking

        烘焙(Cooking)是构建游戏并将其部署到平台(如PC或移动设备)的过程的一部分;这些设置影响着如何将场景中的内容包含在已构建的游戏中;

更改默认关卡

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理性看待、正确理解 AI 中的 Scaling “laws”

编者按:LLMs 规模和性能的不断提升,让人们不禁产生疑问:这种趋势是否能一直持续下去?我们是否能通过不断扩大模型规模最终实现通用人工智能(AGI)?回答这些问题对于理解 AI 的未来发展轨迹至关重…

郊游、旅游管理系统-计算机毕设Java|springboot实战项目

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

【算法/学习】双指针

✨ 少年要迎着朝阳,活得肆无忌惮 🌏 📃个人主页:island1314 🔥个人专栏:算法学习 🚀 欢迎关注:👍点赞 &a…

python语言day6 os random datetime .ini文件

os: 获取运行当前py文件的绝对路径: abspath中添加路径,会直接和绝对路径拼接。 folder_path os.path.abspath("") print(folder_path) 路径拼接: mac系统路径:file/TranslucentTB win系统路径:…

python爬虫滑块验证及各种加密函数(基于ddddocr进行的一层封装)

git链接: https://github.com/JOUUUSKA/spider_toolsbox 这里写目录标题 一.识别验证码1、识别英文+数字验证码2、识别滑块验证码3、识别点选验证码 二、下载系列1、下载视频2、下载图片3、下载文本 三、常用加密类型1、AES系列2、DES系列3、RSA系列4、SHA系列5、B…

【c++】深入理解别名机制--引用

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C 目录 前言 一、引用的概念和定义 二、引用的特性 三、引用的实用性 1.引用传参 2.引用做返回值 2.1 引用做返回值的作用 2.2 引用坍缩问题、悬挂引用问…

算法的学习笔记—合并两个排序的链表(牛客JZ25)

😀前言 在算法面试中,链表问题是经常遇到的考点之一,其中合并两个排序链表是一个非常经典的问题。本文将详细介绍如何通过递归和迭代两种方式实现两个有序链表的合并。 🏠个人主页:尘觉主页 文章目录 😀合并…

Arduino开源四足蜘蛛机器人制作教程

视频教程:手把手叫你做四足蜘蛛机器人——1零件介绍_哔哩哔哩_bilibili 一、项目介绍 1.1 项目介绍 Arduino主控,图形化编程,趣味学习 Arduino nano开发板舵机扩展底板 4.8V可充电电池,支持Arduino C语言编程和米思齐图形化编程…

打卡学习Python爬虫第三天|爬取豆瓣电影Top250排行榜(附源码)

一、打开网页找到url 二、查看数据是否存在于网页源代码中 三、编写代码获取网页源代码 1、获取电影名称 注意正则表达式的使用&#xff0c;先观察网页源代码&#xff0c;我们发现每一部电影的数据存放在一个<li></li>中&#xff0c;如上图。并且我们要获取的电影…

el-image 图片预览时 与 el-table (或avue-crud) 样式冲突 的解决

问题: 解决 <style scoped> ::v-deep(.el-table__cell) {position: static !important; } </style> 后效果

二十二、状态模式

文章目录 1 基本介绍2 案例2.1 Season 接口2.2 Spring 类2.3 Summer 类2.4 Autumn 类2.5 Winter 类2.6 Person 类2.7 Client 类2.8 Client 类的运行结果2.9 总结 3 各角色之间的关系3.1 角色3.1.1 State ( 状态 )3.1.2 ConcreteState ( 具体的状态 )3.1.3 Context ( 上下文 )3.…

二叉树练习习题集一(Java)

1. 思路&#xff1a; 就是让左孩子和右孩子进行交换&#xff0c;这里需要一个中间变量用来记录&#xff0c;然后完成交换。如果进行优化则添加当左孩子和右孩子都为null时直接返回。 class Solution {public TreeNode invertTree(TreeNode root) {TreeNode tmpnull;//用来进行…

网络原理知识总结

一、网络模型 1.1 osi七层参考模型 物理层&#xff1a;连接通信链路、传输比特流数据链路层&#xff1a;数据封装成帧&#xff0c;在节点与节点间实现可靠物理地址寻址&#xff0c;进行差错校验、流量控制网络层&#xff1a;逻辑地址寻址&#xff0c;路由选择 IP(IPV4IPV6) I…

window.onload、$(document).ready()、Vue.created() 页面加载完成后执行方法

1、JavaScript 的 window.onload 方法 window.onload 方法是在页面所有元素&#xff08;包括图片、样式、链接等&#xff09;加载完成后触发的&#xff0c;在这个事件之前&#xff0c;页面上的所有资源都必须加载完成。因此&#xff0c;如果页面中包含大量的图片或其他资源&am…

【iOS】——响应者链和事件传递链

事件传递 事件传递流程 发生触摸事件后&#xff0c;系统会将该事件封装成UIEvent对象加入到一个由UIApplication管理的事件队列 UIApplication会从事件队列中取出最前面的事件&#xff0c;并将事件分发下去以便处理&#xff0c;通常&#xff0c;先发送事件给应用程序的主窗口…

TCP详解(一)报文详情/MSS/MTU

本文旨在介绍TCP的报文格式详情和传输层、链路层的字节数限制 1 TCP 协议的报文格式 TCP 报文段包括协议首部和数据两部分&#xff0c;协议首部的固定部分是 20 个字节&#xff0c;头部是固定部分&#xff0c;后面是选项部分。 1.1 端口号 16位源端口&#xff1a;发送方主机…

KDP数据平台:以实战案例验证技术领先力

本文由智领云 LeetTools 工具自动生成 申请试用&#xff1a; https://www.leettools.com/feedback/ 在当今快速发展的技术环境中&#xff0c;数据平台的选择对企业的数字化转型和业务发展至关重要。智领云开源KDP&#xff08;Kubernetes Data Platform&#xff09;在数据处理和…

效果炫酷的3D翻转书特效WordPress主题模板MagicBook主题v1.19

正文&#xff1a; MagicBook是一款支持3D翻书特效的书籍WordPress主题。支持可视化页面搭建&#xff0c;3D菜单&#xff0c;完全自适应设计,WPML多语言支持。 这款主题一定会让你爱不释手。虽然他是英文的&#xff0c;但不可不承认的是&#xff0c;它优雅的设计会让你愿意花时…

无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案

无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案 1.快速创建应用 你可以通过 3 种方式在 Dify 的工作室内创建应用: 基于应用模板创建(新手推荐) 创建一个空白应用 通过 DSL 文件(本地 / 在线)创建应用 从模板创建…

13 定时器

13 定时器 1、定时1.1 硬件定时器的特性1.2 硬件定时器对应的中断处理函数所作的工作(了解)1.3 linux内核中跟时间相关的三个概念&#xff1a; 2、延时2.1.延时定义2.2 忙等待2.3.休眠等待2.4 等待队列机制2.4.1 介绍2.4.2 结论2.4.3 进程休眠和唤醒的编程步骤方法 1方法 2 3、…