? ? ? ? 眾所周知,在UE4引擎中,如果要用到runtime下加載資源,通常會采用pak文件的形式進行下發,這種方式的好處就是,第一,壓縮體積較小;第二,可以將相互依賴的資源文件壓縮成為一個物理文件來方便邏輯加載;第三,可以進行加密處理,防止模型文件被抓取。這也是Unreal官方推薦的方式。
? ? ? ? 制作pak的流程就是可以簡單的理解成為將一個關卡中所有的資源文件,包括地圖關卡打包成一個壓縮文件的過程。該過程可由一個程序插件來自動化實現。然后程序在runtime時候,進行下載這些pak文件,進行動態加載。
? ? ? ?本文將要講述的是在iOS平臺下讀取pak所遇到的一個坑。
? ? ? 1.PAK? 我們將制作出的pak通過http下發到Windows環境下的程序中,可以很完美的動態加載出來所需要的場景。然后將此種邏輯同樣放在iOS平臺下則一直crash。經過多次debug測試得出結論,經過windows環境cook過的pak是不能再ios平臺上運行的。
? ?????2.cook
官方解釋
所以我們得出,iOS平臺上要用的pak 必須是經過iOS cook過的pak。經過測試解決了crash的問題。可以很完美的在iOS上動態加載出來和windows上一樣的場景了。
可以得出。UE4的跨平臺并不是資源文件跨平臺。不同的平臺對資源(pak)均需進行cook(資源文件格式轉換)。在這里Mark一下。
最后把寫的制作PAK的插件源碼地址放一下:點擊這里
最后把