虚幻引擎(UE5)-大世界分区WorldPartition教程(三)

文章目录

  • 前言
  • LevelInstance的使用
    • 1.ALevelInstance
    • 2.选择Actor创建关卡
    • 3.运行时加载LevelInstance
  • 总结


上一篇:虚幻引擎(UE5)-大世界分区WorldPartition教程(二)

前言

在制作大关卡时,可能会遇到这样一种情况,就是关卡中的某些Actor会重复出现或者你想单独编辑某区域的Actors,举个例子,关卡中有两片一模一样的森林,很显然,如果在关卡中制作两个这样的森林不科学

在UE5中可以通过一个特殊的Actor即ALevelInstance管理多个Actor,它会被保存为一个关卡文件(即SubLevel),在运行时可以被实例化为多个,即所谓的Level Instancing技术


提示:以下是本篇文章正文内容

LevelInstance的使用

1.ALevelInstance

手动创建一个ALevelInstance蓝图,然后为它指定任意的Level

在这里插入图片描述
在这里插入图片描述
将该LevelInstance蓝图拖到你想要放的关卡中即可,此时在拖到的关卡中还不能对该LevelInstance的Actor进行编辑,需要点击该LevelInstance的Details面板下的Edit按钮进行编辑,编辑完后提交即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当然也可以直接指定的关卡

在这里插入图片描述

2.选择Actor创建关卡

在当前关卡的Viewport或Outliner选中多个Actor,然后为其创建LevelInstance
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就将多选的actor合并到一个新的关卡里面了。

提示:LevelInstance可以嵌套多层,也就是说LevelInstance下面还可以有子LevelInstance

还有一点值得注意,LevelInstance和它下面的Actor的是否被保存为外部文件是根据它们所在的关卡决定的,所在关卡为WP关卡,那么默认会保存到外部文件,所在关卡为非WP关卡,可以按照OFPA小节介绍的方法来决定是否将这些Actor保存为外部文件

这个时候会发现这里的LevelInstance 有两个选项,这两种的区别如下:

  1. LevelInstance,不会合并Actor
  2. PackedLevelActor,它试图将静态网格的Actor合成成尽可能少的静态网格Actor

比如选中几个静态网格Actor创建PackedLevelActor后,会被合成一个Actor
想具体了解静态网格Actor如何被Packed可以翻一下源码的FPackedLevelActorISMBuilder::PackActors方法

3.运行时加载LevelInstance

在运行时有两种方式加载LevelIntance

  1. 如果LevelInstance开启了OFPA(即PackageMode为External),它拥有的所有Actor都会被嵌入到当前WP关卡中,这些Actor会被自动划分到Cell中,并且将WP关卡中的LevelInstance这个Actor直接丢弃掉(它只存在于编辑时)
  2. 如果LevelIntance没有开启OFPA(即PackageMode为Internal),它拥有的Actor不能被嵌入到WP关卡中,LevelInstance这个Actor仍然会保留,当加载LevelInstance这个Actor时会加载它关联的SubLevel

第一种方式是默认的也是推荐的方式,它会将LevelInstance关联的SubLevel中的所有Actor嵌到WP关卡中,然后将它们自动划分到Cell中来流送,第二方式和UE4中的关卡流送机制类似,在流送LevelInstance这个Actor所在的Cell时会将它关联的SubLevel全部加载进来,这可能造成性能问题

具体实现可参见ULevelInstanceSubsystem::UpdateStreamingState

总结

以上就是今天要讲的内容,本文仅仅简单介绍了LevelInstance的使用,Level Instance既方便了编辑时候对某些Actor的重用和生成多实例,同时也方便将UE4的SubLevel接入WP关卡。

下一篇:虚幻引擎(UE5)-大世界分区WorldPartition教程(四)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Element-Plus select选择器-下拉组件错位bug(有高度滚动时)

1. bug重现 由于项目不便展示,因此在官网复现bug https://element-plus.org/zh-CN/component/select.html#基础用法 2. 调试 源码调试时发现下拉菜单是直接放在body 元素里,这时候希望它不要直接放在body里, 查阅文档看到这两个属性&#x…

量化研究丨全市场多空情绪

量化策略开发,高质量社群,交易思路分享等相关内容 大家好,我是Le Chiffre 今天我们简单的介绍一个天风期货工具复现,如下图所示: 其实我只是关注了公众号,但是从来没有认真看过他们的研究。在5月底的时候&…

计算机网络速成

更好的阅读体验 \color{red}{\huge{更好的阅读体验}} 更好的阅读体验 因特网概述 网络、互联网和因特网 网络:将多个计算机或计算机网络通过通信线路连接起来,使得它们可以相互通信和交换信息的系统。由若干节点(Node)和连接这些…

课程20:API项目重构

🚀前言 本文是《.Net Core从零学习搭建权限管理系统》教程专栏的课程(点击链接,跳转到专栏主页,欢迎订阅,持续更新…) 专栏介绍:以实战为线索,基于.Net 7 + REST + Vue、前后端分离,不依赖任何第三方框架,从零一步一步讲解权限管理系统搭建。 专栏适用于人群:We…

神经网络初谈

文章目录 简介神经网络的发展历程神经网络的初生神经网络的第一次折戟神经网络的新生,Hinton携BP算法登上历史舞台命途多舛,神经网络的第二次寒冬神经网络的重生,黄袍加身,一步封神神经网络的未来,众说纷纭其他时间点 …

