Search Issue Tracker
Fixed in 2018.1.X
Votes
0
Found in
5.3.3p1
Issue ID
787642
Regression
No
LateUpdate doesn't override Color value set by Animator
LateUpdate doesn't override Color value set by Animator
According to the information from unity employee in this topic http://forum.unity3d.com/threads/animator-override-rotation.307593/
Animator values can be overriden in LateUpdate which seems very logical.
I tried to override color value set by animator in LateUpdate and it doesn't work. Even more weird thing is that Renderer component on GameObject shows my instanced material, but it is not used for rendering.
How to reproduce:
1. Just open Main.scene.
2. Look at OverrideScaleAndColor script which is on Cube gameobject.
3. Observe that scale is correctly overriden and Color is not.
4. Look at material on Cube gameobject. It is black in inspector. It is animated in Gameview
Comments (2)
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
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
adamgryu
Feb 27, 2019 21:53
I think you need to use a MaterialPropertyBlock, like this:
mesh.GetPropertyBlock(propertyBlock);
propertyBlock.SetColor("_Color", Color.red);
mesh.SetPropertyBlock(propertyBlock);
I think it's because the Animator uses a property block to override the colour values - the property block always takes precedence over the material value.
LucasRizzotto
Mar 28, 2018 03:39
Not fixed.