关于Unity中场景的导入与导出(专题九)
Unity場(chǎng)景
場(chǎng)景雖然是由場(chǎng)景美術(shù)做好的,但是我們經(jīng)常需要自己去導(dǎo)導(dǎo)出以及從別的項(xiàng)目導(dǎo)入,所以我們需要對(duì)場(chǎng)景的導(dǎo)入和導(dǎo)出有一個(gè)詳細(xì)的了解
1: 場(chǎng)景是由美術(shù)人員搭建完成后提交給程序;
2: 場(chǎng)景一般包括了地形, 創(chuàng)建物體, 光源, 天空盒,與霧等;
3: 場(chǎng)景不包含任何邏輯
4: 程序員要能熟練的導(dǎo)入與導(dǎo)出其他項(xiàng)目的場(chǎng)景;
?
?
場(chǎng)景導(dǎo)出和導(dǎo)入思路
把Unity4.X的場(chǎng)景文件導(dǎo)入到Unity5.X的場(chǎng)景中
1: 準(zhǔn)備好Unity 4.7游戲項(xiàng)目的要導(dǎo)出的場(chǎng)景;
2: 將屬于場(chǎng)景的物體,導(dǎo)出成預(yù)制體;
3: 將預(yù)制體導(dǎo)入到自己的場(chǎng)景;
4: 檢查導(dǎo)入后的正確性;
5: 導(dǎo)入天空盒;
6: 如果有霧的話配置好霧;
7: 打開光源,烘培出靜態(tài)光照;
?
?
場(chǎng)景導(dǎo)出實(shí)例
打開Unity4.X,打開項(xiàng)目工程,先選中一個(gè)要導(dǎo)出的場(chǎng)景,雙擊打開
?
1.導(dǎo)出天空盒。
觀察:如果在場(chǎng)景編輯器里面,能看到天空盒,那么說(shuō)明天空盒配置在全局的,不是在攝像機(jī)上的,要掛攝像機(jī)上可以加一個(gè)Skybox組件,所以如果天空盒不是全局的可以去攝像機(jī)的Skybox組件的屬性里面找天空盒材質(zhì)。
導(dǎo)出:Unity 4.7與Unity5.X的不同在于,它的全局天空盒設(shè)置是在Edit---->Render Settings---->Skybox Material---->點(diǎn)擊材質(zhì)關(guān)聯(lián)屬性,
找到當(dāng)前場(chǎng)景的天空盒材質(zhì)---->右鍵---->Export Package---->Export(導(dǎo)出天空盒的依賴資源<上面>+天空盒材質(zhì)<下面>)---->到專門的一個(gè)文件夾中并重命名sky.unitypackage
?
2.導(dǎo)出Hierarchy視圖下的場(chǎng)景有關(guān)的節(jié)點(diǎn)。
觀察:一個(gè)一個(gè)節(jié)點(diǎn)進(jìn)行隱藏和顯示,看會(huì)不會(huì)對(duì)Scene視圖的顯示產(chǎn)生影響,有影響的就是靜態(tài)的物體,是要導(dǎo)出的。也就是學(xué)會(huì)使用Active找到自己想要導(dǎo)出的某個(gè)場(chǎng)景中的靜態(tài)節(jié)點(diǎn)。
導(dǎo)出:把場(chǎng)景節(jié)點(diǎn)拖到一個(gè)固定的目錄---->生成預(yù)制體---->一起選中右鍵---->Export Package---->Export(導(dǎo)出預(yù)制體的依賴資源<上面>+剛才的預(yù)制體<下面>)---->到專門的一個(gè)文件夾中并重命名game_map.unitypackage
---->刪除預(yù)制體---->還原變成預(yù)制體的節(jié)點(diǎn)---->Gamobject---->Break Prefab Instance
?
?
?
場(chǎng)景導(dǎo)入實(shí)例
打開Unity5.X,創(chuàng)建項(xiàng)目工程
1.導(dǎo)入剛才導(dǎo)出的專門的一個(gè)文件夾里面的package資源包,sky.unitypackage和game_map.unitypackage,保存場(chǎng)景
?
2.配置天空盒。
尋找:找到天空盒的材質(zhì),找不到可以在上面的搜索欄搜索Sky
導(dǎo)入:Windows---->Lighting---->Scene---->Skybox---->把天空盒材質(zhì)拖進(jìn)去(有的游戲的天空盒不需要上和下的貼圖,所以有的時(shí)候上下會(huì)有兩個(gè)洞)
?
3.配置場(chǎng)景有關(guān)的節(jié)點(diǎn)。藍(lán)色步驟可以省略。
導(dǎo)入:直接把剛才導(dǎo)入的兩個(gè)預(yù)制體節(jié)點(diǎn)拖入Hierarchy視圖下變成場(chǎng)景中的節(jié)點(diǎn)
排查:發(fā)現(xiàn)顯示有問(wèn)題,是因?yàn)榘姹镜牟町悓?dǎo)致的,有些子節(jié)點(diǎn)由于命名不規(guī)范等等原因找不到對(duì)應(yīng)的材質(zhì)文件或者模型網(wǎng)格Mesh而無(wú)法顯示。但是導(dǎo)入的資源和依賴是完整的,沒(méi)有丟失的。這時(shí)候只能一個(gè)一個(gè)子節(jié)點(diǎn)地排查并關(guān)聯(lián)網(wǎng)格Mesh和材質(zhì)。
展開父節(jié)點(diǎn)---->找到其中一個(gè)子節(jié)點(diǎn)(這個(gè)是模型節(jié)點(diǎn))---->展開這個(gè)子節(jié)點(diǎn)---->發(fā)現(xiàn)這個(gè)子節(jié)點(diǎn)的子節(jié)點(diǎn)中的某個(gè)節(jié)點(diǎn)網(wǎng)格組件Mesh Filter的Mesh屬性為Missing
---->復(fù)制該模型節(jié)點(diǎn)的名字---->到Unity4.X里面的Hierarchy視圖中搜索這個(gè)節(jié)點(diǎn)(搜到后選中同名節(jié)點(diǎn)然后再刪除搜索欄的名字)
---->找到對(duì)應(yīng)的模型節(jié)點(diǎn),展開模型節(jié)點(diǎn),發(fā)現(xiàn)它的子節(jié)點(diǎn)的Mesh有關(guān)聯(lián)Mesh---->確認(rèn)Unity5.X中這個(gè)模型節(jié)點(diǎn)的這個(gè)子節(jié)點(diǎn)丟失了網(wǎng)格Mesh
---->復(fù)制該模型節(jié)點(diǎn)的名字---->到右邊Project搜索欄里面搜索(搜到后選中同名模型文件然后再把搜索欄名字刪除才會(huì)到模型.FBX文件的目錄下)---->展開對(duì)應(yīng)名字的模型文件.FBX結(jié)尾的,找不到可以用文件夾瀏覽看后綴.FBX
---->把對(duì)應(yīng)的丟失的網(wǎng)格資源,子.FBX資源文件,拖進(jìn)丟失節(jié)點(diǎn)網(wǎng)格Mesh的節(jié)點(diǎn)的Mesh?Filter組件的Mesh屬性中---->手動(dòng)關(guān)聯(lián)成功---->排查下一個(gè)模型節(jié)點(diǎn)
???
??
?
4.刪除無(wú)用的腳本組件
提示說(shuō)找不到某個(gè)腳本,可以直接復(fù)制節(jié)點(diǎn)名字,到下面把對(duì)應(yīng)的腳本組件刪除
?
5.烘焙操作。
場(chǎng)景中的光照一般都是使用烘焙光照,不是實(shí)時(shí)的,所以
開燈:找到光源的總父節(jié)點(diǎn)Light,然后設(shè)置為Active顯示,就是打鉤節(jié)點(diǎn)的左上角,這時(shí)候其實(shí)設(shè)置為baked的光源會(huì)自己開始烘焙static物體
烘焙:Windows---->Lighting---->Scene---->取消auto---->Build---->完成后會(huì)生成靜態(tài)光照的資源文件
?
6.保存預(yù)制體。
等到一切都設(shè)置好后,和Unity4.X里面的效果一樣之后,可以把這兩個(gè)預(yù)制體點(diǎn)擊Apply保存,就可以直接刪除再拖預(yù)制體進(jìn)來(lái)了。
?
?
心得:
美術(shù)資源的命名一定要規(guī)范,千萬(wàn)不要用中文,不然在導(dǎo)入導(dǎo)出的時(shí)候會(huì)非常麻煩,要手動(dòng)關(guān)聯(lián)Mesh和材質(zhì)。
轉(zhuǎn)載于:https://www.cnblogs.com/HangZhe/p/7358093.html
總結(jié)
以上是生活随笔為你收集整理的关于Unity中场景的导入与导出(专题九)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。