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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
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.