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
A 3D project that has multiple different themed areas.
Describe the problem or limitation you are having in your project
The WorldEnvironment node and resource are global, to the entire scene. There is no way to set up a smaller area (e.g. inside a volcano) to have a different post processing setup to the rest of the scene.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Most game engines, like Unity and UE5, use a volume-based approach, where one can specify post processing settings inside of an AABB, that can modify a predefined area's post processing effects. Example:
World has XY as global ambient light
Smaller volume has WZ as local ambient light inside of predefined area
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Instead of a WorldEnvirinment node, there would be an EnvironmentVolume node, where one could specify the post processing effects that are active inside of the area. Or, one can turn off an option such as "Is Bounded" so that the EnvironmentVolume node acts as a WorldEnvironment node. Then one can put more EnvironmentVolume nodes into the Scene where one needs different post processing.
UE_1.mp4
Here is an example of a global post-process volume (left) and a local post-process volume (right).
If this enhancement will not be used often, can it be worked around with a few lines of script?
No, this system requires quite deep knowledge on how environments are rendered, and the code required to blend between them is quite complex.
Plus, having such a node built-in allows the ability for one to move the viewport camera into an EnvironmentVolume area and examine its effects in the editor, whereas if such a tool was scripted, post processing areas could only be examined at runtime, by changing WorldEnvironments dynamically through code.
And something that can't be easily achieved through GDScript or even GDExtension is having a proper fade between areas, so as not to have a sharp "pop" between different visual effects.
Is there a reason why this should be core and not an add-on in the asset library?
Describe the project you are working on
A 3D project that has multiple different themed areas.
Describe the problem or limitation you are having in your project
The WorldEnvironment node and resource are global, to the entire scene. There is no way to set up a smaller area (e.g. inside a volcano) to have a different post processing setup to the rest of the scene.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Most game engines, like Unity and UE5, use a volume-based approach, where one can specify post processing settings inside of an AABB, that can modify a predefined area's post processing effects. Example:
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Instead of a WorldEnvirinment node, there would be an EnvironmentVolume node, where one could specify the post processing effects that are active inside of the area. Or, one can turn off an option such as "Is Bounded" so that the EnvironmentVolume node acts as a WorldEnvironment node. Then one can put more EnvironmentVolume nodes into the Scene where one needs different post processing.
UE_1.mp4
Here is an example of a global post-process volume (left) and a local post-process volume (right).
If this enhancement will not be used often, can it be worked around with a few lines of script?
No, this system requires quite deep knowledge on how environments are rendered, and the code required to blend between them is quite complex.
Plus, having such a node built-in allows the ability for one to move the viewport camera into an
EnvironmentVolumearea and examine its effects in the editor, whereas if such a tool was scripted, post processing areas could only be examined at runtime, by changingWorldEnvironments dynamically through code.And something that can't be easily achieved through GDScript or even GDExtension is having a proper fade between areas, so as not to have a sharp "pop" between different visual effects.
Is there a reason why this should be core and not an add-on in the asset library?
See above.