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

Unity中批處理靜態(tài)和動(dòng)態(tài)問(wèn)題要怎么處理

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

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

  動(dòng)態(tài)批處理


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


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


  Tips:


  提醒:


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


  2、

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


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


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


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


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

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


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


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


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


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


  靜態(tài)批處理


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


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


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


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


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

電話咨詢

電話咨詢

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

回到頂部