• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > Unity中批處理靜態(tài)和動態(tài)問題要怎么處理
機(jī)構(gòu)主頁 > 培訓(xùn)資料>Unity中批處理靜態(tài)和動態(tài)問題要怎么處理

Unity中批處理靜態(tài)和動態(tài)問題要怎么處理

來源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:38℃        返回列表

      Unity在游戲開發(fā)行業(yè)起到的作用是非常大的,很多的游戲就是使用unity開發(fā)出來的,那么在unity在運(yùn)行的時(shí)候是需要把一些物體進(jìn)行合并的,從而用一個(gè)繪制來渲染他們,這個(gè)就是批處理了,今天達(dá)內(nèi)科技的這篇文章就是想和大家說在unity中批處理靜態(tài)和動態(tài)的問題要怎么解決:

  動態(tài)批處理


  如果動態(tài)物體共用著相同的材質(zhì),那么Unity會自動對這些物體進(jìn)行批處理。


  動態(tài)批處理操作是自動完成的,并不需要你進(jìn)行額外的操作。


  Tips:


  提醒:


  1、 批處理動態(tài)物體需要在每個(gè)頂點(diǎn)上進(jìn)行一定的開銷,所以動態(tài)批處理僅支持小于900頂點(diǎn)的網(wǎng)格物體。


  2、

如果你的著色器使用頂點(diǎn)位置,法線和UV值三種屬性,那么你只能批處理300頂點(diǎn)以下的物體;如果你的著色器需要使用頂點(diǎn)位置,法線,UV0,UV1和切向量,那你只能批處理180頂點(diǎn)以下的物體。


  3、請注意:屬性數(shù)量的限制可能會在將來進(jìn)行改變。


  4、 不要使用縮放尺度(scale)。分別擁有縮放尺度(1,1,1)和(2,2,2)的兩個(gè)物體將不會進(jìn)行批處理。


  5、 統(tǒng)一縮放尺度的物體不會與非統(tǒng)一縮放尺度的物體進(jìn)行批處理。


  使用縮放尺度(1,1,1)和

(1,2,1)的兩個(gè)物體將不會進(jìn)行批處理,但是使用縮放尺度(1,2,1)和(1,3,1)的兩個(gè)物體將可以進(jìn)行批處理。


  6、 使用不同材質(zhì)的實(shí)例化物體(instance)將會導(dǎo)致批處理失敗。


  7、擁有l(wèi)ightmap的物體含有額外(隱藏)的材質(zhì)屬性,比如:lightmap的偏移和縮放系數(shù)等。所以,擁有l(wèi)ightmap的物體將不會進(jìn)行批處理(除非他們指向lightmap的同一部分)。


  8、 多通道的shader會妨礙批處理操作。比如,幾乎unity中所有的著色器在前向渲染中都支持多個(gè)光源,并為它們有效地開辟多個(gè)通道。


  9、預(yù)設(shè)體的實(shí)例會自動地使用相同的網(wǎng)格模型和材質(zhì)。


  靜態(tài)批處理


  相對而言,靜態(tài)批處理操作允許引擎對任意大小的幾何物體進(jìn)行批處理操作來降低繪制調(diào)用(只要這些物體不移動,并且擁有相同的材質(zhì))。因此,靜態(tài)批處理比動態(tài)批處理更加有效,你應(yīng)該盡量低使用它,因?yàn)樗枰俚腃PU開銷。


  為了更好地使用靜態(tài)批處理,你需要明確指出哪些物體是靜止的,并且在游戲中永遠(yuǎn)不會移動、旋轉(zhuǎn)和縮放。想完成這一步,你只需要在檢測器(Inspector)中將Static復(fù)選框打勾即可,如下圖所示:


  使用靜態(tài)批處理操作需要額外的內(nèi)存開銷來儲存合并后的幾何數(shù)據(jù)。在靜態(tài)批處理之前,如果一些物體共用了同樣的幾何數(shù)據(jù),那么引擎會在編輯以及運(yùn)行狀態(tài)對每個(gè)物體創(chuàng)建一個(gè)幾何數(shù)據(jù)的備份。這并不總是一個(gè)好的想法,因?yàn)橛袝r(shí)候,你將不得不犧牲一點(diǎn)渲染性能來防止一些物體的靜態(tài)批處理,從而保持較少的內(nèi)存開銷。比如,將濃密森里中樹設(shè)為Static,會導(dǎo)致嚴(yán)重的內(nèi)存開銷。


  靜態(tài)批處理目前只支持Unity iOS Advanced。


  不同的問題肯定是有不同的處理方式的,如果說你對于unity上有更多的專業(yè)上的知識需要去學(xué)習(xí)的話,那么可以來我們達(dá)內(nèi)科技的unity培訓(xùn)班進(jìn)行實(shí)地考察,也可以點(diǎn)擊我們文章下面的獲取試聽資格按鈕來獲取我們的unity課程免費(fèi)試聽資格,在試聽中可以更加深入的了解達(dá)內(nèi)科技。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部