TrueSky

Overview

This tutorial covers how to setup new True Sky Sequences as well as some of the many options/features you need to be aware of when doing so. This tutorial is assuming you have already setup a persistent level with a TrueSkySequence Actor and have the matinee/day manager stuff setup properly in your level. If not it is probably easiest to simply duplicate and rename our Ocean persistent map as a good starting point which can be found here - World’/Game/Maps/SeamlessTest/Ocean.Ocean’

TrueSky Actor Properties:

1 - Find and select your TrueSkySequenceActor in the persistent level and look at the properties, you should see the below settings.

Active Sequences: This array contains the different truesky cloud sequences that we switch between based on the different weather events. If you are making custom versions of these be sure that they remain in the same order. Regular cloud sequences go in 0, coldfront in 1, heatwave in 2, rain in 3. If the order of these is changed you will get strange irregularities such as rain during a heatwave, or hot weather during a coldfront etc… Blend Weights: This array is changed dynamically during gameplay when the different weather events are triggered but it is also a useful way for designers to temporarily visualize their environments with the different weather events, simply change the values here from 0 to 1 to visualize a different weather event, blend weight array numbers correspond to the above active sequences. Only one blend weight should be set to 1 at a time with all others set to 0 to properly visualize the different weather events. Moon Texture: Only change this if you want to use your own custom moon textures. Cosmic Background Texture: We don’t use this in Atlas but it can still be set if you want to get some cool night time sky effects. it is used mostly to mimic the appearance of the milkyway in the sky at night, if you want to see the effect we have a texture that you can plug in and use found here - Texture2D’/Game/PrimalEarth/Environment/Sky/MilkyWay.MilkyWay’ External Scatter RT: No need to touch this, just needs to be set as shown in the picture. External Loss RT: No need to touch this, just needs to be set as shown in the picture. Brightness: This is a global brightness setting for the Truesky system, it will brighten all parts of it from the clouds, to sun, to atmospherics. If you want to edit this option you will need to do so in the Matinee_MasterDayCycle Upon opening the masterdaycycle matinee look for this section. The Brightness for our truesky sequences are set to lerp between different values through out the day so if you want to edit these settings it must be done here in the matinee instead of through the actor.

../_images/Matinee.jpg

Meters Per Unit: By default this is set to 0.1. To be physically accurate this setting would normally be set to 0.01 as it is setting up how many meters per unreal unit the system uses but on Atlas we use 0.1 to sort of shrink the whole system to make the overall clouds/environment feel a bit more epic. Cloud Shadow Settings: The various cloud shadow settings control the distant cloud shadows that appear, in Atlas we mostly keep them more dim and only to appear in the distance but you can change that with these settings if you want! Visible: Pretty straight forward, will basically enable/disable the rendering of the truesky system. Max Sun Radiance: This setting will basically control how much the sun blooms, we keep this number much lower than default at 500 to keep the sun from taking up too much of the sky and becoming one giant bloomy fireball. Adjust Sun Radius: Adjusts the sun radius to be consistent with Radiance, we keep this disabled on Atlas mostly because we get more consistent results with it disabled.

../_images/SequenceProperties.jpg

Setting Up New Sequences:

1 - With your TrueSkySequenceActor selected go under the Active Sequences. For this tutorial we are just going to create a copy of the regular cloud sequence, so just go to the top cloud sequence here and click the icon in the pic below to take you to the cloud sequences location in the content browser.

../_images/CloudCopy.jpg

2 - In the content browser you are going to want to make a copy of this TrueSky Sequence Asset and put it into whichever folder your project lives in, for the sake of the tutorial I’ll be duplicating this and calling it “Atlas_Tutorial_Clouds” but you can name it whatever you want. After duplicating it go back to the properties of the TrueSkySequenceActor and plug the new cloud sequence you just made into the 0 position of the array to replace the “Atlas_Temperate_Clouds” (If you are making duplicates for any of the specific weather ones you’d want to replace them in the correct positions as they still must remain in the same order to trigger properly) So after plugging this in you should have something similar to the below image and you should see the truesky clouds in your level update.

../_images/CloudCopyFinal.jpg

3 - Next you will want to find an actor in the level called “DayCycleManager_ATLAS” and look in the properties for an option called “Current True Sky Sequence Asset” and also set this to the TrueSky Sequence Asset you created, otherwise the Active Sequence setting you set before will automatically reset itself to the previous cloud sequences everytime you update the time of day in editor/game. You may want to change the time of day in your matinee after doing this so that it is day time again so you can see whats going on in the next few steps!

4 - Now that we have that hooked into the level itself you will want to go back to the content browser and actually open up the new truesky sequence asset that you created earlier and you should get a window that pops up exactly like the below image. This is by far the most complex part of the TrueSky system, it is where all of the customizing of the various cloud sequences happens whether it is rain, heat/cold etc, all of the unique looks are created and maintained in this editor. Overall this system works similarly to matinee in the sense that it uses keyframes based on time of day to determine the look of the clouds and atmospherics. The system is pretty tough to cover so we will have to split it into multiple areas. In the screenshot below you will see words on the left side, Sky circled in blue, and 3DClouds circled in Red. Clicking on these words will pull up one set of menus that cover overall the global settings for both the sky and clouds. These are basically settings that stay persistent no matter what time of day it is.

Clicking on the various keyframes to the right will bring up a different set of menus, ones circled in blue will bring up various keyframe information for the sky, ones circled in red will bring up the keyframe information for the 3DClouds. I have crossed out the 2DClouds section as these are not used in Atlas and I believe they are hard coded to be disabled even if you try and enable them.

../_images/SequenceWindow.jpg

5 - Sky: First click on the word Sky circled in Blue above. You should get a bunch of settings that appear in the large area that was previously grey above. This tutorial won’t cover what every single setting in the sequence editor does as most of it is covered in the official TrueSky documentation already, which you can find here - http://docs.simul.co/unrealengine/Sky.html Keep in mind however that the documentation will not match up exactly with what you are seeing in our version as we have customized some things and use an older version. You will not need to do any of the custom blueprint setup mentioned on their page.

Mode: There is no need to touch any of these settings. Atmospheric Scattering Tables: These settings are specifically to handle the overall atmospherics, how foggy things look, color of fog, etc…. The Atmosphere: These settings may be hard coded to be disabled as they do not appear to do anything. Sun: The only thing you will really need to control here is the sun diameter if you desire. The other settings should remain default. Moon: Similar to Sun, keep all settings default but feel free to adjust the moon Diameter. Stars: Feel free to change any of these settings. The Background setting will only work if you have something plugged into the “Cosmic Background Texture” location on your True Sky Actor.

6 - 3D Clouds: Similar to the Sky settings above, to get these settings you just click the words 3DClouds circled Red in the above picture. To get a bit more information on what a lot of these settings do check the TrueSky documentation again - http://docs.simul.co/unrealengine/Clouds.html The settings here are much more technical than the Sky settings and setting wrong values can have a worse effect on performance or cause major issues when transitioning between sequences. Regardless of this though many of the settings found in this window are important in getting nice unique looking clouds. Keep in mind though that whatever settings you use here must remain the same between all of your cloud sequences your level is using or you will get issues with clouds shooting through the sky at high speeds when you try and transition to another weather event.

Mode: Similar to the Sky setting these should remain the default settings and do not need to be touched. Rendering: The settings found here are more technical ones that deal more with performance stuff, lowering some of these settings may make things look worse but perform better, raise them to get things looking slightly better with worse performance. Edge Noise/Grid/Generation: These settings more directly correlate to the actual look/shape of your clouds at a global level and must remain the same between all of your truesky sequences. Loop Wind Offset: No need to touch this, may cause issues!

7 - Sky KeyFrames: Now that the global settings are set you can start getting more into the meat of the TrueSky system. The Slider at the bottom of this will allow you to cycle through the different times of day, each keyframe will set what the sky/clouds are meant to look like at that time of day. To the right of these Sky/3D Clouds buttons you will see several keyframes, to start off we are going to cover the Sky Keyframes in blue. (Very important! If you want to add or remove any keyframes keep in mind that every truesky sequence you make must have the same amount of keyframes at the exact same time of day, if the times between sequences are different or there aren’t as many keyframes you will get issues with your clouds racing through the sky when you transition between weather events! For instance, if your regular truesky has keyframes at 2AM, 6AM, and 3PM you must put keyframes at those exact times on all sequences you plan to make.) You can get a little more information about what each setting here does on this page - http://docs.simul.co/unrealengine/sky.html Haze/Fog/Mist/Dust: These settings are mostly to control the fog/atmospheric settings, making things more foggy at night/morning etc… Sun and Moon: These settings control where the sun and moons position are in the sky, I wouldn’t mess with these unless you need to do something unique with it as it is very easy to break some of this setup and not easy to fix.

8 - Cloud Keyframes: Similar to the Sky Keyframes all of these settings simply control what the clouds look like based on the time of day. These settings are the most important ones in the entirety of the truesky system as far as determining the overall look of your clouds. For a more in depth look at what the different settings do specifically you can find those here - http://docs.simul.co/unrealengine/Clouds.html

Main: Quick note on the settings found here. Outside of the “Cloudiness” value these values should also remain the same between all of your sequences to avoid getting the racing cloud issue on transitioning cloud sequences. The Cloudiness value can and should still be changed though without issue. Shape/Lighting/Edge Noise: The settings here are what will really control the overall look of your clouds. Feel free to change these values to anything you feel looks good, the only exception being the “Wavelength” setting under Edge Noise. This setting specifically will cause the racing cloud effect on cloud transitions. You can still change it to whatever you want but it must remain the same between all of your cloud sequences!

Weather Effects: These ones are rather awesome and will basically allow you to simulate the effect of heavy rain in the distance. Check our Atlas_RainClouds sequence for an example of this! TrueSkySequenceAsset’/Game/Atlas/Environment/TrueSky/Atlas_RainClouds.Atlas_RainClouds’

Few hints/things to keep in mind:

Night lighting: If you look at any of our sequences you will notice that we raise the direct lighting drastically at night. The reason for this is in our matinee system we are setting the global brightness of the truesky system to be extremely dark, with this the clouds will become almost black otherwise so we artificially increase the cloud lighting to very high values at night to give them a nice rim lighting feeling. Limit Keyframe time: If you are adding or moving the keyframe times around be sure to keep them between 0-24 as far as Time goes. Our system basically replays the same day over and over again so any keyframes placed after 24 or before 0 will not be used and will probably cause strange issues in transitioning into the next day. Setting multiple Keyframes: When your setting up the look for your clouds it is usually easiest to drag and select all cloud keyframes at once to adjust them instead of doing them one by one. Using the Time Slider: If your adjusting the time of day using the time slider it will unfortunately only adjust your truesky time and not the actual in world time/sun position etc so you may get wrong visuals such as the sun being out at night. You will still need to open up the matinee and adjust the time of day there to properly visualize your stuff at different times of day.