It is possible to use the Flow Graph to create full screen effects. This document explains the nodes and functions for making these effects.
Make sure that the Advanced Components are displayed in the Components list. These can be toggled in the Flow Graph Window menu under View -> Components.
Camera Nodes
Found in Add Node -> Camera. These nodes can make camera effects. ViewShake generates random shake animation of the camera. It is effective to connect with explosive effects.
This can be found in Add Node/Image. Image nodes are used to expose post process effects that can be used for gameplay or cutscenes purposes.
When using the image or camera nodes it's not necessary to set an entity to the Image nodes, they will automatically be assigned to the local player and even though most of the nodes have the enabled and disabled input it's safer to ignore the disabled input and just use the enabled input and set it to be true or false. The inputs are also of the boolean type and so it's always best to combine these nodes with the Math:ToBoolean node to be sure that the correct values are being sent to the image node.
Here is an example of a flowgraph that turns on/off the rain drops fullscreen FX with input keys:
Node | Description |
---|---|
ColorCorrection | Sets the final image color changes for gameplay/cutscenes. For final image color grading use the "Time of Day" controls instead. |
FilterBlur | Applies blur filter to screen. |
FilterRadialBlur | Applies radial blur effect to screen. |
FilterGrain | Applies grain filter to screen. |
FilterSharpen | Applies an sharpen mask to the whole screen. |
DirectionalBlur | Applies directional blur effect to the whole screen. Can be used for example for hit effects. Depends on motion blur, if it is enabled. |
ChromaShift | Applies chroma dispersion (multiple RBG sampling instead of single sample) effect to the whole screen. |
EffectWaterDroplets | Game specific effect, applies water flowing over the screen. This was made to be used when camera comes out of a water volume and is usually done automatically by the game engine. |
EffectWaterFlow | Another game specific effect, applies water flowing through screen. This was made to be used when camera is receiving any kind of water flow (e.g.: sprinkles, waterfalls). Should be used subtly. |
AlienInterference (expensive) | Specially designed to generate alien noise/interference effect, when the player gets close to a specific source. |
DistantRain (expensive) | Game specific effect, renders multiple volumetric layers at distance. Should be used in conjunction with some rain particles as a mean to decrease amount of particles required. |
EffectBloodSplats | Game specific effect, renders blood splats onscreen. |
EffectCondensation | Game specific effect, simulates condensation on screen. |
EffectFrost | Game specific effect, simulates frost accumulation on screen. |
RainDrops | Game specific effect, simulates rain drops falling on screen. |
VolumetricScattering (expensive) | Game specific effect, simulates nearby volumetric foggy environment. |
Full usage information on these nodes can be found here: Image Nodes
To implement full screen effect to the particle effect, its flow graph has to use these nodes. Found in Add Node/MaterialFX.
HUDstartFX
Decline the start of the full screen effect to the engine.
Input Port
Output Ports
HUDEndFX
Decline the end of a full screen effect to the engine.
Implement full screen effect to the game. To implement a full screen effect into the game, you have to save Flow Graph and call it in game.
Libs/MaterialEffects/Flowgraphs
./Effect/FlowGraph/name
line of the appropriate effect, in Libs/MaterialEffects/FXLibs/bulletimpacts.xml
. This xml authorizes the required elements of the effect, such as particle effect, sound, bullet decal.To actually make full screen effect Flow Graph, you have to use some more general nodes. Here are some examples:
Adjust timing, animate value
This is an example Flow Graph of the impact effect of nuclear weapon.
This is an example Flow Graph of the dirt effect on the screen, when player was near to explosion.