Cisco ISR 4000 Series IOS XE Release Dublin-17.11.1a ED

Cisco ISR 4000 Series IOS XE Release Dublin-17.11.1a ED 思科 4000 系列集成服务路由器 请访问原文链接:https://sysin.org/blog/cisco-isr-4000/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 思科 4000 系列…

计算机视觉:分割一切AI大模型segment-anything

1 segment-anything介绍 Segment Anything Model (SAM)来源于Facebook公司Meta AI实验室。据Mata实验室介绍,SAM 已经学会了关于物体的一般概念,并且它可以为任何图像或视频中的任何物体生成 mask,甚至包括在训练过程中没有遇到过的物体和图…

面对“神奇的甲方”:如何应对匪夷所思的需求

在工作中,我们常常会遇到一些“神奇的甲方”,他们总是能给我们带来匪夷所思甚至无厘头的需求。本文将分享作者的经历,并提供一些建议,帮助读者应对这些“无理的需求”。 文章目录 方向一:分享那些你遇到的无理需求方向…

简单的手机记事本怎么把内容标记为完成状态?

很多人平时会在手机记事本上记录一些自己身边需要记住的事情,有的事情做完之后不想删除,又想要和未完成的内容区分开,那么这种情况下可以将它标记为已完成状态。简单的手机记事本怎么把内容标记为完成状态呢?以iPhone手机端敬业签…

【应用笔记】CW32 电容式触摸按键设计指南

前言 CW32 电容式触摸按键设计指南向客户提供一种利用 CW32 内部资源结合软件编程实现电容式触摸按键有效 触摸检测的方法。本指南的内容重点在于工作原理、软件检测过程以及调试指引。 利用芯源半导体的 CW32 系列小规模 MCU 的 IO、比较器、定时器、高速高精度内置 RC 时钟…

技术分享| 融合通讯的架构介绍

在融合通讯中,我们经常听到如下一些术语:MCU服务,SFU架构,MESH架构,星形网络等等。很多客户听到这些数据都是一脸雾水,经常说我们就是要一个可以把多种设备拉到同一个会议中,怎么搞这么复杂。今…

Web安全-Godzilla(哥斯拉)Webshell管理工具使用

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 工具下载地址02 运行环境03 工具介绍04 使用案例 01 工具下载地址 https://github.com/BeichenDream/Godzilla点击页面右侧"releases",进入工具的版本下载页面。 在个人终端…

[Qt 教程之Widgets模块] —— QFontComboBox 字体选择器

Qt系列教程总目录 文章目录 3.2.1 创建 QFontComboBox3.2.2 成员函数1. 书写系统2. 字体过滤器3. 当前字体4. 信号 该控件用于选择字体,在一些软件中经常有类似控件,如下: Microsoft Office: Photoshop: QFontComboB…

QT调用glog日志流程

glog日志库是Google开源的轻量级的日志库,平时在开发过程中经常要使用到日志,本篇记录Qt项目使用glog日志库的记录。 1.首先下载cmake,Download | CMake 安装设置环境变量,检查安装情况 2.下载glog源码 git clone https://git…

JMeter录制HTTPS脚本解决办法

目录 前言: 背景 解决方法 前言: 在使用JMeter录制HTTPS脚本时,可能会遇到一些问题,例如SSL证书错误或请求失败等。解决这些问题的一种常见的方法是通过安装并信任服务器的SSL证书来解决。 背景 在对某项目进行脚本录制的时…

Django框架-5

路由系统 通过URL(Uniform Resource Locator,统一资源定位符)可以访问互联网上的资源——用户通过 浏览器向指定URL发起请求,Web服务器接收请求并返回用户请求的资源,因此可以将URL视为用户与服务器之间交互的桥梁。 …

Scrapy框架之MongoDB通过配置文件管理参数--Linux安装MongoDB--图形管理工具

目录 MongoDB通过配置文件 问题 解决方案 步骤 提示 Linux安装MongoDB 环境 下载依赖与安装包 解压安装 MongoDB GUI管理工具 独立软件GUI软件 Robo 3T使用 VSCode集成GUI插件 MongoDB通过配置文件 问题 启动MongoDB时,编写参数太麻烦 解决方案 通过配…

MATLAB App Designer基础教程 Matlab GUI入门(四)

坐标轴控件 axis 函数绘图方法技巧 作用: 绘制函数图像显示图像(jpg png tiff) 学习内容 App designer中 plot 和命令行中的 plot函数的不同;如何在坐标轴空间中显示两个函数图像;智能缩进 (Ctrl I&am…

Linux——进程通信之共享内存

目录 一. 回顾上文 二.共享内存 1.定义 2.特点: 3.实现步骤: 如下为成功链接共享内存使用权的完整步骤: 4.函数介绍 4.1shmget函数 4.1.2参数介绍 4.2ftok函数: 4.2.1参数介绍 关于ftok(); shmget();函数的代码实验…

学习Kotlin~类

类 类的field 类定义的每一个属性,kotlin都会产生一个filed,一个setter(),一个getter()field用来存储属性数据,不能直接定义,kotlin会封装,保护它里面数据,只暴露给getter和setter使用只有可变属性才有setter方法需要…
最新文章