Topics: The Unity 3D game engine, 3-D scenes, terrain editing and texture painting, skyboxes, trees and foliage, scene lighting, player controller, water, and simple 3D models.
Related Reading: Class notes, zoom recordings, and Creating Terrins in Unity.pdf
The goal of this assignment is to become familiar with the basic design features of the Unity 3D game engine. To accomplish this goal, your task is to create your own Project and Scene in Unity.
First, you'll need to download and install Unity on your own computer, and sign up for the Unity Personal license. To do this, first download Unity 3D. Please be sure to use the same version of Unity as used in the classroom and by the instructor: version 2021.3.16f1.
Start off by creating a new Project, or you may continue with an existing in-class Project if desired. When creating a new Project, remember to select 3D Core for the project type.
A single Project may contain multiple Scenes. For this assignment, you only need to create a single Scene. When you first open a new Project, it will begin with an empty Scene. Before exiting though, it will ask you to save your Scene. To load any saved Scene later, the Assets folder under the Project Window contains all the Scenes in the Project (which are hopefully predominantly stored in a Scenes sub-folder). Double-clicking on one will open that Scene in the Hierarchy and Scene windows.
Following will list the steps you should take in creating your Scene, but again, you are welcome to continue developing the Scene that you started in class.
Start off by using the terrain editing and texture painting tools to create the terrain for your Scene. In designing the terrain, consider the purpose of this Scene... what type of game will it be for? what will be the theme and setting of the game? what will the purpose of this particular Scene be in the game? Try to design the terrain with a vision in mind.
In painting (and editing) the terrain, consider using variety in your Scene, both to give the Scene a more realistic feel (i.e. the outdoors is nothing if not irregular), and to show signs of human or animal life (e.g. paths, more regular town areas, open areas in woods, etc.)
Note: In class, we started with the default terrain size of 1000 x 1000. Creating larger Scenes like this can take more effort. I recommend a smaller starting size for your first scene, such as 500 x 500, or even 300 x 300. You can change this by selecting the Terrain object in the Hierarchy window, and then in the Inspector window, click on the Terrain Settings button -- the rightmost of the five buttons in the Terrain component (just below the Transform component). Then scroll down to the Mesh Resolution section of Terrain's options. Change the Terrain Width and Terrain Length as desired.
First, go to the Unity Asset Store and search for Skybox to find potential skyboxes for your scene. Select the desired package, then download and import it into your Unity project.
To switch your skybox to one of the new skyboxes, select Window → Rendering → Lighting, then select the Environment tab and click on the little circle to the right of Skybox Material. Select the desired type of sky for your scene.
The game needs a player view camera and a controller (that moves by player's control) to enable the player to interact with the game. In our first in-class activity (the HeroBorn arena project), we developed a very simple third-person player controller. We saved that player controller as a Prefab in our Prefabs folder. Drag a copy of that player controller into the desired location in your new outdoor scene.
It is exceedingly rare in nature to encounter completely barren terrain, so add some environmental assets to your Scene to give the terrain more character (more "life"), such as trees, grass, bushes, rocks, water, etc...
In many games, the terrain and natural environment start to "set the stage", but it's generally the 3D models, such as buildings, vehicles, and other objects the player interacts with, that are the major focal points for the player's attention. As such, start adding some 3D Models to your Scene.
There are very few (if any) 3D models in the 3D Core project, so a few have been provided in the SLU CS assets package to get you started. However, I would like to see you find additional 3D models on the Unity Asset store and add some of those models to your scene.
Again, when selecting 3D models for your Scene, consider the theme, setting, and/or purpose of your Scene. Try to find models that match with the desired theme/setting.
Note: I know that only having access to the existing, freely-available assets limits your options, so if you can't find good matches, then just use the best options.
As mentioned in class, we'll be using the SLU CS gitlab tools, so if you haven't already, move the Unity project directory into your git folder. Then commit and push up the files to your git repository, as detailed in git-info.pdf.