FAQ:
Q: I added the package to my project and when I put the BP_CloudscapeSeasons into my level I see no clouds, why is that?
A: Try first open any demo level inside the Maps folder and wait for the shaders to compile for the 1st time (it may take a while since there are lots of them (~5-8min)). After that you will be able to see clouds when you place the blueprint and follow the tech details video to know which parameters you need to set in order to see the clouds with correct appearance since they depends on at least one directional light to act as Sun and also needs information regarding wind that you can set with BP_WindSeasons and set them inside BP_CloudscapeSeasons. As of v.1.1, whenever you open your project in editor, you need to click on the Update checkbox in order to be able to see the clouds, or just click on the Play button in the editor interface.
Q: How to decrease the turbulence at clouds?
A: Four different things are related to turbulence. One is wind strength at BP_WindSeasons you are using at the layer, which if increased influence in the turbulence movement along with cloud displacement over x and y axis. Second is Turbulence Amount at BP_CloudscapeSeasons which increase the amount of turbulence (how much crispy) you can see at clouds. Third is the Turbulence Minimum Density near Turbulence Amount, which is responsible to show the turbulence effect at certain densities of you cloud, so a 1 value will make all areas of your clouds crispy while lower values will move the crispyness to the edges where the density is lower. Fourth is Cloud Wind Turbulence Influence, which reduces the influence of the wind on the turbulence, so default value is 1, a value lower will make the turbulence speed reduce as the wind would be reduced, but does not affect the cloud displacement over x and y axis.
Q: How to decrease the size of the turbulence?
A: You will need to change the material instance (or create another copy preferebly) MI_2DTexture01 and decrease the value for Curl_1stOctaveScale. Even the smallest changes brings great results, the default at the instance is 0.05 and you should try 0.025 or 0.0125 and check the differences. The value for Curl_2ndOctaveScale refers to the 1st one, and its default value at the instance is 0.25 which means 0.25 * Curl_1stOctaveScale. Also, to improve performance, the main material is rendered with just half the cube, but this causes the system to cut in half the height of the modeled clouds. That said, you can change the value for Mesh Vertical Position Adjustment from 0.5 to 0. This will cause the cube to have its bottom aligned with landscape and use the full cloud heights.
Q: How to decrease the shadow strength below the clouds?
A: The 1st and foremost important element contributing to the strength is the cloud density. You always want to model your cloudscape to a reference, so 1st thing would choose which type of clouds (you can check the video of technical details where I explain each type of clouds) you want to model, second is to increase the density for the cloud layer and the overall density until you have a balance of darkness areas below the cloud. After this if it is still too dark, you will play with Cloud Self Shadow Density, lower the value untill it get the look you want, but a value of 0 will make your cloud plain white and without any shadow! The parameter Cloud Self Shadow Distance will displace the position of this shadow moving from the cloud’s edge to the cloud’s bottom as a falloff effect. Sometimes it is not what you want play with the darkness but instead you should try play with Cloud Extinction Color, which will give the desired color to the shadow gradient and you would also play with Sky Color For Ambient Lighting, to give the areas where there is no shadows the color for the environment, for example: noon would be blueish, while at sunset would go orange or red or even pink color.
Q: Which parameters should I care for performance settings?
A: The main material which uses raymarching to form the clouds does three things: determine which point there will have density or not, apply a texture to give the cloud shape and work with shadow and color for that density. To search for density there is a loop inside the material which is based on the Ray March Steps parameter (default is 128) and this means that for each pixel in the display area we will have 128 iterations. To sample the shadows, there is another parameter which creates a loop inside the previous loop, and it is Cloud Self Shadow Steps (default is 6), so this means that for each pixel in the display area we will have 128 iterations * 6 iterations. Increasing any of these values at certain point greatly improves the smooth and details for the clouds. You will need to play with these two when planning your scene and when defining the Low-end, Mid-end and High-end settings for your game and to provide the end-user the equipment requirements to play the game smoothly. Actually, low-end machines will not be able to make use of this package, because they would lack enough GPU memory 1st. Mid-end machines will be able to play with the lowest settings at 45-60 FPS (RayMarchSteps=128 and ShadowSteps=6) and high-end machines with higher settings will be able to play at 60+ FPS (RayMarchSteps=256 and ShadowSteps=10). Im not sure which framerate a high-end dual-gpu would produce. If your game have flying capabilities, when you are gaing altitude you need to increase the RayMarchSteps to improve quality (this does not affect performance because most of your cloudscape are culled off while inside the clouds, and if you are flying above cruiser speed you might need to set Jitter parameter to 1 to reduce artifacts, changing it back to 0 when speed goes slow again. Few high altitude clouds will cost more than lots of low altitude clouds, because when density reaches 1 I just dont care evaluating the further distance from the point where density reached 1… making evaluation during the step leaving faster.
Q: Is there a way to extract a bit more of performance from the package without reducing the amount of clouds and their shadowing/colors?
A: Yes, but this might cause loss of definition or give aliasing into the scene. You can set SeparateTranslucencyScreenPercentage to a lower value if your scene does not use too many transparent materials (the cloudscape already is), the default value is 100 and from our experimentation this value can go as low as 50 with almost unnoticiable aliasing at Full HD resolution, but I think that if the intention is to make the solution work for mid to low-end machines with at least 4GB RAM at GPU, that would do it. Another parameter, but this one is hardly as good as the previous one, which works similarly, is the ScreenPercentage, with its default value at 100 and from our experimentation this value can go as low as 75 to avoid aliasing issues. This one is recommended if you are using a lot of transparent materials and its effect hits all materials regarding their type. All the values does not take into account the use of postprocessing effects, which might require different settings or maybe even not allow the changes at these parameters.
Q: Can I use the package with mobile?
A: Since the mobile has a very small area for display, it might be possible to achieve good performance, but besides flying simulators, it is hard to imagine a mobile game making good use for this solution, as most of great titles for Android offer an isometric view from the top, so, no clouds can be seen. Tests on emulators are working fine, but on real devices are showing high temperature generated when playing with too many clouds and high raymarch counting.
Q: Can I use the package with Playstation or XBoxOne?
A: We didn’t test the shaders with these two platforms still. There is nothing up to our knowledge that tell us it will not work. We are lacking the developer kits on both platforms to acomplish an in-depth test, including performance tweaks. Try to reach us and we might cut a deal if it is the case you want to test it. Im not sure you can buy it knowing that it not recommended for these platforms still and ask for refund based on MP policies, so by any means send me a private message if you want to try before buy.
Q: Can the package work for versions previous 4.17?
A: We can provide, for an extra-cost, the package working for versions 4.16, 4.15, 4.14 and 4.13. The package should be recriated in those versions, because copying the files just don’t work. Our opinion about it though, is that you should try to use it from 4.17 and above since some engine fixes reduced memory overhead, garbage collection, and errors with Render Targets that produced crashes in the editor for those versions. You can replicate all materials and blueprints yourself at previous versions if you don’t want the extra-cost, but that will not work for versions previous 4.13.