Lab 15 - Procedural Generation
Max Score: 1 point (you only have to submit an image)
The goal of this lab is to create a shader that combines multiple layers of noise to generate heightmap for a terrain. Here are some examples of how your terrain might look like:
Download base files: Attach:ProceduralBaseFile.zip
- Create a new Unity 3D project, add base files.
- Create materials for Terrain and MapData shaders.
- Add a cube object to the scene with the terrain material and terrain script.
- Add another camera to the scene, rename it "Render Camera".
- Adjust your Render Camera: projection = orthographic, size = 0.5, ClippingPlanes = (5, 10), ViewportRect = (0, 0, 1, 1).
- Add MapRenderer script to the Render Camera.
- Remove Render Camera Audio Listener, GUI Layer, and Flare Layer components.
- Add a quad to your scene such that it fills the Render Camera.
- Parent the quad under the Render Camera.
- Set camera culling masks such that the render camera sees only quad and the main camera sees everything else except the quad.
- Add your map data material to the quad.
- Increase CountX and CountY values in the Terrain script.
- Make sure your game generates bumpy terrain once you hit "run" button.
- Edit your Terrain shader, adding different color values according to the heights.
- Edit your MapData shader turning it into Billow or Ridged noise as shown in the Lecture.
Bonus (up to 1 point): create a more interesting landscape (you can experiment with other mathematical functions as well). You can also add animations and submit a gif instead.
Submit a picture of your generated terrain.