Unity場景
場景雖然是由場景美術做好的,但是我們經常需要自己去導導出以及從別的項目導入,所以我們需要對場景的導入和導出有一個詳細的了解
1: 場景是由美術人員搭建完成后提交給程序;
2: 場景一般包括了地形, 創建物體, 光源, 天空盒,與霧等;
3: 場景不包含任何邏輯
4: 程序員要能熟練的導入與導出其他項目的場景;
場景導出和導入思路
把Unity4.X的場景文件導入到Unity5.X的場景中
1: 准備好Unity 4.7游戲項目的要導出的場景;
2: 將屬於場景的物體,導出成預制體;
3: 將預制體導入到自己的場景;
4: 檢查導入后的正確性;
5: 導入天空盒;
6: 如果有霧的話配置好霧;
7: 打開光源,烘培出靜態光照;
場景導出實例
打開Unity4.X,打開項目工程,先選中一個要導出的場景,雙擊打開
1.導出天空盒。
觀察:如果在場景編輯器里面,能看到天空盒,那么說明天空盒配置在全局的,不是在攝像機上的,要掛攝像機上可以加一個Skybox組件,所以如果天空盒不是全局的可以去攝像機的Skybox組件的屬性里面找天空盒材質。
導出:Unity 4.7與Unity5.X的不同在於,它的全局天空盒設置是在Edit---->Render Settings---->Skybox Material---->點擊材質關聯屬性,
找到當前場景的天空盒材質---->右鍵---->Export Package---->Export(導出天空盒的依賴資源<上面>+天空盒材質<下面>)---->到專門的一個文件夾中並重命名sky.unitypackage
2.導出Hierarchy視圖下的場景有關的節點。
觀察:一個一個節點進行隱藏和顯示,看會不會對Scene視圖的顯示產生影響,有影響的就是靜態的物體,是要導出的。也就是學會使用Active找到自己想要導出的某個場景中的靜態節點。
導出:把場景節點拖到一個固定的目錄---->生成預制體---->一起選中右鍵---->Export Package---->Export(導出預制體的依賴資源<上面>+剛才的預制體<下面>)---->到專門的一個文件夾中並重命名game_map.unitypackage
---->刪除預制體---->還原變成預制體的節點---->Gamobject---->Break Prefab Instance
場景導入實例
打開Unity5.X,創建項目工程
1.導入剛才導出的專門的一個文件夾里面的package資源包,sky.unitypackage和game_map.unitypackage,保存場景
2.配置天空盒。
尋找:找到天空盒的材質,找不到可以在上面的搜索欄搜索Sky
導入:Windows---->Lighting---->Scene---->Skybox---->把天空盒材質拖進去(有的游戲的天空盒不需要上和下的貼圖,所以有的時候上下會有兩個洞)
3.配置場景有關的節點。藍色步驟可以省略。
導入:直接把剛才導入的兩個預制體節點拖入Hierarchy視圖下變成場景中的節點
排查:發現顯示有問題,是因為版本的差異導致的,有些子節點由於命名不規范等等原因找不到對應的材質文件或者模型網格Mesh而無法顯示。但是導入的資源和依賴是完整的,沒有丟失的。這時候只能一個一個子節點地排查並關聯網格Mesh和材質。
展開父節點---->找到其中一個子節點(這個是模型節點)---->展開這個子節點---->發現這個子節點的子節點中的某個節點網格組件Mesh Filter的Mesh屬性為Missing
---->復制該模型節點的名字---->到Unity4.X里面的Hierarchy視圖中搜索這個節點(搜到后選中同名節點然后再刪除搜索欄的名字)
---->找到對應的模型節點,展開模型節點,發現它的子節點的Mesh有關聯Mesh---->確認Unity5.X中這個模型節點的這個子節點丟失了網格Mesh
---->復制該模型節點的名字---->到右邊Project搜索欄里面搜索(搜到后選中同名模型文件然后再把搜索欄名字刪除才會到模型.FBX文件的目錄下)---->展開對應名字的模型文件.FBX結尾的,找不到可以用文件夾瀏覽看后綴.FBX
---->把對應的丟失的網格資源,子.FBX資源文件,拖進丟失節點網格Mesh的節點的Mesh Filter組件的Mesh屬性中---->手動關聯成功---->排查下一個模型節點
4.刪除無用的腳本組件
提示說找不到某個腳本,可以直接復制節點名字,到下面把對應的腳本組件刪除
5.烘焙操作。
場景中的光照一般都是使用烘焙光照,不是實時的,所以
開燈:找到光源的總父節點Light,然后設置為Active顯示,就是打鈎節點的左上角,這時候其實設置為baked的光源會自己開始烘焙static物體
烘焙:Windows---->Lighting---->Scene---->取消auto---->Build---->完成后會生成靜態光照的資源文件
6.保存預制體。
等到一切都設置好后,和Unity4.X里面的效果一樣之后,可以把這兩個預制體點擊Apply保存,就可以直接刪除再拖預制體進來了。
心得:
美術資源的命名一定要規范,千萬不要用中文,不然在導入導出的時候會非常麻煩,要手動關聯Mesh和材質。