Unity使用Perforce版本控制2018年資源彙整

Spread the love

[embedyt] https://www.youtube.com/watch?v=KLymWVXKySA[/embedyt]

 

關於Unity文件

https://docs.unity3d.com/Manual/Versioncontrolintegration.html

Perforce集成

版本控制集成

Unity支持與Perforce版本控制集成。有關選擇版本控制的具體信息,請參閱這些頁面。

使用版本控制系統使用戶(或多個用戶)更容易管理其代碼。它是具有受監視訪問權限的文件的存儲庫。在Unity的情況下,這是與Unity項目關聯的所有文件。通過版本控制,可以跟踪對源的每個更改,以及有關更改的人員,更改原因以及更改內容的信息。這樣可以輕鬆恢復到早期版本的代碼,或者比較版本中的差異。更容易找出錯誤最初發生的時間,以及可能導致錯誤的更改。

在Unity中設置版本控制

根據其說明獲取版本控制軟件設置,然後按照以下步驟操作:

  1. 使用所選客戶端在計算機上設置或同步工作區(有關此步驟的幫助,請參閱或“ Perforce集成指南 ”)。
  2. 將現有項目複製到工作區,或啟動Unity並在工作區中創建新項目。
  3. 打開項目,然後轉到編輯 > 項目設置 > 編輯器
  4. 版本控制,選擇你的模式,根據您選擇的版本控制系統。
  5. 填寫您的版本控制設置,例如用戶名/密碼/服務器/工作區。
  6. 如果希望在將文件添加到項目(或磁盤上的文件夾)時將文件自動添加到版本控制,請保持自動添加已選中。否則,您需要手動添加新文件。
  7. 您可以選擇離線工作。僅當您知道如何將更改手動集成到版本控制軟件(使用Perforce離線工作)時,才建議使用此模式。
  8. 您可以編輯資產序列化默認行為模式Sprite Packer選項,以滿足團隊的偏好和版本控制選擇。
  9. 點擊連接,並確認“連接”顯示上述連接片刻後按鈕。
  10. 使用標準客戶端(例如p4v)確保添加AssetsProjectSettings文件夾中的所有文件(包括以.meta結尾的文件)。

注意您可以隨時轉到Prefences菜單並選擇“ 外部工具”並調整“版本控制差異 /合併”工具。

使用版本控制

此時,您應該能夠通過右鍵單擊項目視圖中的資產來直接執行大多數重要的版本控制操作,而不是通過版本控制客戶端。版本控制操作取決於您選擇的版本控制,此表顯示了每個版本控件可直接使用的操作:

版本控制操作 描述 Perforce
Check Out 允許對文件進行更改
 Diff against head 比較本地和頭部文件之間的差異
 Get Latest 拉取最新更改並更新文件
 Lock 阻止其他用戶對文件進行更改
 Mark Add 在本地添加但不添加到版本控制中
 Resolve Conflicts 解決已被多個用戶更改的文件的衝突
 Revert 放棄對打開已更改文件所做的更改
 Revert Unchanged 放棄對打開未更改文件所做的更改
 Submit 將當前文件狀態提交給版本控制
 Unlock 釋放鎖定並允許任何人進行更改

版本控制窗口

您可以從版本控制窗口窗口 – >版本控制)中查看更改列表中的文件。它顯示在編輯器中的Inspector旁邊停靠:

“傳出”選項卡列出了等待提交到版本控制的所有本地更改,而“傳入”選項卡列出了需要從版本控制中提取的所有更改。

通過右鍵單擊此窗口中的資產或更改列表,您可以對它們執行操作。要在更改列表之間移動資產,只需將資產從一個更改列表拖動到目標更改列表的標題。

圖標

Unity編輯器中顯示以下圖標,以顯示文件/資產的版本控制狀態:

圖標 含義 附加信息
文件在本地添加 待添加到版本控制中
文件由另一個用戶添加到版本控制 待添加到版本控制中
文件由您簽出 在當地退房
文件由其他用戶簽出 遠程退房
合併此文件存在衝突 需要解決
文件已被刪除 待版本控制中刪除
文件已被其他用戶刪除 待版本控制中刪除
文件尚未受版本控制 N / A
文件已被您鎖定 其他用戶無法修改
文件被另一個用戶鎖定 不能被你修改
另一位用戶已簽入此文件的新版本 使用“應用傳入更改”獲取最新版本
服務器正在請求此文件的版本控制狀態,或正在等待響應 您只能在使用Perforce等集中式版本控制系統時看到此信息

