在UE4使用Perforce進行版本控制的方法

2021/12/24閱讀時間約 5 分鐘
2022/01/01 編輯:簡單補充一下
我使用Perforce的目的是為了備份UE4專案,同時進行版本控制,也就是避免手殘不小心改壞的時候,可以還原成之前的版本,完全沒有進行多人協作的需求。如果讀者有協作的需要,或許就不適用這篇的方法,或是需要進行調整。

Unreal Engine4比較常用的版本控制有Git, Svn, Perforce等
UE官方有做過直播比較,https://youtu.be/JxXydvG4mlI,長度有兩個多小時,有興趣的話再看就好
Perforce的優點很多,最關鍵的一點是,官方是以Perforce為前提來做UE的版控,所以該有的功能都整合好了,像是Blueprint也可以直接透過內建功能做diff;缺點是使用者超過五人時要錢、Server環境不好架、教學很少等
但其實直接在Win10同時安裝Client及Server就很容易了,這樣做的缺點是幾乎沒有安全備份的意義,不過只要把Server資料夾的所有檔案,透過雲端備份服務備份到其他地方(GoogleDrive、Dropbox...等),就可以達到備份的功能了。
我自己測試過,在同一台電腦,即使把Server程式砍了,事後重新安裝並再次指定資料庫使用相同資料夾,Server可以自動識別資料夾內的資料庫,並且可以直接使用,不過還沒測過不同電腦的情況,所以我不敢打包票會不會出問題。

安裝方式如下:
首先,跟著Perforce官方教學
把Server跟Client灌到同一部Windows機器,依序安裝Server端及Client端(P4V),順序反了就會無法安裝,安裝Server端時記得選要將Server Folder設在什麼地方
跟著影片做到4:56,建立workspace時要特別注意
打好名稱設好位置之後,必須按到Advance Tab
勾選Allwrite、Modtime、Rmdr等三個項目
然後再將On submit設定為Revert unchanged files
之後才可以按下OK來創建workspace,不然未來檔案Sync時可能會造成Error
此外因為UE4不支援太長的資料夾路徑,所以Workspace記得不要放得太深
然後這個影片做到這邊就可以了,5:00之後不用管
剩下的換下個影片,基於這個影片 https://youtu.be/faYmvw_Pd-A?t=1316
將要版本控制的Project資料夾直接複製到workspace裡
然後用UE4開啟Project,進入SourceControl的設定,將專案連上Perforce
在資料夾中用記事本建立p4ignore檔案,檔名為「.p4ignore」
填入以下內容,可以隨個人喜好增減
Build/
Intermediate/
DerivedDataCache/
*.sln
之後在P4V選擇好Workspace,選File->Open Command Window Here
用指令列輸入下列指令,(指令最後面為檔名)
p4 set P4IGNORE=.p4ignore
需要的話可以用下列指令檢驗是否設定成功
p4 ignores
(注意:影片裡面p4ignore方法沒提到這個步驟,實測後發現不做不行)
回到P4V,對專案資料夾Add,再Commit後就可創立第一份Initial Commit
連接Perforce後,若開啟還沒有BuiltData的Level,會出現Shared Data Cache not in use, performance is impacted.的錯誤訊息,實測後DDC仍然有在正常工作,直接把產生的BuiltData檔Checkout後應該就沒問題了(不確定)
可參考這裡 https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/ 及這裡 https://www.youtube.com/watch?v=coDIWds02DE
另外,Visual Studio的部分需要裝Plugin才能使用Perforce
可以參考這個影片 https://youtu.be/z4TAeDMfcuk
參考資料
Allar’s Blog
https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/
Perforce的用法
https://www.youtube.com/watch?v=ix4iaGr3kPI
為什麼會看到廣告
園長
園長
你好,我是園長,我喜歡玩遊戲、聊遊戲、也在做遊戲,偶爾也會做點別的事
留言0
查看全部
發表第一個留言支持創作者!