UE4 在iOS中使用pak文件

        众所周知,在UE4引擎中,如果要用到runtime下加载资源,通常会采用pak文件的形式进行下发,这种方式的好处就是,第一,压缩体积较小;第二,可以将相互依赖的资源文件压缩成为一个物理文件来方便逻辑加载;第三,可以进行加密处理,防止模型文件被抓取。这也是Unreal官方推荐的方式。

        制作pak的流程就是可以简单的理解成为将一个关卡中所有的资源文件,包括地图关卡打包成一个压缩文件的过程。该过程可由一个程序插件来自动化实现。然后程序在runtime时候,进行下载这些pak文件,进行动态加载。

       本文将要讲述的是在iOS平台下读取pak所遇到的一个坑。

      1.PAK  我们将制作出的pak通过http下发到Windows环境下的程序中,可以很完美的动态加载出来所需要的场景。然后将此种逻辑同样放在iOS平台下则一直crash。经过多次debug测试得出结论,经过windows环境cook过的pak是不能再ios平台上运行的。

       2.cook

UE4 在iOS中使用pak文件_第1张图片
官方解释

所以我们得出,iOS平台上要用的pak 必须是经过iOS cook过的pak。经过测试解决了crash的问题。可以很完美的在iOS上动态加载出来和windows上一样的场景了。

可以得出。UE4的跨平台并不是资源文件跨平台。不同的平台对资源(pak)均需进行cook(资源文件格式转换)。在这里Mark一下。


最后把写的制作PAK的插件源码地址放一下:点击这里


最后把

你可能感兴趣的:(UE4 在iOS中使用pak文件)