UE4 Chunk分块

一、通过AssetManager实现分块

1. 基本操作

首先,设置分块:

方法一:打开Project Settings → Game → Asset Manager

需要设置的参数:

  1. 点击Primary Asset Types to Scan右边的加号,为数组添加新的元素

  2. 设置Primary Asset Type名称

  3. 选择Asset Base Class类型,如图选择了World类型

  4. 取消勾选Is Editor Only以将Chunk应用到非Editor平台

  5. 选择Directories来确定哪些目录下的资源将被浏览

  6. 如果要将引用资源也分到指定Chunk里,勾选Apply Recursively,反之则不勾

  7. 设置ChunkID,这将决定这类资源将被分到哪个资源块(-1和0都会被打入Chunk_0中)

7.如果希望只打包部分资源,减少无关资源的烘焙打包时间,可以设置Cook Rule为Never Cook

在这里插入图片描述

接下来,打开Window → Developer Tools → Asset Audit,在Add Primary Asset Type里可以看到我们设置好的Asset Base Type:

在这里插入图片描述

点击点Add Chunks可以看到这个时候只有默认的Chunk_0,这里需要先Cook

在这里插入图片描述

通过File → Cook Content for Windows烘焙之后,点击Refresh就可以看到我们刚设置好的Chunk_1,还可以在Selected Platform可以切换不同平台,查看对应平台的资源信息:

在这里插入图片描述

右键Chunk_1 → Size Map查看分配到Chunk_1中的所有资源信息:

在这里插入图片描述

需要注意的是,由于各个平台Cook出的资源大小不一,所以最好是烘焙对应平台的资源后(如何烘焙对应平台资源),在右上角选择对应平台的Chunk查看:
在这里插入图片描述

这种方式通过将Asset Base Class设置为Object的形式,可以实现将指定的某一文件夹下的所有资源打包到一个Chunk里(除Level外,Level需要额外配置)。

2. 自定义Asset Data分块

我们可以通过自定义PrimaryAssetData数据来控制分块内容,UE4默认为我们提供了一个PrimaryAssetLabel(我们也可以自己定义继承自PrimaryAssetData)的类做分块管理:

在Content Browser右键,选择Miscellaneous → Data Asset,输入PrimaryAssetLabel创建,双击进入Details面板:

设置参数:

  1. 设置ChunkID

  2. 和此Chunk包含的资源Explicit Assets

其他默认
在这里插入图片描述

Save → Cook后,得到Chunk_2:
在这里插入图片描述

这里举了一个利用PrimaryAssetLabel把CoventMap分到一个Chunk的例子,这种方式较为灵活,我们可以自己定义类型来规划Chunk内容,自定义规则,或者说是没有规则。需要注意的是,如果两个Chunk引用了同一资源且都勾选了Apply Recursively,这样会把资源分别打包到两个Chunk里。

二、手动设置每个资源的ChunkID

首先,勾选Allow ChunkID Assignments

在这里插入图片描述

选择要设置Chunk的资源,右键 → Asset Actions → Assign To Chunk,设置Chunk ID

在这里插入图片描述

Save → Cook后,得到Chunk_3:

在这里插入图片描述

这种方法只会把资源打到对应的Chunk里,不管其引用,甚至可以把资源同时丢到若干个Chunk里,可以说是最为灵活的方法了。
在这里插入图片描述

灵活是灵活了,但是如果管理整个项目的资源,反而变得复杂和不可控,所以引擎也默认不显示Assign Chunk ID的操作,不推荐这种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值