《Unity性能優(yōu)化》系列課程筆記——第玖節(jié)
預(yù)制體Prefab
Unity中的預(yù)制體是用來存儲(chǔ)游戲?qū)ο蟆⒆訉ο蠹捌渌杞M件的可重用資源,一般來說預(yù)制體資源可充當(dāng)資源模版,在此模版基礎(chǔ)上可以在場景中創(chuàng)建新的預(yù)制體實(shí)例。
使用預(yù)制體的好處
由于預(yù)制體系統(tǒng)可以自動(dòng)保持所有實(shí)例副本同步,因此可以比單純地簡單復(fù)制粘貼游戲?qū)ο笞龅礁玫膶ο蠊芾怼?/span>
此外通過預(yù)制體嵌套(Nested Prefabs)可以將一個(gè)預(yù)制體嵌套到另一個(gè)預(yù)制體中,從而創(chuàng)建多個(gè)易于編輯的復(fù)雜游戲?qū)ο髮蛹壱晥D。
可以通過覆蓋各個(gè)預(yù)制體實(shí)例的設(shè)置來創(chuàng)建預(yù)制體變體(Prefabs Variant),從而可以將一系列覆蓋組合在一起形成有意義預(yù)制體的變化。
嵌套預(yù)制體與單預(yù)制體相比的優(yōu)點(diǎn)與缺點(diǎn)
優(yōu)點(diǎn):
嵌套預(yù)制體方便預(yù)制體管理,方便資源重復(fù)利用,易于統(tǒng)計(jì)場景復(fù)雜度
美術(shù)制作時(shí)可以比較合理的分配UV,和貼圖利用率
方便關(guān)卡設(shè)計(jì)人員發(fā)揮,充分合理利用資源
嵌套預(yù)制體比較方便利用工具做LOD,LOD效果也比較好
嵌套預(yù)制體修改方便,只需修改子預(yù)制體就可以做到所有嵌套預(yù)制體同步
比較方便做場景遮擋剔除,可以做到精細(xì)的遮擋剔除優(yōu)化效果
缺點(diǎn):
手動(dòng)做Bundle依賴時(shí)要按Scene方式處理,依賴關(guān)系較為復(fù)雜
可能會(huì)增加材質(zhì)數(shù)量與Drawcall數(shù)量
不太適合做大規(guī)模遠(yuǎn)景對象。
美術(shù)與關(guān)卡設(shè)計(jì)人員要充分考慮組合復(fù)雜度與特例場景顯示,避免重復(fù)性和單一性,需要更多的溝通成本
使用Prefab變體的一些限制
不能改變本體Prefab游戲?qū)ο?(GameObject)層級
不能刪除本體Prefab中的游戲?qū)ο螅梢酝ㄟ^Deactive游戲?qū)ο髞磉_(dá)到與刪除游戲?qū)ο笸瑯拥男Ч?/span>