文章目录

  • 前言
  • 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教程(四)

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

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

    文章目录 前言 一.OFPA怎么用 二.OFPA怎么用 总结 上一篇:虚幻引擎(UE5)-大世界分区WorldPartition教程(一) 前言 在UE4版本中中,Actor是保存在关卡文件中的,也就 ...

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

    文章目录 前言 一.Data Layers的使用 1.添加Actor到Data Layers 2.运行时处理 总结 上一篇:虚幻引擎(UE5)-大世界分区WorldPartition教程(三) 前言 ...

  3. 虚幻引擎(UE5)最佳集成CesiumforUE教程(一)

    虚幻引擎(UE5)最佳集成CesiumforUE教程(一) UE集成CesiumUE插件使用 文章目录 虚幻引擎(UE5)最佳集成CesiumforUE教程(一) 前言 一.项目创建 二.新建光卡 二 ...

  4. 虚幻引擎5:快速入门学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:5.63 GB |时长:5h 23m 从 ...

  5. 虚幻引擎(18)-局域网联机详细教程

    文章目录 前言 相关介绍 其他介绍 上一篇笔记 下一篇笔记 完整项目 一.准备阶段 二.玩家 三.地图 四.游戏模式 五.界面介绍 六.关卡蓝图 七.加入服务器界面 [1]. 界面设置 [2]. 变量 ...

  6. [虚幻引擎][UE5]获取当前系统的时间

    [虚幻引擎][UE5]获取当前系统的时间 方法一: 方法二: 方法三: 方法一: 效果: 方法二: 效果: 缺点:没有办法都是两位 方法三:

  7. 虚幻引擎虚拟现实开发基础学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.93 GB |时长:5h 15m 了 ...

  8. Python for虚幻引擎编辑器工具脚本学习教程

    Python for Unreal Engine Editor Tools Scripting MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英 ...

  9. 虚幻引擎VR游戏开发基础教程

    虚幻引擎VR游戏开发基础教程 了解如何使用 Oculus Quest 2 的蓝图在虚幻引擎 4 中从头开始构建基本的 VR 机制 课程英文名:Unreal Engine VR Development ...

最新文章

  1. JSP笔记-JavaBean
  2. centos6.5 mysql 远程访问_centos6.5 mysql 设置支持远程ip访问
  3. python循环队列_关于循环队列的一些讲解
  4. Tungsten Fabric SDN — 网络协议
  5. Linux的用户和用户组管理
  6. Unity 中的协同程序
  7. 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
  8. 项目: 双人反弹球游戏
  9. QT的QOpenGLDebugLogger类的使用
  10. GPS定位系统源码只有这种才是最适合做二次开发的...
  11. classpath目录
  12. 使用Outlook Connector插件之后 qq发送过来的邮件为乱码
  13. Cookie的简单理解和使用
  14. E企云企业邮箱,选了不后悔
  15. 摄影曝光基础——光圈、快门、ISO
  16. 一个80后神话的倒掉----郑立
  17. NAR | 董波/王师/李语丽合作建立首个横跨动物界的进化发育组学数据库平台
  18. 微服务[开发生命周期]
  19. 集成方法,或者叫做组合方法(Ensemble methods)介绍(一)
  20. Play 2.6 使用Ebean

热门文章

  1. 深入理解 Java 虚拟机
  2. 关于R7000电量显示59%充不进电的解决方案
  3. 企业等保测评的必要性
  4. html标签验证百度搜索,如何验证百度站长平台(百度搜索资源平台)?
  5. blender 通过python 拉伸平面沿Y轴
  6. 讲python的东哥_IT大神耗时三年经典之作,2019年Python从入门到精通视频,送你
  7. 一步一步学Silverlight 2系列(31):图形图像综合实例—实现水中倒影效果_转载...
  8. 数码相机摄影技巧入门
  9. js 实现一个简易的英语词典
  10. 记录vue+饿了么整合阿里云oss 实现图片上传保存到MySQL 前台回显