UE4大场景解决方案 ——World Composition + streaming level

一、流关卡streaming level

流关卡顾名思义,即关卡数据可以以数据流的形式加载到游戏中,这个过程就像加载其他的角色数据一样,非常平稳,对当前的关卡没有影响。具体的表现效果就是,当你在场景A中向场景B行走的时候,B场景会在你事先指定好的地点(或者其他条件)加载进来,而你感觉不到B场景的加载过程,好像原来B场景就存在一样,这样玩家就会觉得仿佛置身于一个大场景一样。

在UE4里面,每一个World里面至少有一个PersistentLevel以及0-N个StreamingLevels。在编辑器里面通过Windows—Levels窗口即可查看。点击Levels按钮,可以创建新的level或者是添加已经存在的level。

关卡名字颜色不同代表不同的状态:蓝色代表当前关卡,白色代表已经加载进来的关卡,灰色代表未加载的关卡。

控制流关卡的加载总体上来说有两种方式,一种是通过关卡流体积控制(LevelStreamingVolume),另一种是通过脚本(代码)逻辑控制。简单描述一下两个方法,第一种,LevelStreamingVolume相当于一个定制的触发器,当玩家摄像机(注意是玩家摄像机)进入LevelStreamingVolume体积内的时候,对应的流关卡就会加载(对应关系是通过下图操作设置的点击levels旁边的按钮打开leveldetails窗口 inspectlevel找到需要加载的流关卡添加对应的LevelStreamingVolume)。第二种,可以随意调用加载,最简单的方式就是设一个触发器在玩家进入触发器的时候调用LoadStreamLevel。

二、世界构成器World Composition

流关卡给我们提供了一个大世界的解决方案,但是实际操作上由于每个level关卡都可能非常大,我们在编辑器里面一点点调整流关卡里面的Actor位置实在是过于麻烦,所以UE提供了世界构成器功能,简单来说就是帮你把N个关卡用拼图的形式拼接成一个大世界地图。

想使用这个功能,首先你需要在当前的WorldSetting里面勾选 Enable World Composition (如果当前你的world里面已经添加了子关卡,那么是无法开启该功能的)。当你开启该功能的时候他会弹出一个界面提示你将会把同一个文件夹内的所有level作为当前persistent level的流关卡,点击OK即可。

这时候新加入的流关卡并没有激活,所以是灰色的。右键该地图选择Load选项,就会把NewMap加入当前的level里面,此时在编辑器里面你就可以看到子关卡的物件了。

这时候有一个问题,你发现无论怎么设置,运行游戏的时候NewMap都会和Persistent Level一同加载到当前的Level里面。因为世界构成器默认的加载逻辑就是当玩家距离要加载的关卡满足一定数值时就会加载对应的子关卡。而由于你刚把NewMap加载到当前的World里面,他被默认放到了默认分组的下面,NewMap的默认位置就是当前世界的原点位置,满足默认距离50000(500米),所以一开始运行的时候就会加载进来。

可以点击下图按钮进入分组设置,也就是层的编辑。

在worldCompositior界面可以设置自定义层,设置层的名称,距离(CM)和层里所包含的关卡。将关卡分配给自定义层的方法如下:

重点是可以取消距离设置,这样就可以用第一部分介绍的StreamingLevel的加载方式来加载用其他条件进行加载与卸载的场景;加载函数如下:

三、注意事项

1. 当在WorldSettings里面勾选EnableWorldComposition的时候,引擎会帮助我们在World里面创建一个新的Actor,这个Actor的默认名字是LevelBounds,通过去掉AutoUpdateBounds属性并重新设置Scale大小,就可以自定义level的大小了。

2.世界构成器的层初始创建后就无法被编辑和删除,需要将弃用层里的场景清出去之后重启,才可以将层自动删除。

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UE4中,关卡流接缝是指在多关卡切换时,由于关卡加载的过程中可能会出现短暂的黑屏或者过渡的不流畅,导致玩家感觉到关卡之间有一道明显的分界线或接缝。这个问题的解决方法有很多种。一种常用的方法是使用LevelStreaming来实现流关卡的加载和切换。LevelStreamingUE4中的一个原生功能,它可以将关卡切分成多个切片,并在合适的时机进行加载和卸载,从而实现无缝的关卡切换效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [UE4多关卡切换_详细讲解案例.doc](https://download.csdn.net/download/gaofei7439/12299406)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [UE4大地图(流关卡、无缝地图)](https://blog.csdn.net/weixin_33711641/article/details/92723741)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [UE4流关卡与无缝地图切换总结](https://blog.csdn.net/u012999985/article/details/78484511)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值