Painter tiles (Release 5) - LGhassen/EnvironmentalVisualEnhancements GitHub Wiki

Overview

Realistic cloud formations are difficult to paint entirely by hand, as hand-painting means you have to paint every individual cloud which is difficult to to do with enough variety and very time-consuming. They are also difficult to author using global satellite maps which don't contain enough information to connect the global scale to the small scale clouds.

Painter tiles have been added in Release 5 to allow the ability to paint an intermediate scale, the idea is to author tiles of more realistic and common formations and types and use them to build up an entire cloudscape.

Examples of tiles included in the stock configs: alt

Tiles can contain coverage or cloud type information and are used to paint those directly to your cloud maps like any other painter tool, they are not used at runtime to add detail to global maps.

Additionally the coverage and type values of tiles can be remapped when painting to add variations.

Tile "Masks" can also be used, these are global maps that just act as an additional coverage multiplier on tiles. Typically the use for this is to make it easier to paint only certain areas with a given tile, or to follow a satellite map. These can be made from satellite maps or any other process, but it's important to blur these a bit to not give sharp edges which look weird.

Configuration

Because tiles have coverage and type information, they are strongly linked to a given cloud layer config, as such they are defined directly in the cloud layer config as a list.

Tiles

In a given layerRaymarchedVolumeV5 config you can add a "painterTiles" tiles node with a list inside. For every element you can set the following settings:

  • tileName: The tile's name, will be used to select it from the painter.
  • size: The size the tile will be tiled at.
  • coverageMap: The coverage map to use for this tile.
  • remapCoverage: Min and max values to remap the values in the coverageMap to, 0 and 1 respectively will use the coverage map as it is. Can be used for different effects. Eg I usually take a cumulus tile and remap the min coverage to a higher value then just use it to add variation to covered areas.
  • typeMap: Optional, when used the tile will also paint to the cloud type.
  • remapType: Min and max values to remap the values in the typeMap to, can be used to paint a specific type, eg for cumulus clouds I typically use the same texture as coverage and use the remapType to give a slight type gradient to make the inside a slightly bigger/denser type than the outside, see examples below.

Masks

  • tileMaskName: The mask's name, will be used to select it from the painter.
  • texture: The texture map to use.

Authoring tiles

Any source can be used but I typically try to use landSat images for these as they have more detail than global satellite maps, and they also provide 16-bit data which is easier to remap/tweak in image editing software to get the desired results.

LandSat tiles

Samuel Krug has a good video on getting land sat tiles, band 4 and band 8 are fine for most uses but in my experience we don't need the added size and detail of band 8 here. Band 9 is good for isolating cirrus clouds but I didn't end up using any of these tiles at the moment. Just keep in mind this can be very time-consuming to find and create good tiles. Once you like a tile you can extract part of it and tweak the brightness or use the levels tool in photoshop to get the vlaues you want.

I've had success taking tiles like these for stratocumulus

alt

Then zooming onto specific/interesting details

alt

Then using a levels adjustment to get a coverageMap that works well

alt

And isolating the brightest regions (and adding a slight blur) to use as a type map. The goal being mapping a thin stratus type to the dark areas and cumulus-like clouds to the brighter areas

alt

These are just examples (not something I use), but you can look at the included tiles for something I use. You can also use other sources, feel free to experiment.

Making tiles tileable

Once you're happy with how your tiles look you should make them tileable to eliminate seams. There's a lot of software that can do this, I like to use Materialize and have my own fork of it that can work with 8192 and 16384 resolutions.

Included tiles

Upcoming, check back in a few days

Example flow for making Kerbin/Earth-like configs

Upcoming, check back in a few days