首先放出官方地址:https://github.com/Unity-Technologies/BatchBreakingCause
其中https://github.com/Unity-Technologies不得不說(shuō)真是一個(gè)寶庫(kù)航夺,里面有很多有趣的小玩應(yīng),熱愛(ài)新技術(shù)的小伙伴不妨有時(shí)間看一看
有說(shuō)錯(cuò)或者不準(zhǔn)確的地方歡迎留言指正
該項(xiàng)目演示了Unity在渲染時(shí)需要分批處理的不同情況囊蓝。最適用于Unity 5.6b4 +馏段,其中Frame Debugger窗口顯示Unity為什么不能進(jìn)行合批【真是神器】
Frame Debugger使用視頻教程
Frame Debugger所在位置
如找到對(duì)應(yīng)下列每一種出現(xiàn)不合批原因的解決辦法抛姑,歡迎給筆者留言柔吼,我也學(xué)習(xí)一下烫葬,非常感謝
25種原因如下
Additional Vertex Streams — 對(duì)象使用MeshRenderer.additionalVertexStreams設(shè)定了額外的頂點(diǎn)信息流。
Deferred Objects on Different Lighting Layers — 該物件位于另一不同的光照層中捡需。
Deferred Objects Split by Shadow Distance — 兩個(gè)物體中有一個(gè)在陰影距離范圍內(nèi)而另一個(gè)不是。
Different Combined Meshes — 該對(duì)象屬于另一個(gè)已合并的靜態(tài)網(wǎng)格筹淫。
Different Custom Properties — 該對(duì)象設(shè)定了不同的MaterialProperyBlock站辉。
Different Lights — 該物件受不同的前向光照(Forward Light)影響
Different Materials — 該對(duì)象使用不同的材質(zhì)。
Different Reflection Probes — 該對(duì)象受不同的反射探頭(Reflection Probe)影響损姜。
Different Shadow Caster Hash — 該對(duì)象使用其他的陰影投射著色器饰剥,或是設(shè)定了不同的著色器參數(shù)/關(guān)鍵詞,而這些參數(shù)/關(guān)鍵詞會(huì)影響陰影投射Pass的輸出摧阅。
Different Shadow Receiving Settings — 該對(duì)象設(shè)定了不同的“Receive Shadows”參數(shù)汰蓉,或是一些對(duì)象在陰影距離內(nèi),而另一些在距離之外棒卷。
Different Static Batching Flags — 該對(duì)象使用不同的靜態(tài)批處理設(shè)定顾孽。
Dynamic Batching Disabled to Avoid Z-Fighting — Player Settings中關(guān)閉了動(dòng)態(tài)批處理祝钢,或在當(dāng)前環(huán)境中為避免深度沖突而被臨時(shí)關(guān)閉。
Instancing Different Geometries — 使用GPU Instancing渲染不同的網(wǎng)格或子網(wǎng)格若厚。
Lightmapped Objects — 對(duì)象使用了不同的光照貼圖拦英,或在相同的光照貼圖中有不同的光照貼圖UV轉(zhuǎn)換關(guān)系。
Lightprobe Affected Objects — 對(duì)象受其他光照探頭(Light Probe)影響测秸。
Mixed Sided Mode Shadow Casters — 對(duì)象的“Cast Shadows”設(shè)定不同疤估。
Multipass — 對(duì)象使用了帶多個(gè)Pass的著色器。
Multiple Forward Lights — 該物件受多個(gè)前向光渲染影響霎冯。
Non-instanceable Property Set — 為instanced著色器設(shè)定來(lái)non-instanced屬性铃拇。
Odd Negative Scaling — 該對(duì)象的縮放為很奇怪的負(fù)值,例如(1,-1,1)沈撞。
Shader Disables Batching — 著色器使用“DisableBatching”標(biāo)簽顯式關(guān)閉了批處理慷荔。
Too Many Indices in Dynamic Batch — 動(dòng)態(tài)批處理索引過(guò)多(超過(guò)32k)。
Too Many Indices in Static Batch — 靜態(tài)批處理中的組合網(wǎng)格索引過(guò)多关串。對(duì)于OpenGL ES來(lái)說(shuō)是48k拧廊,OSX是32k,其他平臺(tái)是64k晋修。
Too Many Vertex Attributes for Dynamic Batching — 欲進(jìn)行動(dòng)態(tài)批處理的子網(wǎng)格擁有超過(guò)900個(gè)頂點(diǎn)屬性吧碾。
Too Many Vertices for Dynamic Batching — 欲進(jìn)行動(dòng)態(tài)批處理的子網(wǎng)格頂點(diǎn)數(shù)量超過(guò)300個(gè)。