Search Issue Tracker
Fixed in 2017.2.0f3
Fixed in 5.6.X, 2017.1.X, 2017.2.X
Votes
0
Found in
5.6.2f1
Issue ID
935149
Regression
Yes
MaterialPropertyBlock does not affect values for Meta pass when using on terrain mesh in Realtime GI
To reproduce:
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.
Latest issues
- Editor crashes when debugging a for loop
- Crash on UnityPlayer!profiling::ProfilerManager::DisposeProfilerRecorder+0xa when Player gets relaunched and exited after running for a long amount of time
- [Input system] When releasing one touch and pressing a second touch during a single frame, the second touch is not translated into UI event line OnPointerDown by the InputSystemUIInputModule
- URP Samples - multiple "Attempting to resolve render surface" and other errors appear when setting Quality pipeline asset
- OnDemandRendering.willCurrentFrameRender returns incorrect values in the Player when UnityEngine.Rendering.OnDemandRendering.renderFrameInterval is greater than 1
Add comment