【UE4】UnLua把Lua打包到Pak为什么加载不到
最近有人问到,为什么将Lua打包到Pak中,加载不到对应的资源?
其实问题并不仅仅是Lua为什么加载不到,其他文件也可能有类似的问题。例如json文件,SQLite的db文件或者其他自定义文件。这个问题的关键在于两方面:
第一文件是如何加载的
Pak的MountPoint
MountPoint不用多说,能否从Pak中正确的读到文件,关键就在于MountPoint。如果在使用Pak的时候,出现各种问题,首先就要确定MountPoint是否正确。如果对于这块不了解的同学,建议好好的学学Pak相关知识。
回到本文的主题,Lua是如何加载的?首先从ProjectPersistentDownloadDir目录查找,如果能找到对应的Lua文件,则读取,否则退回到ProjectContentDir读取。使用Pak的时候也是一样的,不过一个是从物理文件读取,一个是从Pak包中读取而已。
所以,当使用Pak管理Lua的热更时,关键的就在于它的MountPoint如何设置?既然优先读取ProjectPersistentDownloadDir,那我们的MointPoint是否也该指定到这里呢,答案是肯定的。MountPoint相当于是文件的路径。这样解释,不知道你听懂了吗?
