Search Issue Tracker
Fixed in Unity 2017.2.0f3
MaterialPropertyBlock does not affect values for Meta pass when using on terrain mesh in Realtime GI
1. Download and open attached "Case 127141 - MaterialPropBlock_vs_MetaShaderPass.zip" project.
2. Open "test" scene.
3. Change Editor scene shading mode to be "Lit Clustering".
4. Generate Lighting in the scene.
5. Enter Game mode.
6. Get back to the scene view.
7. Select "Plane" game object and alter the SetMaterialPropBlock component tint color of that object.
8. Notice that changing the tint color changes "Plane" object's mesh color.
9. Select "-> Terrain <-" game object and alter the SetMaterialPropBlock component tint color of that object.
Expected result: Selected color reflects on a terrain mesh in the scene view just like "Plane" mesh.
Actual result: Meta pass is not updated. Terrain's mesh does not change its color according to the Albedo Tint pallete.
Reproduced with: 2017.3.0a2, 2017.2.0b5, 2017.1.0p2, 5.6.3f1.
Notes: Couldn't test on earlier versions because of script errors. Everything works correctly on Plane mesh, so it can be used as a reference to correct behavior.
- Issue has been introduced because of API change. It used to work before DynamicGI.UpdateMaterials() API was deprecated.
Verified with: 2017.3.0b9, 2017.1.2p4
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Absolute paths from included packages cannot be converted to virtual paths in Assets/Packages
- Crash in VCProvider when upgrading project from 18.3 to 19.1 and 19.2
- Android Vulkan corrupted rendering when there is no camera in the scene
- Creating mesh assets produces broken blendshapes
- Array.BinarySearch parameters get swapped from .NET 3.4 to .NET 4.0