注意事項:

  • 某些版本控件不允許您編輯資產,直到它們被標記為已簽出(除非您已選中“離線工作”)。
  • 保存對.scene文件的更改時,將自動檢出。
  • 項目設置檢查員在右下方有一個結帳按鈕,可以讓您結帳設置。
  • 通常會出現黃色警告,提醒您檢查項目以便對其進行更改,這主要適用於項目設置檢查員。
  • 在Plastic SCM中,會自動添加/檢出自動生成的資產,例如光照貼圖。

在提交時自動恢復未更改的文件

使用資產時,Unity會自動檢出資產文件以及相關的.meta文件。但是,在大多數情況下,.meta文件不會被修改,這可能會導致一些額外的工作,例如在以後合併分支時。

離線模式

Unity支持在脫機模式下工作,例如,在沒有與版本控制存儲庫的網絡連接的情況下繼續工作。

  • 如果希望能夠與版本控制斷開連接,請從版本控制設置中選擇脫機工作。

允許異步更新

Unity支持某些版本控制提供程序(如Perforce)的異步版本控制狀態查詢。此選項允許這些提供程序更新文件的版本控制狀態,而不會使Unity停頓。當與版本控制服務器的連接具有高延遲時,請使用此選項。

  • 如果在狀態查詢期間遇到停頓,請轉到“ 版本控制設置”並選擇“ 允許異步更新”

注意:只有狀態查詢是異步的。更改文件狀態或需要最新文件狀態知識的操作是同步執行的。

故障排除

如果Unity無法將更改提交到版本控制客戶端(例如,如果服務器已關閉或發生許可證問題),則您的更改將存儲在單獨的更改集中。

使用資產服務器

要了解有關使用Asset Server(Unity的內部版本控制系統)的更多信息,請參閱Asset Server上的文檔。

使用其他版本控制系統

要使用Unity不支持的版本控制系統,請在編輯器設置中選擇MetaData作為版本控制模式。這允許您使用您選擇的版本控制系統管理這些資產的源資產和元數據。有關詳細信息,請參閱外部版本控制系統的文檔。

使用Perforce和Unity3D

2018年5月17日
問題

我想在UNITY3D中使用PERFORCE HELIX?

我該如何開始?
我應該注意哪些問題?

存在兩個PERFORCE集成。

  1. Unity有一個“內置”Perforce集成,由Unity提供並由Unity支持。
  2. P4Connect集成由Perforce提供,並在Unity Asset Store中發布。

2016年中期,內置集成變得免費。因此,建議使用Unity內置Perforce集成而不是替代的P4Connect應用程序。不要混合兩個集成,你只能使用其中一個。

UNITY內置PERFORCE集成

  • Perforce / Helix支持內置於Unity 3D中。
  • 當您在Unity中對遊戲進行更改時,集成將在您在編輯器中工作時透明地檢查文件或為您添加文件。
  • 通常,您需要使用P4V來組織提交以及集成生成的更改。
  • 這種集成由Unity編寫,Perforce軟件不正式支持
  • 我們很樂意為決定使用它的客戶提供一般性建議。

使用UNITY3D需要什麼?

集成的文檔

設置Perforce服務器

要成功使用Perforce,您需要創建並維護一個存儲資產的Perforce服務器。本文檔假定您託管自己的服務器。請注意,如果您為Internet使用有線電視提供商,則可能需要從ISP請求靜態IP以允許遠程用戶訪問您的服務器。

我建議查看文檔“規劃您的Perforce服務器安裝”

注意!如果您將在Windows上使用Unity,強烈建議您將服務器配置為不區分大小寫。如果您的服務器在Windows上,默認情況下會發生這種情況。以下是在Windows上安裝Perforce Server的說明

如果您的服務器在Linux上,則可以使用Perforce安裝包

在Linux上,您可以將其配置為   在不區分大小寫的模式下運行

這是Perforce下載頁面。請下載“與您的操作系統和架構相匹配的Helix服務器。
如果您不熟悉Perforce服務器,請查看  “Perforce簡介”指南和“P4V入門” 指南

我發現這篇關於讓服務器在EC2上運行的博客文章   雖然我們沒有以相同的方式在雲中提供Perforce,但配置建議
還是不錯的。

如果您的團隊中有超過5個用戶,則需要購買Perforce許可證才能啟用服務器。請從許可頁面聯繫Perforce Sales。

