【版本控制教程】如何使用Unreal Engine 5 + UE源代碼控制(Perforce P4)

本文來源perforce.com,由Perforce中國授權合作伙伴——龍智翻譯整理,旨在為國內用戶提供一份實用、易懂的Unreal Engine 5+Perforce P4的中文使用指南。希望能為UE開發者、設計師和美術小伙伴們的版本控制實踐提供有力支持~

Unreal Engine 5?是一款尖端的游戲引擎,具備實時渲染功能、龐大的資產市場(Fab)和高級功能(如 Nanite 和 Lumen),使團隊能夠創建超寫實的角色和照片級逼真的數字環境。由于其打造沉浸式故事和體驗的能力,Unreal Engine(虛幻引擎)已被廣泛應用于多個行業——包括游戲、媒體與娛樂、建筑、汽車設計等。

充分發揮其全部潛力的關鍵之一,在于理解并運用版本控制,即通常所說的源代碼控制。

Perforce P4(原Helix Core)是與Unreal Engine廣泛結合使用的版本控制工具,它能夠對源代碼和二進制資產進行版本管理、自動化工作流,并通過在編輯時鎖定文件來防止沖突。Unreal Engine 提供了與 Perforce P4的集成,使團隊能夠在引擎內部無縫地對文件和資產進行版本控制。此外,Epic Games 提供的一些高級工具,如 Unreal GameSync 和 Robomerge,專為與P4配合使用而設計。

認識Unreal Engine 5.5

隨著 Unreal Engine 5.5 的發布,開發者和創作者可以使用一整套新的工具和增強功能,以提升動畫工作流程、移動端開發、虛擬制作以及其他創意項目。該版本基于 UE5 初版引入的功能進一步升級,帶來了 MetaHuman Animator 和 Lumen 等核心組件的重要更新。以下是幾項最值得關注的改進:

MetaHuman Animator 增強功能

在 Unreal Engine 5.5 中,MetaHuman Animator進行了如下更新,旨在簡化并提升動畫工作流程:

  • 僅通過音頻表演即可生成高質量的面部動畫。

  • 通過減少資產體積來優化MetaHuman,以滿足游戲集成的要求,同時確保質量幾乎不受影響。

移動端開發升級

UE5.5 同樣加強了對移動開發的支持,具體包括:

  • 為 Mobile Forward Renderer 新增特性,以提升平臺上的視覺保真度。

  • 改進了 Mobile Previewer 的內容開發體驗。

渲染更新

Unreal Engine 最新版還包含以下渲染方面的更新:

  • 對 Lumen 進行性能優化,使其在硬件支持的平臺上可以以 60Hz 的速度運行。

  • 引入 Megalights —— 一項新功能,允許用戶在場景中添加數百個動態投射陰影的光源,而不會影響性能。

Unreal Engine 5有何主要用途?

根據Perforce 2024 年《游戲技術現狀報告》,63%的受訪者表示團隊的首選引擎是 Unreal Engine(UE,虛幻引擎)。 雖然UE主要用于開發電子游戲,但它在動畫、虛擬制作和虛擬體驗項目中的應用也越來越廣泛。

報告顯示,在媒體與娛樂行業中,有 51% 的專業人士使用UE,相比之下,使用 Unity 的人員只有16%。UE5 的動態設計工具使團隊能夠更輕松地創建適合電視播出的圖形,這使得 UE成為了廣播、現場活動、汽車與交通、影視等行業不可或缺的工具。

此外,越來越多不同行業的團隊也開始采用 Unreal Engine,來實現各種高級可視化效果,例如:

  • 數字孿生
  • 產品演示
  • 交互式VR培訓
  • 虛擬現實
  • 混合現實
  • 擴展現實
  • 建筑設計
  • 教育培訓

盡管 Unreal Engine 5 為視覺創作提供了強大的功能,但管理這些復雜的項目需要穩健的版本管理機制,尤其是在多名團隊成員共同處理不斷變化的資產和代碼時。

為什么版本控制對UE5項目至關重要?

