我要說的條件是unity團隊的項目管理是使用git。對svn我沒有試過!
由于我是要使用 鉤子解決項目資源依賴缺失問題和資源命名規范化。
使用鉤子對任何1個人上傳的內容進行檢查。如果不合法就不讓上傳!
鉤子的編寫可使用 shell或python 或shell調用python
而我的實現是shell調用python腳本(具體不做介紹)
我做了以下的要求:
v1.0.0 撰寫人:孫廣東
注:
Git 上傳的操作有3種:添加A、刪除D、修改M。
本程序履行的功能:檢查上傳的文件的路徑和文件名是不是合法!
由于修改操作不會改變路徑和文件名。所有不能履行本程序的功能了。
所有規則只對"Assets"路徑下的內容起作用。
要檢查的功能以下:
1、檢查上傳操作的類型A,D 排除M
2、判斷目錄和文件名是不是有空格,刪除操作(D)除外,Addon目錄等除外(由于是第3方插件)
3、文件名不能以數字和_開頭,固然了非法字符不是這條
4、判斷目錄和文件名規范,目錄大寫開頭(所有的),
5、文件名小寫+下劃線(指定目錄下的)
6、判斷是不是包括非法字符
7、Textures目錄不允許dds和psd格式
8、Sound目錄下不允許有ogg,mp3格式的音效
9、所有行都遍歷完了以后,開始計算符合git add的行是不是有匹配的.meta行 這是解決依賴丟失的本源
10、某路徑下的文件名中包括/不包括某些關鍵字
11、某些文件夾是我們需要疏忽的如導入的系統標準資源庫第3方插件我們不需要做任何更改。
12、Assets下不能建立任何其他文件和目錄。
13、目錄命名檢查,Prefabs,Textures, Materials, Meshs, LightMaps, 合法
Prefab, Mesh, Tex, Mat , Texture,Material LightMap 非法
14、Texture文件,如(a.tga,b.png等)應當放在Textures目錄下, Prefab文件(.prefab),Material文件(.mat), LightMap文件(.exr)
15、依賴檢查。
1)unity3d編譯期中菜單觸發檢查(本地項目全盤掃描)
2)上傳資源時腳本檢查git列表中的依賴必須存在(git列表或Git版本庫)
16、LightMap必須和場景名稱1致。
17、有些材質文件,必須使用項目指定路徑中的shader
18、上傳時的注釋規則必須為:注釋有多是多行,每行以這些符號開頭 +增加文件或功能 -修改文件或功能-還代表刪除 *bug相干 !重要提示
這樣既規范,有節省以后認為檢查各種命名問題和場景中出現粉色的依賴丟失!