最近經(jīng)常打包,發(fā)現(xiàn)每次打包資源都全部重新Cook了,這對(duì)工作效率影響很大,原因包括我們?cè)诖虬鞒讨凶詣?dòng)修改了ini文件來配置版本號(hào)等。不經(jīng)過配置的引擎會(huì)在ini進(jìn)行變動(dòng)的時(shí)候清理掉原有Cook過的內(nèi)容。因此需要通過一系列配置,以保證每次Cook的內(nèi)容是增量的,來加快工作進(jìn)度。
首先要使增量Cook生效,必須在構(gòu)建命令中加入-iterate,否則在每次Cook前會(huì)將Cook產(chǎn)物文件夾整個(gè)刪除。
然后需要在DefaultEditor.ini文件中加入類似如下內(nèi)容:
[CookSettings]
+ConfigSettingBlacklist=*.Engine:/Script/IOSRuntimeSettings.IOSRuntimeSettings:VersionInfo
+ConfigSettingBlacklist=*.Engine:/Script/AndroidRuntimeSettings.AndroidRuntimeSettings:VersionDisplayName
+ConfigSettingBlacklist=*.Engine:/Script/AndroidRuntimeSettings.AndroidRuntimeSettings:StoreVersion
實(shí)際上是通過配置增加ConfigSettingBlacklist中的內(nèi)容項(xiàng)來時(shí)引擎在Cook的時(shí)候忽略相關(guān)的配置字段。其格式為
+ConfigSettingBlacklist=BuildMachinePlatform.ConfigFile:SectionName:ValueName
其中:
| 占位名 | C++中的涵義 | ini中的涵義 | 參考取值 |
|---|---|---|---|
BuildMachinePlatform |
N/A | 構(gòu)建機(jī)器的平臺(tái) | 取值可以為Windows/Mac/Linux等,支持Wildcard(*)。 |
ConfigFile |
C++類中UCLASS(config=Engine)配置的內(nèi)容 |
ini文件名的后半段,即Base、Default等字樣后面的部分 |
Engine/Game/Editor等 |
SectionName |
C++類所屬的路徑名(Path/Of/Package.ClassPath) |
每個(gè)配置文件中方括號(hào)內(nèi)的內(nèi)容 | 略 |
ValueName |
C++類中的變量名 | 配置文件中具體的配置里行首的名稱 | 略,支持Wildcard(*) |
配置成功后,將會(huì)在下下次打包時(shí)生效。