Unity工程中 Meta 檔案的作用

2021-07-26 10:02:05 字數 605 閱讀 8503

如果你在遊戲開發過程中使用諸如svn的

版本控制

工具,那你必須得理解meta檔案的作用。

在遊戲場景中引用乙個遊戲資源,unity並不直接按照檔案路徑和名稱,而是使用乙個獨一無二的guid來指向工程裡的該資源檔案。這個guid儲存在unity工程為每個資源和資料夾生成的meta檔案裡。 

使用guid的好處就是,即使你移動、重新命名或者修改資源的內容,這個資源仍然可以通過guid來被引用(只要guid不變,資源就能夠被引用)。

缺點是你必須明確的意識到meta檔案是被關聯到特定的資源上的,如果你刪除了乙個meta檔案,unity會認為原始的資源檔案已經被刪除,然後為這個「新的」資源檔案生成乙個新的guid。這就是遊戲場景中的資源引用中斷的最常見原因。 

除了guid,meta檔案還儲存了有關資源匯入的資訊。例如,貼圖資源在匯入時可以當作標準貼圖、法線貼圖、gui貼圖、cookie或者光線貼圖。這些匯入設定都會被儲存在meta檔案裡。 

之前遇到乙個問題,就是我上傳到svn的怪物prefab,在策劃那邊檢視出現「missing script」的問題,經檢查,是該丟失的指令碼的meta檔案沒有上傳到svn。所以,按照上面的理論,因而prefab找不到該指令碼的引用。 

參考自

Unity工程中 Meta 檔案

在專案提交的時候,尤其是匯入了很多資源的情況下會有很多的.meta檔案,那麼這些檔案是否一定要上傳?在遊戲開發過程中不可避免的要用到版本控制工具,如svn,git,也因此需要理解meta檔案的作用。在遊戲場景中引用乙個遊戲資源,unity並不直接按照檔案路徑和名稱,而是使用乙個獨一無二的guid來指...

unity中的meta和mainfest檔案

meta和mainfest都是記錄資源資訊的檔案 其中meta是用於資源版本管理,匯入資源的時候,unity會會為每個資源自動生成乙個meta檔案,記錄這該資源的guid和一些資源引用資訊,但是同樣的資源,在不同的電腦上生成的meta檔案是不一樣的,那如果在多人開發中,你上傳了meta的資源,別人用...

Unity中的檔案操作

乙個檔案是乙個儲存在磁碟中帶有指定名稱和目標路徑的資料集合。當開啟檔案進行讀寫時,它變成乙個流。從根本上說,流是通過通訊路徑傳遞的位元組序列。有兩個主要的流 輸入流和輸出流。輸入流用於從檔案讀取資料,輸出流用於向檔案寫入資料 system.io命名空間有各種不同的類,用於執行各種檔案操作,如建立和刪...