UE4資源移動與跨項目遷移


資源移動

1. 在編輯器的Content中,可通過拖拽資源文件或目錄來進行移動(注:資源的移動不能在windows資源管理器中進行,否則會導致引用關系丟失)

2. 若被移動的資源被其他資源引用着,移動完后會存在一個同名的重定向文件(jump文件,大小約為2KB):用於記錄文件移動后的位置

3. 通過Fixed Up操作來更新並保存其他資源中對移動的資源的引用路徑(注:即不再通過重定向文件跳轉,而是在其他資源中直接填寫資源移動后的位置)

4. 可通過ResavePackages的Commandlet命令進行批量Fixed Up操作

 

注:資源的重命名、刪除都需要在編輯器中進行

 

移動文件或目錄

將Content\ThirdPersonCPP\Meshes目錄移動到Content\ThirdPerson中

 

在UE4中,移動或重命名一個資源會在其原有位置處留下一個重定向文件(jump文件)

 

注1:需要打開Filters -- Other Filters -- Show Redirectors過濾器,才能看到這些重定向文件(jump文件)

注2:雙擊這些重定向文件(jump文件)會跳轉到文件真正的位置

注3:如果當前已經打開了地圖A,地圖A會將對這些文件的引用調整到移動后的位置(即:不需要借助jump文件)。不過,要記得保存地圖A。

 

 

 

注:這些重定向文件(jump文件)很小,約為2KB,里面只記錄一個跳轉路徑,實際的數據已經存放到移動后的目錄中

 

注:使用右鍵菜單"Fix Up"和"Fix Up Redirectors in Folder"時,會修復所有指向重定向文件的包中的鏈接到移動后的位置。當成功完成修理后,會保存這些包,並刪除重定向文件

 

使用ResavePackages命令來清理重定向文件 

首先需要注意的是,該命令只能處理沒有被引用的重定位文件。如果重定位文件還被其他文件引用着,則會被跳過

 

UE4Editor.exe "%GameDir%\MyGame.uproject" -run=ResavePackages -fixupredirects -projectonly  // 只修復項目中的重定向文件

UE4Editor.exe "%GameDir%\MyGame.uproject" -run=ResavePackages -fixupredirects -packagefolder="G:/svn/MyTest1/Content/ThirdPersonCPP/Meshes"   // 修復目錄G:/svn/MyTest1/Content/ThirdPersonCPP/Meshes中的重定向文件

不過需要對ContentCommandlets.cpp的UResavePackagesCommandlet::InitializeResaveParameters函數中做如下修改,才能正常執行

 

UE4Editor.exe "%GameDir%\MyGame.uproject" -run=ResavePackages -fixupredirects -package=/Game/ThirdPersonCPP/Meshes/Linear_Stair_StaticMesh  // 修復名為ThirdPersonCPP/Meshes/Linear_Stair_StaticMesh的重定向文件

UE4Editor.exe "%GameDir%\MyGame.uproject" -run=ResavePackages -fixupredirects -file="G:/svn/MyTest1/fixfilelist.txt" // 修復G:/svn/MyTest1/fixfilelist.txt列表中的重定向文件

fixfilelist.txt中內容如下

G:/svn/MyTest1/Content/ThirdPersonCPP/Meshes/Bump_StaticMesh.uasset
G:/svn/MyTest1/Content/ThirdPersonCPP/Meshes/LeftArm_StaticMesh.uasset

 

跨項目遷移

遷移資源目錄到另外一個工程

 

注:可雙擊Asset Report面板上的資源來打開預覽

 

 

 

遷移某些Level到另外一個工程

具體操作步驟:在Levels面板中,選擇要遷移的Level,然后點擊面板左上角Levels按鈕,在彈出的菜單中選擇“Migrate...”

注:可雙擊Asset Report面板上的資源來打開預覽 

 

參考

資源:重定向器

ue4中資源和代碼的跨工程遷移 

移植資源 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM