Shroud of the Avatar Unity Tutorial 2
On Friday’s Hangout of the Avatar, Chris Spears (Technical Director on Shroud of the Avatar) gave us the second of a series of tutorials on using Unity, this time featuring terrain generation.
While he set up the tutorial, Chris noted that the various threads on the Shroud of the Avatar forum have been consolidated into a single Combined Call for Art! This will now link to a Google Doc showing what assets have been requested from, and received from, the community for crowdsourcing.
The Scene Challenge Series of the Avatar has been delayed until September 20th, in case anyone missed the announcement. The basics are still the same; The Portalarium developers will make a outline document live at 6:00 PM Central, and community members will have 48 hours to complete and upload a completed scene. The outline will contain the main idea of the scene, and fan developers can use whatever assets they have available. In preparation, Chris provided a Practice Scene Jam of the Avatar over the weekend. Check that thread for his feedback and some amazing crowdsource development ideas.
Terrain
To create Terrain, simply add a terrain object to the scene (Game Object | Create Other | Terrain). By default, this creates a square 2000 units to a side, which is 2km in Shroud of the Avatar metrics (1 unit = 1 meter). Chris recommends shrinking this to at most 500×500. While the terrain manipulation can be done within Unity, he noted that most professionals will either create the terrain externally or export a rough terrain and modify it externally, using a heightmap .RAW file, then import as a Terrain object. Also note that when first placing a terrain, it is placed at the lowest point, so you cannot lower terrain into valleys. He has a script that sets the terrain at a normalized height, and will provide that to the community when it is available.
After the basic terrain is built, the next thing he notes is how to do water. There are several methods, and his is simply a plane with a water shader; more can be done with scripts, but this is enough for now. Once the water is in place, we see how to raise and smooth terrain into mountains, and paint on a secondary texture. This painting method is also used to hide repetition in the base terrain by making it appear to be randomized.
After the groundwork is done, Chris adds trees to the scene, first by adding individual models, but then using the terrain systems which is much better for performance. Adding in a bend factor allows them to appear to sway in the breeze. Finally, adding a collider will prevent players from running through the obejct; this can be done via terrain, but causes collision with the entire object; it is better to do just the trunk via a script, which is how their artists do this.
Finally, there are additional details added. This includes using the terrain system to add grass, and placing a skybox in the scene (Edit | Render Settings | Skybox Material). Fog can be added (also on Render Settings window), and you can select the fog color to blend with the skybox for a better appearance.
Finally, Chris shows the basics of adding a downloaded Asset Package, which (as often happens) required some resizing and reapplication of materials to the model to correct its appearance.
Another Unity Tutorial will be this Friday the 13th, featuring getting a character into a scene!
Watch the Tutorial!
Chris shows off the terrain features of Unity, with some additional questions from the community. The full video runs 53 minutes.
Find Out More
Here are the Unity resources Chris suggested in the video:
- Unity Asset Store
- TurboSquid
- Palace of Orinthalian (Skybox)
- Dungeon Master Bill has guide to prefabs in the Dev+ Forum
For those of you (like myself) who don’t use GIMP, here are some plug-ins for Paint.NET to use for terrain editing:
Recent Comments