設置每個PERFORCE客戶端。

每個用戶都需要安裝Perforce客戶端軟件才能管理其Perforce資源並維護一致的資產狀態以進行開發。雖然Unity會為您創建更改,但在決定簽入更改或決定同步其他開發人員資源時,您通常需要使用Perforce客戶端。

我們推薦的客戶端是P4V,可以從Perforce下載頁面下載。如果您不熟悉P4V,請查看P4V入門指南。

使Perforce服務器和客戶端可用後,創建具有本地管理員權限的專用Perforce Administrator帳戶,並在設置用戶,工作區和文件類型之前以此帳戶登錄。P4Admin是一個隨P4V提供的工具,可以幫助您完成管理工作。

每個用戶都需要在自己的計算機上創建自己的客戶端/工作區。他們需要確保Perforce客戶端根目錄包含
Unity Game根目錄(包含“ASSETS”子目錄);

忽略文件(設置P4IGNORE)

某些Unity文件不應存儲在Perforce中,永遠不要將庫目錄存儲在Perforce 下的項目中

Unity有一個github頁面,其中維護了主.gitignore列表
.p4ignore文件應該非常相似。請使用.p4ignore文件以確保其他文件不受控制。

必須將.p4ignore文件的P4IGNORE環境變量設置為活動狀態。

這是P4IGNORE手冊頁

配置文件類型(設置類型映射)

Perforce文件類型選項

區分“二進制”與文本文件格式非常重要。
作為管理員,運行“p4 typemap”並使用以下typemap更新文件。

text //….js
text //….cs
text //…shader
text //….meta
text + l //….cm
text + l // …. proc
text + l //….md5mesh
text + l //….md5anim
text + l //….ma
binary //….dll
binary //….exe
binary // ….響應
二進制//….lib
二進制//….pdb
二進制//….u
二進制//….ini
二進制//….stub
二進制// .. ..ip
binary + l //….prefab
binary + l //….mb
binary + l //….mat
binary + l //….psb
binary + l // .. ..mp3
binary + l //….fbx
binary + l //….unity
binary + l //….asset
binary + l //….aas
binary + l // .. ..tga
binary + l //….jpg
binary + l //….lwo
binary + l //….wav
binary + l //….ogg
binary + l //….demo
binary + l //….roq
binary + l //….doc
binary + l //….xls
binary + l //….celtx
binary + l //….pdf
binary + l //….odt
binary + l //….ods
binary + l //….ppt
binary + l //….skp
binary + lS //….dds
binary + lS //….bnk
binary + lS //….light
binary + lS //….shadow
binary + lS //….ibl
binary + lS //….bik
binary + lS //….upk

設置每個用戶和工作區

一旦用戶安裝了P4V,他們就需要創建一個“工作區”,這是他們本地機器上的一個位置,它將包含他們的Unity
資產。

確保此工作空間包含包含Unity遊戲文件的目錄。

在P4V中設置工作區

需要注意的事項:

  • 熟悉Perforce版本控制窗口,
  • 確保在編輯>項目設置>編輯器>版本控制,模式:Perforce中將Unity設置為“Perforce” 
  • 請注意,Meta文件非常重要,需要像其他資產一樣在Perforce中進行管理。
  • 有關Unity如何處理資產和元文件的更多信息,請參閱:   Unity手冊:幕後故事

其他資源:

spot_img

More like this

【悠妮涅可 R...

https://www.youtube.com/live/SQuYx7txBd8 今晚來玩 順便宣傳站聚活動 【 誰是中之人 】 ✩前導影片▸   • 誰是中之人|前導預告片|PC Steam   ✩遊戲載點▸https://store.steampowered.com/app/2...

【 紗羅 ̵...

https://www.youtube.com/watch?v=lY3UiUmJ3-o Sara Ch. 紗羅 【群星計畫 / 比鄰星域所屬】 哈囉~ 我是紗羅!請多多指教! 虛擬中文系研究生,朝知識型Vtuber的方向努力著。 夢想是在家裡打造一座圖書館。 隸屬於臺灣Vtuber企業團體「比...

【水上玄子】《誰是中...

https://www.youtube.com/live/Dkj6FbsF0yI 大家好,我是病氣系vtuber水上玄子,擅長占卜、直覺溝通,目前常態企劃有鳥卦人生,請大家多多指教<3 生長自夢境,想成為人類與人們一同生活,先是變身成鳥,才終於成為人形。 病氣系vtuber,罹患焦...