如果沒有集中式的版本控制,您的UE5項目將面臨以下重大風險:

  • 工作成果丟失
  • 版本更改沖突
  • 協作瓶頸導致項目進度受阻

尤其在如今的數字化工作環境中,有效的版本控制不僅作用顯著,更是必不可少。 根據Perforce 2024年《游戲技術現狀報告》,來自各行各業69%的受訪者都使用版本控制系統,來存儲和共享源文件及美術資產。

為什么Perforce P4是UE的版本控制系統?

創建UE項目本身就有一定的挑戰性,特別是在處理大型資產時。與傳統軟件開發主要處理文本文件不同,UE項目非常依賴龐大的二進制資產,這就需要一種專門的版本控制解決方案。

這也正是Perforce P4的突出之處——P4是Epic Games 自身用于開發 Unreal Engine 的版本控制系統。Epic推薦所有的第三方開發者在使用 Unreal Engine 時使用 P4,并且 Epic 開發的一些高級工具也僅支持P4,其中包括:

  • Horde:由 Epic 構建的一組服務,用于支持開發《堡壘之夜》、Unreal Engine等的工作流程,服務包括遠程執行、構建自動化、工作室分析等。

  • Unreal Game Sync:由 Epic 開發的工具,用于將開發者的 P4 工作區與項目流同步,項目流包含所有必要的預編譯并可直接使用的自定義二進制文件。

  • Robomerge:一款自動合并分支的工具,Epic Games 使用其開發 UE5 項目和《堡壘之夜》。

如何使用UE5和UE源代碼控制Perforce P4?

如何配置 Unreal Engine 和 Perforce P4以開始創建項目?以下是分步教程。

1、安裝 Unreal Engine 5?

首先,你需要安裝 Unreal Engine。最新版本為 Unreal Engine 5.5,于 2024 年 11 月發布。詳情可登錄Epic官網了解更多。

2、下載 P4V?

要使用 P4 版本控制,需要P4 服務器。你可以下載免費版本自行搭建服務器(最多支持 5 名用戶),或者選擇 P4 Cloud 訂閱服務,在云端快速獲得私有服務器。如何下載?詳詢Perforce中國授權合作伙伴——龍智,獲取下載&安裝支持。

要連接到服務器,請下載適用于你操作系統的最新版 P4V。

安裝P4V后:

  1. 打開P4V,輸入服務器地址和用戶名(這些信息在安裝服務器或配置 P4 Cloud 時已創建)
  2. 首次連接時可能會提示你信任該服務器
  3. 輸入密碼后即可成功連接至服務器

如需了解更多設置信息,請參考Perforce P4初學者指南視頻教程

3、創建 Depot(倉庫)

安裝好 Unreal Engine 和 Perforce P4后,需要為項目創建一個 Depot——即你在 Perforce 服務器上用于存儲項目的主目錄。

操作步驟如下:

  1. 打開 P4V,點擊菜單欄 Tools > Administration ,進入 P4 Admin
  2. 在 P4 Admin 中切換到 Depots 選項卡
  3. 點擊菜單 File > New > Depot…
  4. 給 depot 命名(例如 “ProjectName”)注意:名稱不能包含空格,且一旦設定無法更改
  5. 將 Depot 類型設置為默認值 “stream”,然后點擊 OK 創建 depot

4、設置 typemap(類型映射)

在向服務器添加文件之前,你需要設置 typemap,這樣 P4 服務器才能正確處理不同類型的文件。例如,當你編輯 .uasset 或 .umap 這類二進制文件時,typemap 可以指示服務器對這些文件進行獨占鎖定,從而避免多人同時編輯造成的沖突。

此步驟只需在首次設置服務器時執行一次:

  1. 在 P4V 的左側 Depot 面板中右鍵任意 depot,選擇 Open Command Window Here
  2. 這將打開一個終端窗口,在終端中輸入命令:p4 typemap
  3. 此操作將在你的默認文本編輯器(通常是記事本)中打開 typemap 文件
  4. 大多數用戶可以直接復制粘貼 Game Engine Universal Typemap
  5. 保存并關閉文件。如果終端顯示 “Typemap saved”,則表示操作成功

5、創建 Mainline Stream(主線流)

Perforce Streams 可以簡化分支和合并操作,自動化開發與發布流程。雖然 Streams 功能非常強大,但建議先從一個 mainline stream 開始,后續再隨著項目的發展逐步擴展。

操作步驟如下:

  1. 返回 P4V(不是 P4 Admin),點擊 File > New > Stream…
  2. 為 stream 命名(常見的命名方式是使用簡短的項目代碼 + “_main”,例如 “ABC_main”)
  3. 在 Depot 字段中,選擇你剛剛為該項目創建的 streams depot
  4. 確保 Stream type(流類型)設置為 mainline
  5. 取消勾選 Create a workspace to use with this stream (稍后再做這一步)
  6. 取消勾選 Populate the mainline stream after it is created (稍后再做這一步)
  7. 稍后會設置 p4ignore 文件,但為了更加安全,可以先確保一些文件夾始終被忽略。切換到“高級”選項卡,在 Ignored 字段中添加以下內容,然后點擊“確定”:
/Saved/...
/Intermediate/...
/DerivedDataCache/...
/FileOpenOrder/...

6、創建 Workspace(工作區)

要在 P4 上處理文件,需要創建一個 workspace(工作區)。 Workspace 是本地計算機上的一個文件夾,與服務器上的文件相連。 所有用戶都將在自己的計算機上使用獨立的工作區,每個人都可以控制自己何時提交更改,以及何時獲取他人的更新。

操作步驟如下:

  1. 在 P4V 中點擊 Connection > New Workspace
  2. 給 workspace 命名(建議包含用戶名和計算機名稱,例如 “username_myPC_uniqueName”)
  3. 可選:修改 workspace 的根目錄(本地計算機上用于處理文件的文件夾)
  4. 在 Stream 字段中選擇之前創建的 stream
  5. 可選:查看高級選項卡中的其他選項,確認無誤后點擊 OK 創建 workspace

通常,可以點擊 workspace 根目錄并選擇 “Get Latest” 來下載服務器上的最新文件,但在當前階段,需要先添加一些項目文件。

7、設置 Ignore 文件(忽略文件)

接下來需要設置 ignore 文件。 默認情況下,P4 會嘗試對所有文件進行版本控制。 但對于游戲引擎項目,你需要讓 P4 忽略某些文件。 通過設置 ignore 文件,可以告訴 P4 哪些文件不需要被保存在版本控制系統中,例如個人設置文件或中間構建文件。

非常重要:請在填充 depot 之前完成此步驟。

操作步驟如下:

  1. 在添加項目文件之前,創建一個名為 .p4ignore 或 p4ignore.txt 的文件
  2. 將示例p4ignore 內容復制進去并保存。

8、添加項目文件?

現在,你已經配置好了版本控制環境,并排除了不必要的文件,可以開始將實際的 Unreal Engine 項目資源添加到倉庫中。

首次提交游戲引擎項目時,上傳所有文件可能需要較長時間,具體取決于網絡速度。

完成初始提交后,后續的提交只會包括自上次提交以來發生變更或新增的文件,因此通常比初次提交快很多。

現在,開始添加UE項目文件,操作步驟如下:

  1. 在workspace 目錄下新建一個 UE 項目,或將現有項目移動到該文件夾中
  2. 在 P4V 中右鍵 workspace 文件夾,選擇 Mark for Add
  3. 你的所有文件(不包含被忽略的文件)將被加入默認的 changelist(變更列表)。 你可以在 Pending Changelists 選項卡中查看(如果沒有看到,可在 View 菜單中打開)
  4. 選擇 changelist,點擊 Submit 并填寫描述性注釋。 對于大型項目,首次提交可能耗時較長,但后續提交將僅包含變更的文件。

如何與團隊一起使用UE 5和UE源代碼控制

如果你正在與團隊共同開發 UE5 項目,可以通過 P4 Admin 添加用戶并設置權限。 最簡單的方法是在 P4 Admin 的 Users & Groups 選項卡中右鍵選擇添加新用戶。

完成初始的服務器設置并添加用戶后,團隊成員即可開始協作流程。 他們需要各自創建 workspace 才能參與項目開發。 以下是他們可以遵循的操作步驟:

1、使用 P4V 連接服務器?

  1. 下載適用于各自操作系統的最新版 P4V
  2. 打開 P4V,輸入服務器地址和用戶名(在安裝服務器或設置 P4 Cloud 服務器時已創建)
  3. 首次連接時,系統可能會提示你信任服務器
  4. 輸入密碼后即可連接至服務器

2、創建 Workspace(工作區)

  1. 在 P4V 中點擊 Connection > New Workspace
  2. 給 workspace 命名(建議包含用戶名和計算機名稱,例如 “username_myPC_uniqueName”)
  3. 可選:修改 workspace 的本地根目錄(本地計算機上用于處理文件的文件夾)
  4. 在Stream 字段中選擇之前創建的 stream
  5. 可選:查看高級選項卡中的其他選項,確認無誤后點擊 OK 創建 workspace
  6. 在左側 Workspace 標簽頁中選擇 workspace 的根目錄,點擊 Get Latest 以下載所選 stream 中的所有最新文件

如何在UE5中設置源代碼控制

現在,你已經為團隊配置好了Perforce P4,接下來就可以在 Unreal Engine 中設置 Perforce 集成。

首先,返回到 Unreal Engine 5(如果尚未打開,請啟動它)。 確保你是從 workspace 文件夾中打開一個 Unreal Engine 項目,而不是從硬盤的其他位置打開。

打開 Unreal Engine 后:

  1. 點擊 Source Control(源代碼控制) 按鈕
  2. 選擇 Change Source Control Settings(更改源代碼控制設置)
  3. 在Provider(提供商)下拉菜單中選擇 Perforce?
  4. 輸入你在 P4V 中使用的服務器地址和用戶名
  5. 點擊下拉菜單以選擇工作區。 只要你已登錄 P4V,并且是從 workspace 文件夾中打開項目,該選項會自動填充
  6. 點擊 Accept Settings(接受設置)

當成功將 Perforce P4 與 UE 連接后,版本控制的圖標會改變,表示已連接成功。

如何使用Unreal編輯器(適用于設計師或美術人員)

Unreal 編輯器內置了由 Epic Games 維護的 P4 集成功能。 設計師主要使用帶有P4的 Unreal 編輯器來進行版本控制。

資產文件(如 .uasset 和 .umap 格式)是在 Unreal 編輯器中修改的二進制文件。 它們不能像文本文件那樣打開,也不能使用基于文本的合并工具進行合并。

當你想要編輯某個資源時,只需在 Unreal Engine 的內容瀏覽器中點擊它,就會看到一個 Check Out(簽出)的選項。 P4的typemap 設置會確保你在執行此操作時自動鎖定該文件。

完成對鎖定文件的編輯后,你可以選擇 Check In(簽入)/ Submit(提交)文件,這會將變更上傳至服務器,并釋放對文件的鎖定。 或者,如果你決定不保留所做的更改,可以右鍵點擊文件并選擇 Revert(撤銷),即可將文件恢復到簽出前的狀態,并釋放文件鎖,以便其他人可以進行編輯。

你甚至可以直接在Unreal Engine中查看文件的歷史變更記錄,并直觀地對比不同版本之間的差異。

現在,你已經了解了如何將UE5與源代碼控制結合使用,不妨現在就開始使用 P4 進行 Unreal Engine 開發吧!

Perforce中國授權合作伙伴——龍智提供 Perforce P4 的全方位服務,包括產品咨詢與演示、本地化試用、安裝部署、技術支持、定制配置和團隊培訓等。 我們致力于幫助開發團隊快速上手P4,讓版本管理更輕松、更順暢。

官網:www.shdsd.com

電話:400-666-7732

郵箱:marketing@shdsd.com

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/86149.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86149.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86149.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

opensingleComDialog方法解析優化

下面是對 opensingleComDialog 方法的詳細解析,并給出優化建議和優化后的代碼。 方法解析 作用 opensingleComDialog(index) 方法用于在輸入框失去焦點時(blur 事件)自動根據輸入內容進行唯一性查詢,如果查到唯一結果則自動填充…

css 實現1個像素在不同分辨率屏幕上畫網格線

實現網格線繪制,要考慮畫布style尺寸和畫布像素大小的縮放關系 單像素繪制主要出現的問題是會模糊,從像素角度看就是出現繪制兩個像素,實際就是要做偏移 核心就是:按物理像素繪制,首先要對齊物理像素,計算…

深度圖聚類DGC—Paper Notes

目錄 Unsupervised Deep Embedding for Clustering Analysis (DEC 2016)Attributed Graph Clustering: A Deep Attentional Embedding Approach (DAEGC 2019)Structural Deep Clustering Network (SDCN 2020)Contrastive Multi-View Representation Learning on Graphs (MVG…

獲取YARN application 應用列表的幾種方法

目錄 1. 使用YARN命令行工具 2. 通過REST API獲取 YARN 提供了獲取YARN集群上運行的應用列表,以下是幾種常見方法: 1. 使用YARN命令行工具 最直接的方式是使用YARN提供的命令行工具: yarn application -list 上述命令會顯示所有正在運行的應用。 如果要查看所有應用(…

前端如何下載 ‘Content-Type‘: ‘application/octet-stream‘ 的文件

前言 在前端開發中,經常會遇到需要從后端接口下載文件的需求。當后端返回的響應頭中 Content-Type 為 application/octet-stream 時,表示這是一個二進制流文件,瀏覽器無法直接展示,需要前端處理后下載到本地。本文將詳細介紹前端…

咨詢顧問進階——顧問公司戰略咨詢分析模板【附全文閱讀】

該戰略咨詢分析模板圍繞企業戰略分析展開,先從總體思考戰略分析的目的與方法,接著探討企業及戰略定義、戰略地位等。外部環境分析通過 PEST、五種競爭力等模型,分析環境、行業、市場等情況以發現機會與威脅;內部環境分析從資源、核…

寶塔服務器調優工具 1.1(Opcache優化)

第一步:寶塔服務器調優工具 1.1(按照下面的參數填寫) 第二步:路徑/www/server/php/80/etc/php.ini 搜索jit jit1235 其中1235根據服務器情況修改 第三步:路徑/www/server/php/80/etc/php-cli.ini 搜索 jit1235 其中…

React Native【詳解】動畫

基礎動畫的實現流程 使用支持動畫的組件 <Animated.Viewstyle{[{opacity: fadeAnim, // 綁定透明度動畫值},]}><Text>動畫元素</Text></Animated.View>Animated.View&#xff1a;用于創建動畫容器&#xff0c;支持所有 View 的屬性。Animated.Te…

如何輕松地將照片從 iPhone 傳輸到計算機

如果您的照片占據了 iPhone 上最多的存儲空間&#xff0c;為什么不將照片從 iPhone 傳輸到電腦呢&#xff1f;您可能想要這樣做&#xff0c;但不知道如何開始&#xff1f;如果是這樣&#xff0c;那么本指南就是您所需要的。我們分享了 6 種方法以及步驟詳細信息。您可以按照一種…

操作系統之內存管理(王道)

本篇博客依據王道、與我的筆記而寫&#xff0c;講解了內存的基礎知識、內存管理的概念、進程的映像、連續分配管理方式、動態分區分配算法、基本分頁存儲管理、基本地址變換機構、TLB快表、兩級頁表、基本分段存儲管理方式、段頁式存儲管理方式、虛擬內存、請求分頁管理方式、頁…

C++11 std::thread 多線程編程詳解

C++11 標準首次將多線程支持引入語言標準庫,其中最核心的部分就是 <thread> 頭文件中的 std::thread 類。 ?? 一、基本概念 什么是線程? 線程是操作系統調度 CPU 時間的基本單位。一個進程中可以有多個線程,它們共享進程的資源(如內存、堆棧),但擁有各自獨立的…

設置vscode使用eslint

在 Visual Studio Code (VSCode) 中設置 ESLint 是一個很好的方式來確保代碼質量和一致性。以下是詳細的步驟&#xff1a; 1. 安裝 ESLint 擴展 打開 VSCode。點擊左側的擴展圖標&#xff08;四邊形圖標&#xff09;。在搜索框中輸入 ESLint。找到由 dbaeumer 提供的 ESLint …

.NET 生態中主流的前后端生產級框架

文章目錄 **1. 后端框架&#xff08;Backend Frameworks&#xff09;****(1) ASP.NET Core**&#xff08;微軟官方&#xff0c;主流選擇&#xff09;**(2) ABP Framework**&#xff08;企業級應用開發框架&#xff09; **2. 前端框架&#xff08;Frontend Frameworks&#xff0…

Spring Cloud Alibaba整合Sentinel指南

目錄 一、Sentinel核心功能概述 1. 控制臺安裝 2. 項目依賴配置 三、詳細整合步驟 1. 基礎配置 2. 資源定義與保護 3. 與OpenFeign整合 四、常見問題解決方案 五、最佳實踐案例 1. 流量控制場景 2. 熔斷降級場景 3. 熱點參數限流 六、高級功能 Spring Cloud Aliba…

Win10+PHPStudy 8.1完美運行CRMEB開源商城(附性能優化配置)

環境配置 下載phpstudy https://www.xp.cn/ 安裝完成之后打開&#xff0c;在軟件管理中安裝 nginx mysql 5.7 php 7.4 創建站點 填寫域名&#xff0c;根目錄選擇到public文件夾下 創建完成之后&#xff0c;點擊右側管理&#xff0c;選擇偽靜態 location / { if (!-e $request…

康謀方案 | ARXML 規則下 ECU 總線通訊與 ADTF 測試方案

目錄 一、引言 二、汽車電子控制系統 三、ECU開發流程中總線通訊&#xff1a;ARXML 規則下的標準化協作 四、ADTF&#xff1a;汽車數據與時間觸發框架&#xff08;Automotive Data and Time-Triggered Framework&#xff09; 五、應用案例 六、結語 一、引言 隨著汽車新…

常見JavaScript 代理模式應用場景解析

常見JavaScript 代理模式應用場景解析 在 JavaScript 開發中&#xff0c;代理模式&#xff08;Proxy Pattern&#xff09; 是一種強大的設計模式&#xff0c;它允許我們通過創建一個“代理”來控制對目標對象的訪問。通過代理&#xff0c;我們可以攔截并增強對象的行為&#x…

暴雨信創電腦代理商成功中標長沙市中醫康復醫院

6月25日&#xff0c;國內科技產業領軍企業暴雨信息傳來喜訊&#xff0c;其信創電腦成功中標長沙市中醫康復醫院信息化設備采購項目。此次中標&#xff0c;不僅彰顯了暴雨信息在信創領域的技術實力和產品優勢&#xff0c;也為長沙市中醫康復醫院的信息化建設注入了新的活力。 長…

ZYNQ PL高速采集AD7606數據與QT動態顯示全解析

從硬件設計到軟件優化,打造工業級數據采集系統 在工業自動化、醫療儀器等領域,高速多通道數據采集系統至關重要。本文手把手教你基于Xilinx ZYNQ平臺,實現8通道200kSPS高速采集**,并通過QT實現60fps動態波形顯示。突破性采用五級流水采集架構和GPU加速渲染,解決傳統方案的…

還是工作日志

今天感覺效率有點低&#xff0c;可能是太熱了 【100】 開始不懂了 https://www.bilibili.com/video/BV1rL411E7uz?t1193.7&p100 什么新增&#xff0c;什么新增和變化 【101】退單 開頭就說不適合做事務型 https://www.bilibili.com/video/BV1rL411E7uz?t26.6&…