Saturday 22 June 2013

Mixed Forests and Basic Animation




Here is a scene that supports 3 distinct tree types, as well as textured and shaded cut blocks.  Here cut blocks are part of the rendered forest, to support smooth transitions in animation, as well as to have some volume in the 3d scene  (There is a lot of dense waste left on cut blocks).



3 Tree Types and cut blocks

Here one forest Map Texture is used, describing patterns and shapes of the 3 different tree types.  Cut blocks as well as roads, are then defined through the cut texture, which maps uniquely to the entire terrain.  Cut Blocks are rendered as a 4th texture, so they are defined in the initial mapping to terrain function.

Though one of the major problems with this process is borders between areas of different type.  many artifacts appear around cut block boundaries due to sampling problems, and transitions between tree types are also problematic.  Though mostly these border issues are solved by creating a line map with a laplacian defining border boundaries between tree types.  This image is then used to blur the final image.









The animations above provide examples of simple ecological based animations which may be implemented through this process.  The forest growing is simply a global value applied to forest height.  (Obviously an entire forest does not just grow like this)  The Cut block animation was created by using a video for the modification texture.  This animation is pretty terrible so that is why there are some ugly artifacts between the roads and cut blocks.







Basic Multitexturing

A large forested scene would likely require many different forest map textures that describe tree placement and type.  For one, if there are distinctive features in the texture, it would be quite noticeable that the texture repeats.  Secondly, forests vary in relation to aspect, terrain type, and elevation.  Thus this system should support basic multi texturing (based off of Riemer's terrain tutorial) that supports dynamic or terrain based forests. 



Scene with many forest types - Helena National Forest, Montana
The young forest, beetle kill, and fields could potentially be described via the modification map, but in this area some forests are more dense, and tree types vary depending on aspect.  There is support for differences accounting for age, roads and cut blocks via the modification texture, as well as in a value in the terrain vertices which defines whether or not the ground is forested.





Deer Lodge National Forest, Montana

Inspired by some of the beautiful forests of the Rocky Mountains, I decided to see if this system could also be used to render similar rock formations and mixed forests.  With not too much effort I was able to implement a similar scene supporting multi texturing and different tree types (in this case, one tree and one type of rock)




Here 4 different textures were used, one describing a mixed forest/rock, dense forest, sparse forest, and only rock formations.





These are the 4 textures used.  The red channel describes feature height, the blue channel defines forest or rock, and the green channel is noise used for dynamic texturing.  As you can imagine, many possible forest types could be created by creating simple noise based textures.



 Here only two feature types are used, the Forest Color and Forest Texture images are split for the trees and rocks.  Potentially many feature types, tree species, kinds of rock etc could be represented through this system.  Though there are some potential problems when merging different Forest Maps for Multi texturing, as well as with transitions between types.  Some solutions to these problems will be explored later.







But even so, this process can successfully implement basic mutlitextured mixed forests