Topics: The Unity 3D game engine, 3-D scenes, terrain editing and texture painting, skyboxes, trees and foliage, scene lighting, character controller, water, and 3D models.
Related Reading: Class notes, Chapter 6 of "Unity 2017 Game Development Essentials"
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.
While you have access to Unity Pro on the classroom computers, for this and later assignments you will probably want to install Unity Personal Edition on your own computer. To do this, first download Unity 3D. I recommend installing the same version of Unity as used in the classroom (version 5.5.1 in Fall 2018). Here are links to the installers for Windows and Macs:
After downloading the file, double-click on it to begin the install process. When asked which version to install, select Unity Personal Edition. You will need to create an account with Unity, but it is otherwise free to use.
Start off by creating a new Project. If you already started one in class, you may continue with that Project. When creating a new Project, remember to select the appropriate initial assets (e.g. Characters, Environment, etc.)
A singe 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. Double-clicking on one will open that Scene in the Hierarchy and Scene windows.
Following we'll 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.). You can find a variety of terrain textures and environmental assets on the Unity Asset Store.
Note: As of 2018, Unity changed the design of the Asset Store, but you can still use the old store design, if desired. Below is a direct link to it for access via web browsers, but within Unity, look for the "Shop on Old Store" option in the upper-right corner of the Asset Store to switch to that layout -- I think you'll find it much easier to find assets on the old store
As discussed in class, in the textbook, and in the Unity online documentation, select Window → Lighting, then click on the little circle to the right of Skybox in order to select a skybox for your scene.
First though, you'll need to find a skybox that you like on the Unity Asset Store. In the Unity Asset Store, look under Textures & Materials → Skies, and you'll find a variety of great skyboxes to choose from.
After you select a Skybox, adjust the Intensity and/or Color of the default Directional Light object in your scene (listed under the Hierarchy window), which serves as your "Sun". The default intensity is 1.0, and the default color is a kind of a light cream color, with an RGB value of (255,244,214). Adjust these as desired to match the skybox and theme.
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. As discussed in class, add a player controller to the Scene. I recommend the FPSController -- Unity's First Person Character controller -- for your first Scene. The Third Person Character controller is tougher to use, but you're certainly welcome to experiment with it, if desired.
You'll need to import the Characters asset package if you haven't already. You can import this under the Assets → Import Package → Characters option on the menu bar. Once you have that package in your project, you'll find the First Person Character prefab under the Standard Assets → Characters → FirstPersonCharacter → Prefabs folder in the Project window.
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...
Again, a plethora of good, freely-available options can be found on the Unity Asset Store. Check out some of the popular, highly-rated packages, or try sifting through the Asset Store for some of the more distinct and esoteric options...
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 Standard Assets that come with Unity, and there's only a couple of buildings and a few small objects in the book's asset package, so I encourage you to look at the free assets available in Unity's Asset Store. This can be accessed from within Unity via Window → Asset Store, or within the center window by select the Asset Store tab, which is just to the right of the Scene and Game tabs.
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.
Suggestions for creating your Scene/level:
In order to submit your assignment, you need to export all the assets affiliated with the finished Scene into a Unity package file (file with .unitypackage filename extension). To do this, first select the Assets folder in the Project window, and then select the appropriate Scene file (file with .unity filename extension) in the assets list shown in the window to the right, as shown here:
Then, right-click on the Scene file and select Export Package..., or on the menu bar, select Assets → Export Package... This will open up the "Exporting package" window. At the bottom of the window, make sure the "Include dependencies" option is checked, then click the All button. Finally, click the Export... button to open the file dialog window, in which you enter the filename of the package, and the location (directory) in which to save the package (by default, this is the directory containing your unity Project).
When creating a filename for your package, it would be helpful if you would name your package using the following format:
{SLU login}_hwk3_project
where {SLU login} is your SLU account (and email account) name. For example, for a student whose email was jsmith7@slu.edu, the file would be named jsmith7_hwk3_project (which, when unity adds the .unitypackage filename extension, would be the file jsmith7_hwk3_project.unitypackage).
After creating the Unity package file for your Project, upload it to DropBox, then share that file with the instructor in DropBox.
Alternatively, if you have your Unity project completed at the start of class on the day the assignment is due, you can get a USB stick from the instructor and copy the Unity package file onto that USB stick.