Search Issue Tracker
By Design
Votes
0
Found in
2018.1.0a1
2018.3.0a1
2018.3.0f2
2019.1.0a1
Issue ID
1137860
Regression
No
Using mesh uv's for calculating clip space position in shader breaks Dynamic batching
How to reproduce:
1. Open the attached project
2. Open the "BatchingTest - NOT_WORKING.unity" scene
3. Check the statistics
Actual result: Dynamic batching doesn't batch the meshes. (Batches:2, Saved by batching:0)
Expected result: Dynamic batching should batch the meshes. (Batches:1, Saved by batching:1)
Reproducible with: 2019.2.0a10, 2019.1.0b8, 2018.3.11f1, 2018.1.9f2, 2017.4.24f1.
Notes:
Dynamic batching works with: output.pos = UnityObjectToClipPos(input.pos);
Dynamic batching doesn't work with: output.pos = UnityObjectToClipPos(float4(input.uv,1,0));
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Code runs slower when using a cached exception instance compared to creating a new one
- Broken UI in Default Preset Add Section of "Preset Manager" window
- [iOS] The Player freezes when closing the Notification Center and quickly swiping down from top
- Crash on Texture2D:SetPixelImpl when rapidly calling Texture2D.Apply()
- Graph Lines are not rendered when using Experimental GraphView or GridBackground
Resolution Note:
Once dynamic batching is enabled, the object matrix will be identity. (object matrix is the transform component's matrix)
And the shader expects that there is some non-identity matrix set as the object matrix, that's why it wont work.