Search Issue Tracker
Fixed in 5.5.0
[Graphics] Directional light passes through the tree leafs making them abnormally lit
Steps to reproduce:
1. Open Unity;
2. Open attached project and 'test' scene;
3. Notice that directional light source is located behind the tree and some of the tree leafs on the front side of the tree are still being lit by the light;
4. In the Project folder go to Assets -> Free_SpeeTrees;
5. Select 'Broadleaf_Desktop.spm' model;
6. In the Inspector switch off 'Receive Shadows' checkbox for LOD0;
7. In the Inspector click 'Apply and Generate Materials';
8. Observe tree rendering in Scene/Game view.
The tree leafs are now almost fully specularly lit by the directional light located on the other side of the tree. From the first sight it may be treated as expected translucency, but then it becomes clear that leafs are specularly emitting unreastic amount of light. See attached gif video and actual.png screenshots.
Some users are already aware of this issue and it's causing problems for them especially in first person game projects. This is decreasing the realism of their games to the great extent.
The tree leafs located on the other side of the tree should not be lit by light (see attached expected.png screenshot).
- Reproducible in: 5.4.0b16, 5.4.0b15, 5.3.4p4, 5.1.3f1;
- Reproducible on both Windows 10 (DX11) and OS X 10.11.4 (GlCOre);
- Reproducible for different rendering paths. In Deferred rendering only some of the leafs are abnomally lit, in Forward almost all tree leafs are unrealistically lit. The same behaviour for both Gamma and Linear color space;
- The issue becomes mostly visible when turning off shadow receiving feature for tree model.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- NullReferenceExceptions are being thrown when saving a ScriptableObject with an array of a type with a CustomPropertyDrawer that uses TrackPropertyValue
- Applied velocity is inconsistent when using Rigidbody AddForce() with ForceMode.VelocityChange
- Crash on AudioUtil_CUSTOM_HasAudioCallback when exiting Play Mode while the Inspector is displaying a GameObject with an empty script attached
- Scroll offset is framerate-dependent when scrolling with velocity in the Device Simulator
- "Object.FindObjectsOfType<T>() is obsolete" warning is thrown when using "Transitions Plus" asset