You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the problem or limitation you are having in your project
It can be very useful to define each individual mesh's scale in the lightmap. This allows for large faraway meshes with less demand for lighting quality to take up less size in the lightmap.
Godot's only method of doing this is through a handful of multipliers (1x, 2x, 4x, 8x) per Mesh Instance:
These multipliers are very limited and unpredictable, especially since they're based on an arbitrary texel definition in the respective mesh's Import dialogue.
These multipliers also scale up rather than down, which completely opposes how artists usually utilize this type of feature (scaling down lightmap size on a few specific meshes).
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Unity uses a decimal multiplier for each mesh based on the global Texels Per Unit scale:
If you have Texels Per Unit set to 40, that means you have 40 texels per meter (since 1 Unity unit = 1 meter). If you set an individual mesh's Scale In Lightmap to 0.5, that is reduced to 20 texels per meter for that mesh. If you increase it 2, that is increased to 80 texels per meter.
It's a very efficient and easy-to-understand system.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Remove the option to set texel scale in the Import dialogue. This is not needed if a mesh's lightmap scale can be set in its properties.
Change the Lightmap Scale setting in the Mesh Instance properties to use a decimal multiplier based on a global Texels Per Unit defined in Lightmap GI.
(For reference, "Remove the option to set texel scale in the Import dialogue. This is not needed if a mesh's lightmap scale can be set in its properties." is already tracked in #9116.)
Describe the project you are working on
Graphics-intensive demo scenes
Describe the problem or limitation you are having in your project
It can be very useful to define each individual mesh's scale in the lightmap. This allows for large faraway meshes with less demand for lighting quality to take up less size in the lightmap.
Godot's only method of doing this is through a handful of multipliers (1x, 2x, 4x, 8x) per Mesh Instance:
These multipliers are very limited and unpredictable, especially since they're based on an arbitrary texel definition in the respective mesh's Import dialogue.
These multipliers also scale up rather than down, which completely opposes how artists usually utilize this type of feature (scaling down lightmap size on a few specific meshes).
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Unity uses a decimal multiplier for each mesh based on the global Texels Per Unit scale:
If you have Texels Per Unit set to 40, that means you have 40 texels per meter (since 1 Unity unit = 1 meter). If you set an individual mesh's Scale In Lightmap to 0.5, that is reduced to 20 texels per meter for that mesh. If you increase it 2, that is increased to 80 texels per meter.
It's a very efficient and easy-to-understand system.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
This proposal is designed to compliment #9116
If this enhancement will not be used often, can it be worked around with a few lines of script?
Will be used often.
Is there a reason why this should be core and not an add-on in the asset library?
Core functionality.
The text was updated successfully, but these errors were encountered: