Jump to content
  • Sign Up

    Welcome to CANOPY.

    Browse the Forums, read articles in the Library, share your work in the Gallery, get the latest in Downloads

    Want more? Subscribe and get all our assets for a fraction of their asset store purchase price!

  • Using the HDRP Time of Day System


    Peter

    The HDRP Time of Day asset helps you to create awesome and quick lighting setups for your project in HDRP.

    We automate the generation and placement of many HDRP settings and object for you, so that you get a working configuration out of the box that you can fine tune to your hearts content.

    The system can be used as standalone product without any additional tools, but also goes great alongside of our terrain generator Gaia – if you use it together with Gaia, please make sure to read the installation instructions below.

    Trailer:
     

    Screenshots:
    Grab 20220419213259 w3840h2160 x-156y87z-153r183.png
    Grab 20220419213845 w3840h2160 x42y63z-203r13.png
    Grab 20220420040419 w3840h2160 x-121y61z228r314.png


    Prerequisites

    To use the system, you need to have Unity Editor version 2021.2 and higher in the HDRP Pipeline. (The system makes use of features solely found in this pipeline version and above).

    Installation

    If you install along an existing Gaia Pro 2021 installation, please note that Gaia Pro 2021 contains an older, embedded version of HDRP Time Of Day. This should automatically be handled by the installation process of the package.

    If the automated installation runs into an error, or cannot be started due to compilation issues in your project, it can be triggered manually from this menu entry as well:


    image.png

    If you want to remove the embedded version manually, make sure to remove the folder Procedural Worlds\Gaia\Gaia Pro\HDRP Time Of Day first from your Gaia installation.
    Then you need to delete these language pack files from within the Gaia installation:


    image.png

    If you install Gaia Pro 2021 after the HDRP Time Of Day system, you can rule out the directory and those language files in the package importer window to prevent them overwriting files in the HDRP Time Of Day installation.

    Usage

    Adding the system to your scene

    To use the system, you need to add it to the scene first. This can be done in the following ways:

    1. By adding the HDRP Time of Day System from the Window menu to the scene. (This allows to add the system without Gaia being involved at all)

    image.png

    2.  If you have Gaia installed, you can add the system by selecting "Procedural Worlds Sky" in the Gaia Manager "Create Runtime" tab when adding the runtime components to your scene:

    image.png

    If you are running HDRP in Unity 2021.2, this will add the HDRP Time Of Day System then

    3. By switching to "Procedural Worlds Sky" on the Gaia Lighting Object if a different Lighting Profile was set up before:

    image.png

    This allows you to bring in the system into scenes where runtime was already set up before.


    Configuring the system

    Once the system was added to the scene, locate the "HDRP Time Of Day" object in the scene hierarchy to configure it. If Gaia is part of the scene setup, you can find it below the "Gaia Lighting" object, if used without Gaia the system will sit in the scene root.

    The System has a lot of settings that allow for complete customization of the look of the day and night cycle. Before you start, make sure the correct camera is set up in the system:

    image.png

    If not, drag and drop the main camera into this slot.

    Time of Day Settings

    To get a feeling for how the system works, look at the next section and adjust the time of day slider to the left and the right:

    image.png
     

    You should see an immediate impact on the lighting in the scene as the time of day changes:

    image.png

    image.png

    image.png

    The settings sections below reveal how this is controlled: Most settings that you can find in the different panels below is mapped to the current time of day via a curve mapping - The value at the left side of the curve is being applied as the time of day slider is all the way to the left (0:00 o' clock), the value at the right side of the curve is being applied when the time of day slider is all the way to the right (24:00). This means as the slider "travels through the day", the different settings that use an animation curve below will be altered accordingly. 

    For example when looking at the fog settings, imagine a line would be drawn from the slider to the curves below - the point where the line would intersect with the curves would be the value that is applied for that setting at that time of day.

    image.png

    You can tell for example that the fog distance is closer around midnight and further away around noon. Note that the "Fog Color" uses a color  gradient - same principle, the fog color is selected according to the position of the time of day slider. 

    When clicking on the curves you can see a more detailed view that allows to edit the curve and which also reveals the scaling of the curve:

    image.png


    The scale can be vastly different depending on what the value is that we are editing - a distance as displayed above would be measured in meters, a multiplier value might be single digits only.

    It would exceed the scope of this documentation to list every setting that can be found in the time of day system, but note that if you hover over the field descriptions and / or click on the help button in the top right corner of the UI, you will get on-screen help that explains what a value is good for:

    image.png

    image.png

    Most of these settings directly relate to global HDRP volume components which can be found in the children objects of the HDRP Time Of Day object:

    image.png

    The great advantage of that is that you can still run additional local volumes and / or override volumes to override settings from the HDRP Time Of Day system since all settings are processed within the HDRP standard.

    With a basic understanding how the settings are being processed, you can start the scene, and activate the "Auto Update" checkbox in the Time Of Day Settings, and enter a value like "100"  as multiplicator.

    image.png

    You should now notice how the time progresses and the Time Of Day slider is pushed forward automatically:

    image.gif


    Reflection Probe System

    The reflection probe system is an optional system that uses a global reflection probe to cast sky reflections. This adds a great deal of lighting quality when using SSGI (Screen Space Global Illumination) As the later unity versions take reflection probes into consideration when applying SSGI.

    You can enable the system in the time of day manager at the top in global settings. The reflection probe system requires a profile which contains all the data. Note that 2 profiles have already been provided for you a one night probe which only has 1 night probe and 5 probes throughout the day. Then there is a 24 hour profile that has each hour baked out, this gives the best lighting quality results.

    image.png.4b722e78c9b6360232470ad0b9fd20b3.png

    1. Toggle to enable the system.

    2. Probe profile that holds all the data used for the system.

    3. Render mode, sets how the system should behave, currently only sky mode is available.

    4. Render distance, how far the render distance of the probe will be render for. The probe follows the Player/Camera set at the top of the panel.

    Is this system expensive? No it's actually very fast since the probes are pre-baked out and stored in the profile there is no realtime update on the probe so it does not need to update or bake out data. The system just switches out the data (Applies the probe and intensity) so it's very fast.

    Comparison:

    This is with SSGI on and the probe system disabled.

    1242513208_ProbeSystemOff.thumb.png.04878ab1605fe945db5c26fda09653df.png

    This is with SSGI on and the probe system enabled.

    1332785276_ProbeSystemOn.thumb.png.3422181d98aeaf31a630ed63ba43048a.png

    Here you can see how much the probe system effects the overall lighting quality of the scene. Now SSGI can be expensive and should only be used on low quality unless you have high gpu specs.


    Post Processing Settings

    The same principle of mapping the time of day to a curve (or color gradient) applies for the post processing settings panel as well. The only difference is that the values edited here fall in the realm of HDRP post-processing.

    Ambient Audio Settings

    The Time Of Day system comes with a feature to play different Ambient Audio soundloops while the time of day progresses.

    image.png

    The "Ambient" slots take on a soundfile that is being looped while the respective section of the day is active. The Volume settings help to fine tune the volume during the day and when a weather effect is running. The "Time Of Day Intervals" define the duration of the 4 different segments "Morning", "Afternoon", "Evening", "Night" during the day.  (The setting is expressed as a scalar value where 0 would be the start of the time of day loop, and 1 at the end. The "0.25" from the screenshot above would translate to "the morning loop plays for the first quarter of the time of day loop".)

    Underwater Settings

    The system can override the fog settings when the camera goes under water - this helps with creating underwater VFX.

    image.png

    You can choose to apply these settings in sync with the Gaia underwater VFX, or you can switch the System Sync Type to "Custom" to integrate your own solution via scripting (see HDRPTimeOfDayProfile.ApplySettings())

    Weather Settings

    The system allows you to define weather effects that can kick in as the time of day progresses.

    image.png

    The Min / Max Wait time determines how long it takes until a weather effect becomes active. The  Weather profile contains override settings for the regular time of day settings. In this way the rain effect alters the cloud settings, fog settings and lighting settings etc. to make it appear like it is raining:

    Grab 20220420041449 w3840h2160 x-67y58z260r183.png

    Additionally there are also particle VFX being played back that are supplied in the weather profile. During runtime you can quickly start and stop the weather effects with the respective buttons. To develop your own weather profile, you can use the "Copy Settings Over" button to copy the current active settings from the time of day system into the weather profile.
    If you were to develop a new weather effect you could define how this effect should look like across the different times of day, then when you are happy with it, move the settings in the weather profile.

    Debug Settings

    Lastly, the debug settings help with testing and developing your scene and the time of day system there in.

    image.png.3308fb6f2cc859aa9cee8847bb590907.png

    Round Up: Will round the 'Fetch Debug Information' to the nearest whole float value. (Example 0.445543 = 0.44)

    Show Debug Log: Will enable debug logs ro be shown in the console that have not been forced. This should always be left enabled to log any errors the system has.

    You can use the "Simulate Speed" and the "Start Simulation" button to run the time of day cycle in the editor.

    "Fetch Debug Information" prints information about the current time of day values into the console.

    "Refresh Time Of Day Components" forces an update on the components controlled by the Time Of Day system in case an outside influence changed settings.

    Add Time Of Day Debug UI: Will add a simple runtime ui to control a few settings in the time of day. This helps give examples on how to modify settings at runtime.

    "Remove Time Of Day" lastly will remove the system from the scene again.

    image.png

     

    Storing  Values in Profiles


    The majority of settings for the HDRP Time Of Day System are profile based – on the top of a settings block that uses profiles you can find a profile reference slot:

    image.png

     
    These profiles are being stored in the project hierarchy of your project and hold all the settings of that section. Saving of those settings happens automatically. By duplicating those settings objects (or creating new ones from scratch) you can store variants of those settings and also apply them across scenes.
    When you drag a settings object into that slot, the values stored within will be applied to the scene automatically. This equals “loading settings from disk”.

    Please be aware that if multiple scenes are using the same settings objects, those settings will be shared between the scenes (which usually is desirable when you want one consistent configuration across the scenes).
    If you want to have separate settings between scenes (e.g. Scene A has daytime lighting, Scene B has night lighting, there is no time of day progression), you would rather want to duplicate those settings objects and create individual settings for each scene:


    image.png

     

    Volume Overrides for Lighting and Weather

    You can override certain aspects of the lighting system by setting up volume overrides in the scene. If a camera enters such a volume, the regular values in the HDRP Time Of Day system will be overridden accordingly.
    To set up such a volume, create an empty game object in the scene and attach the HDRP Time Of Day Override Volume Component to it.


    image.png

    A different type of override is the Interior Weather Controller – it allows you to block particles from weather systems inside of volumes – this can be used to block snow / rain from entering buildings or caves.
     

    image.png


    You can set these up the same way, but you will also need a collider on that object:

    Volume Overrides Demo Scene

    To give some example setups for those volume overrides, we added a demo scene under Procedural Worlds\HDRP Time Of Day\Demo Scene.
    Run this scene in play mode and explore the different signs to get instructions about testing the different override effects.


    image.png

     

     

    • Like 3

    User Feedback

    Recommended Comments

    There are no comments to display.


×
×
  • Create New...