Search Issue Tracker
Feature Request
Votes
0
Found in
2022.1.24f1
2022.2.2f1
2023.1.0a24
Issue ID
UUM-21860
Regression
No
Lightmap GI Alpha Clipping undocumented, inconsistent and not fully functional with custom shaders
Reproduction steps:
1. Open the attached project “LightmapBug”
2. Open “Assets/TestScene” Scene
3. Open Window → Rendering → Lighting window
4. In the Lighting window press the “Generate Lighting” button
5. Wait for the lights to complete baking
6. Inspect the Scene view
Expected result: All three lights are baked similarly
Actual result: Some lights are baked differently from others that are using different materials with similar behavior
Reproducible with: 13.1.9 (2022.1.24f1), 14.0.4 (2022.2.2f1), 15.0.2 (2023.1.0a24)
Couldn’t test with: 10.10.1 (2020.3.43f1), 12.1.8 (2021.3.16f1) - The lights are not generated because of downgraded Shader Graphs
Reproducible on: macOS 13.0.1 (Intel), Windows 10
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
- Search field in UI Builder's Library has no character limit
- Changing the value in UI Builder by dragging increases it by a few thousand points when reaching the borders of the screen
- ARM64 architecture DLL incorrectly copied instead of x64 when building for Windows x64
- Crash on TypeTreeIterator::GetNode when opening a specific folder
- Crash on WriteSerializedAssetsV2 when (re)entering the Play Mode in a specific project when IEnumerator Start() is used
Resolution Note:
The documentation on this functionality is indeed lacking. We plan to improve this and have the work tracked internally. Although this is a valid issue, we do not track documentation improvements via this channel.
As for the comment about alpha clipping "not working as intended because any calculation inside the shader is being ignored", while this is true, it isn't unintended behavior. The lightmapper supports transparency by generating its own set of transparency textures, based on the material inputs. This is done in order to avoid having to evaluate arbitrary user shaders during baking. Thus, it only supports a limited form of transparency. We'd like to make this behavior more clear and intuitive to use in the future, and we may for example expand the MetaPass (which is invoked just before baking) to also render out alpha, but we have no intention of ever evaluating user shaders during the bake process itself.