UE4 资源加载与资源缓存

       前一段时间其实就做完了这个资源预加载的功能,仅仅是根据以往的经验完成的这项功能。最近稍微有一点时间,就把UE4资源加载和缓存的整体流程进行了分析,这样可以对整个UE4资源管理流程有更深入的了解,同时也让想了解这部分的小伙伴们节省些时间。

 

       一、资源定义

       1、想了解整个资源加载和缓存流程,首先就要了解UE4对资源是如何定义的。在文件夹中对应uasset,在内存中对应为UPackage。这两个名词大家应该都不陌生。game中我们具体使用的都不是他们,使用的其实是Texture2D、SkeletalMesh,也有可能是一个自定义的蓝图资源等等这些具体的资源类型。

 

      2、在UE4中有一个Outer的概念,UPackage类似一个大的集合,他包含具体的UObject。 UPackage是具体UObject的Outer。要知道资源自身数据UObject的内容,必须先知道UPackage才可以。

 

     3、UPackage序列化到本地之后就是uasset文件,uasset是本地的资源文件。包括如下:

 

           File Summary 文件头信息

           Name Table 包中对象的名字表

           Import Table 存放被该包中对象引用的其它包中的对象信息(路径名和类型)

           Export Table 该包中的对象信息(路径名和类型)

           Export Objects 所有Export Table中对象的实际数据。

两个UPackage实例存在依赖关系,序列化到uasset文件的时候,这些依赖关系就存储为ImportTable。可以把ImportTable看做是这个资源所依赖的其他资源的列表&

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值