Search Issue Tracker
Not Reproducible
Votes
1
Found in
2018.3.0b5
Issue ID
1090093
Regression
No
Graphics.DrawMeshInstanced merges incompatible batches when overriding material properties using MaterialPropertyBlock
Steps to reproduce:
1. Open the attached project
2. Make sure that Assets/material is using TestShader and that GPU Instancing is enabled
3. Enter Play mode
Expected result: Spheres on the right are white
Actual result: Spheres on the right are red
Reproducible with: 5.6.3f1, 2017.4.13f1, 2018.2.12f1 2018.3.0b5, 2019.1.0a4
Notes:
- The expected behavior is reached only when the color property is explicitly overwritten in the second block.
- "It happens too when the block is recreated instead of cleared or if the call is done without a MaterialPropertyBlock."
Comments (1)
-
GilCat
Feb 04, 2019 12:18
What are the plans for solving this?
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
- URP Realtime reflection probes do not update when RenderProbe() is being called once per second
- Addressable terrain shader variants are stripped from the Player
- [iOS] Debug.Log() appears as <private> in Console app
- UI stays in the background when it is disabled in simulator
- A wrong log file is attached when project is launched with a "-logFile" command line argument
Resolution Note:
block.SetColor(property, Color.red);
Graphics.DrawMeshInstanced(mesh, 0, material, transforms, transforms.Length, block);
block.SetColor(property, Color.white);
Graphics.DrawMeshInstanced(mesh, 0, material, transforms, transforms.Length, block);
works