Back ] Home ] Up ] Next ]


The Making of "Four Seasons in One Day"

Surfaces

Morphing surface maps is probably the main uses that people have for TerraTweak. At the time that I started this project it as not possible to use Sopack plugins for distribution maps as the bitmap name was not saved with the TGW file. This has since changed, greatly expanding the possibilities, but for now I'll stick to explaining the methods I used to create the surface transitions.

While Terratweak will now morph between layers, I decided to keep things simple and just get TerraTweak to morph each corresponding layer. In order for this not to get screwed up each TGW had to have an identical surface structure. This meant planning all of the transitions that would take place through the animation

Step 1. Basic layer set

For each surface type that I create there are usually at least 2 contrasting colours in child layers. To keep things simple I'll ignore these child layers but keep in mind that when I refer to adding a new child layer, this layer goes below the contrast child layers.

Layer Summer Autumn Winter Spring
Rock Remains constant
Grass Green Increase red to yellow grass Decrease green to reduce saturation Brighter than summer
Flowers Visible Gone
Snow Small patches at high altitude Thin over down to tree line Thicker cover extending below tree line Thin over down to tree line
Deciduous trees Green Orange/yellow/red-orange Brown, reduced coverage (fallen leaves), reduced max altitude (covered by snow) Light green
Conifers Dark green Unchanged Touch more cyan Same as autumn

Step 2. Transitions

The simplest type of transition is to simply change the colour of a layer in the second key frame, producing a fading from one colour to another in the surface.  While this may be simple, it does have a number of drawbacks. The transition may be so gradual as to be unnoticed and in many cases my be just plain boring. 

Key frame 1 Transition Key frame 2
  • Grass
    • Contrast 1
    • Contrast 2...
Colour fades from key frame 1 to key frame 2 for each layer
  • Grass
    • Contrast 1
    • Contrast 2...

I prefer to use a method of replacing on layer with another in what i call a seeded morph.  This method has two main requirements.

  1. The second key layer must be able to be made invisible at the beginning of the transition
  2. The distribution of the second key layer must be restricted to the distribution of the first key layer.

To achieve this I start by creating one version of the desired surface including the contrasting child layers. I then save it, create a new child layer and load the saved surface into this layer, resulting in a duplicate of the layer as a child of the original. The colours for this new surface are changed and the surface is hidden by lowering the Coverage and Fractal Noise of the parent layer of the duplicate.

The second key frame makes the duplicate surface visible by increasing Coverage and Fractal Noise to the desired amount.  In order to make small patches of the duplicate layer visible at low Coverage values you'll need to start with Fractal Noise set to about 20% and increase it to the second key frame.  If Fractal Noise is too low then the duplicate layer will not be noticeable until it's coverage is relatively high.

Key frame 1 Transition by varying Autumn Leaves Key frame 2
  • Trees
    • Contrast 1
    • Contrast 2...
    • Autumn Leaves
      • Contrast 1
      • Contrast 2...
Coverage varies from 0 to the desired maximum (100% replaces the entire Trees surface).

Fractal Noise varies from 15-20% up to the 100% and then back to 0 if required.  This provides the small discrete patches of colour for low coverage values, and then drops back to 0 as the coverage becomes more complete.

Additional spread patterns may be created by varying Slope and Altitude constraints. e.g. starting on low altitude, gentle slopes and spreading uphill.

  • Trees
    • Contrast 1
    • Contrast 2...
    • Autumn Leaves
      • Contrast 1
      • Contrast 2...

It's then a matter of sitting down and working out how the surface layers interact with each other over time to determine their order in the surface list and a surface needs to be duplicated as a child of another layer.

The final surface map for my animation should have looked something like this (I didn't think of multiple snow layers at the time).

  • Rock
  • Grass
    • Dead Grass
    • Flowers
  • Snow1
  • Deciduous trees
    • Autumn leaves
    • Snow2
  • Conifers
    • Snow3

Using the snow as an example...  Snow1 is the primary snow layer.  It's distribution varies with the seasons via adjustments to coverage, fractal noise, altitude and slope constraints.  It is allowed to spread over grass and rock, but spreads below the trees (i.e. it sits on the ground first). The additional snow layers can then be used to simulate heavier snow conditions where the snow covers the trees. 

All of these layers are present throughout the entire animation reducing the risk of having TerraTweak morph the wrong layers together.


Back ] Home ] Up ] Next ]


This page, its contents and style, are the responsibility of the author and do not represent the views, policies or opinions of The University of Melbourne. All photographs © Ben Kreunen 2000

Ben Kreunen <bernardk@unimelb.edu.au>
Department of Pathology
Last modified: 13-Aug-2003