Scenery generator


A scenery generator refers to software used to create landscape images, 3D models, and animations. These programs often use procedural generation to generate the landscapes. If not using procedural generation to create the landscapes, then normally a 3D artist would render and create the landscapes. These programs are often used in video games or movies. Basic elements of landscapes created by scenery generators include terrain, water, foliage, and clouds. The process for basic random generation uses a diamond square algorithm.

Common features

Most scenery generators can create basic heightmaps to simulate the variation of elevation in basic terrain. Common techniques include Simplex noise, fractals, or the Diamond-Square Algorithm, which can generate 2-dimensional heightmaps. A version of scenery generator can be very simplistic. Using a Diamond-Square Algorithm with some extra steps involving fractals an algorithm for random generation of terrain can be made with only 120 lines of code. The program in example takes a grid and then divides the grid repeatedly. Each smaller grid is then split into squares and diamonds and the algorithm then makes the randomized terrain for each square and diamond. Most programs for creating the landscape can also allow for adjustment and editing of the landscape. For example World Creator allows for terrain sculpting which uses a similar “brush” system as Photoshop and allows to enhance it additionally with its procedural techniques such as erosion, sediments, and more. Other tools the World Creator program can use are terrain stamping which you can import height-maps and uses them as a base. The programs tend to also allow for additional placement of rocks, trees, Etc. These can be done procedurally or by hand depending on the program. Typically the models used for the placement objects are the same as to lessen the amount of work that would be done if the user was to create a multitude of different trees.
The terrain generated the computer does a generation of multifractals then integrates them until finally rendering them onto the screen. These techniques are typically done “on-the-fly” which typically for a 128x128 resolution terrain would mean 1.5 seconds on a CPU from the early 1990s.

Applications

Scenery generators are commonly used in movies, animations and video games. For example, Industrial Light & Magic used E-on Vue to create the fictional environments for . In such live-action cases, a 3D model of the generated environment is rendered and blended with live-action footage. Scenery generated by the software may also be used to create completely computer-generated scenes. In the case of animated movies such as Kung Fu Panda, the raw generation is assisted by hand-painting to accentuate subtle details. Environment elements not commonly associated with landscapes, such as or ocean waves have also been handled by the software.
Scenery Generation is used in most 3D based video-games. These typically use either custom or purchased engines that contain their own scenery generators. For some games they tend to use a procedurally generated terrain.  These typically use a form of height mapping and use of Perlin noise. This will create a grid that with one point in a 2D coordinate will create the same heightmap as it is pseudo-random, meaning it will result in the same output with the same input. This can then easily be translated into the product 3D image.  These can then be changed from the editor tools in most engines if the terrain will be custom built. With recent developments neural networks can be built to create or texture the terrain based off previously suggested artwork or heightmap data. These would be generated using algorithms that have been able to identify images and similarities between them. With the info the machine can take other heightmaps and render a very similar looking image to the style image. This can be used to create similar images in example a Studio Ghibli or Van Gogh art-style.

Software

There is a large variety and amount of software that will generate scenery and allow for editing of it. These can include:  
Game engines with terrain generation:
Most game engines whether custom or proprietary will have terrain generation built in
Terrain generator programs: