Download - Unity 3D level design workflow
Jake Hyatt
1
Unity 3D level design workflow
I have been asked to design and create a level for a 3D game which will be a fist person one. I have
decided to go for a horror theme for my level as I feel that this type of game is very big at the
moment and there are also many things that is associated with horror. I will aim to create a map that
is forest based but have paths and areas which will all the isolated from each other. The map will be
set in the middle of the night so that you instantly get a bad feeling as games set during this time are
usually horror based games. I will include a variety of trees, a mansion, a campsite, a wrecked car, an
outhouse and a bridge that will cross over the river that flows through the middle of the map.
Jake Hyatt
2
Firstly I opened up Unity to create this 3D map as this is the best software that I have available to
me, I then created a new project and started to create the terrain of the map. I decided that the
player would be completely surrounded on all sides by mountains so that it created a feeling of them
being trapped so I used the raise/lower terrain tool and started to roughly mould where the
mountains would be and once I was happy with the positioning I began to raise the mountains to a
tall height to loom over the player.
Next I smoothed the mountain tops down by using the smooth height tool because the tops were to
jagged and rough looking, even though I want my landscape to look frightening I thought that the
tops looked rushed and unprofessional which is why I decided to smooth them down slightly. Aft er
this I created smaller mounds in front of the mountains by using the same process to raise them and
to smooth them down.
Jake Hyatt
3
Then I decided that my landscape would have a river running through the middle of it because I
thought that just mountains would look dull and boring. I used the paint height tool which allows me
to type in my custom height and once the brush has reached that height it wouldn’t raise the surface
anymore. I chose to set the height to 30 as I wanted the river to have depth to it; I painted the
ground until it was all raised to level 30 on the Y axis. However after raising the floor the mountains
looked miniscule compared to what they were so I had to raise and smooth the mountains again
until I was happy with their height.
After I was satisfied with the way which my landscape looked I next was going to paint this
landscape with different textures depending on the area. For this I used the paint texture tool which
would allow me to drag in pre-made textures into this tool and then I could paint it wherever I
wanted (I could also change the size of the brush and the opacity of the brush). When painting the
big mountains I used a rock texture as it was the most suitable, for the ground I used a grass texture
as it was the most suitable and for the smaller mountains in-between the ground and the high
mountains I used a texture that was a mixture of grass and rock blended together to show the
process of change between the other 2 so that it wasn’t obvious lines where the grass ended and the
rock began.
I then added the water to my level by simply dragging the “Nighttime Simple Water” into the scene.
As it was only a small pool of water when it was spawned into the scene I had to scale this water
pool by stretching it until it filled the gap that I left for where the river would be and until it created
like an ocean around the entire map.
Jake Hyatt
4
However the bottom of the river was un-textured so I decided to create my own texture for this. Off
Google images I got an image of gravel as this is the texture that I wanted to represent the bottom of
my river. I imported this image into Photoshop, after I cropped the image down so that I had the
part that I wanted I went to Filter > Other > Offset which allowed me to see what the texture would
look like when it was painted onto my landscape. While in this view the lines across the middle were
clearly visible so I used to clone tool to make it look more natural and generic, when I was happy
with the result I saved out the texture and then imported it into my unity project. Following this I
used the paint terrain tool and added the gravel texture to the paint tool and then I had to change
the size of the brush as the last time I used this tool to brush size was set extremely high as I was
painting the whole landscape instead of just a certain section like this. After decreasing the brush
size I carefully painted the bottom of my river with the gravel texture that I created, if I was to do
this again I feel that I would change the texture to a different one as I felt that the one I used did
resemble a the bottom of a fish tank but it was too late to change it as I had already moved on.
The next task was to add a skybox to my level which would ultimately define which type of genre my
level would best be suited to. For my skybox I chose a starry night as I wanted my game to have a
dark feeling to it so that it could be used in a horror game of some sorts. To add the skybox I
selected the terrain in the hierarchy menu, selected add component, then went to rendering and
Jake Hyatt
5
selected skybox. After I selected this I just simply dragged the pre-made skybox into the custom
skybox tab and then the game generated this skybox above my level for me.
As the skybox was only there for looks and didn’t actually create any light I have to create 2
directional lights on my level to set the mood with one of the directional lights being a moonlight
colour which the other one was just black. When I had the colours I had to mess around with which
way they were facing by rotating them, I also had to keep adjusting the intensity of each of the lights
until the level was visible but it didn’t make it too easy to see what was in front of you. After I was
pleased with the brightness and colour of the level I decided to give my first person controller
spotlight which would act like a torch as it looks forward and is in a circular shape, I set the range of
this light to 35, the colour was white and the intensity was 8. I felt that these settings created a good
torch effect but I did have to try multiple setting before finally deciding on these ones. When I was
happy with the torch a selected it in the hierarchy window and attached it to my first person
controller by dragging and dropping it.
After the terrain, the textures, the skybox, the colours and the water were completed and to a
standard that I was pleased with I started to import assets from the assets store starting with the
Jake Hyatt
6
camp set which was already a set scene which you would import into your own unity project and just
drag it into your level. However when I did this I had issues with the set scene as it didn’t have
collision so to fix this I went to each model in the project tab and selected “generate colliders” for
each one, I then deleted the camp scene from my hierarchy tab and then re -dragged it back in to
load the newly generated colliders. Despite doing this the collision still wasn’t working so after a lot
of trial and error I finally found a way to do this, I had to individually drag in each object within the
camp set and personally place them myself so I created my own camp scene which would be the
starting point for my first person controller. When I was delighted with the way the camp looked I
tested to ensure the collision worked which it did.
The next asset that I imported was a wrecked car as I thought that an abandoned car in the middle
of the woods would emit a scary vibe as it leaves questions in the players mind wondering what
happened to the people, where they are and what could have done this to the car. I placed this car
quite a distance away from the camp site as I didn’t want it to visible from the starting point
meaning the player would have to walk there. Along with this I imported a jerry can (fuel can) and a
water well as the area just seemed too empty with just a car there so after dragging the jerry can
into the level I scaled it down and made it look like it was leaning against the car but with the well I
had to scale it up as it would have been smaller than the car and looked unrealistic if I left it how it
originally was.
Jake Hyatt
8
After the first two areas were complete I began to focus on the other side of the river as it had
absolutely nothing there so I needed to populate it with assets that I felt would work well and look
good together. I imported five buildings and a water tower which were all part of a shanty town
package but I had to download and import each one separately. After they were all in the scene I
had to rotate some of them so that they were in this semi-circle shape with the water tower on the
side so that it looked like a small, isolated town that nobody had ever spoke about. I also had to
resize each building based off the height of my first person controller as I wanted the building to be
of a realistic height (except the water tower as I wanted that to be quite tall) to make the player feel
more immersed in the game. Finally to finish this segment of the map I imported a powerline pack
which included three different powerline poles, I only used two of them as I didn’t want them to
take too much attention but I did use one of the poles to make it look like it had fell on top of a
building and slightly destroyed it so that the building had a reason for being the way it was.
Jake Hyatt
9
The next area that I worked on was the corner next to the river and I decided that this area would be
a logging facility however I couldn’t find a suitable building so I had to settle for just these logging
machines. I chose to only put two of them in as I didn’t want the area to seem too crowded but
looking at the final product I feel that I made these machines too large which takes away from the
game being realistic which isn’t what I wanted to do.
Jake Hyatt
10
The next section that I worked on was just to the right of the logging machines and I decided to put
large oil tanks here so the player could navigate around them to look for an object or for a key (if the
game was complete). To set this up I imported an asset of an oil tank and dragged it into the scene,
after this I had to move it into position, scale it and generate colliders so that the player couldn’t just
walk straight through it. When I was pleased with what the oil tank looked like I just simply
duplicated it 7 time and moved them into a different position to create this area. The reason I
duplicated one is because if I tried to perfectly scale each one separately it most likely wouldn’t have
worked and all the tanks would have been a different size making the level look odd.
Jake Hyatt
11
The next thing that I did is that I fenced in the oil tanks as I only wanted there to be one
entrance/exit in case I wanted an event to occur when the player was in this area. It also just adds
more detail and aesthetics to the level in general, with these fences I had to use the same process as
the oil tanks where I brought in one fence, moved it, scaled it and generated colliders. I would then
duplicate the fence and move it along until it looked natural and when I came to a corner all I had to
do was rotate the fence 90 degrees and continue, I did this until the fence was complete.
Jake Hyatt
12
Next I wanted to add some darkness and mystery to my level so I chose to add this asset (rune
stone) and made it quite large, the asset also has an engraved symbol on the front which brings
questions to the players mind. When on the ground you can see that there is something on the floor
and with a bird’s eye view you can see what it is. I decided to create a blood texture in Photoshop by
using the same process as the gravel texture. I changed the brush size to the second lowest and
attempted to paint a pentagram on the floor around the rune stone to add evil to the level . Also
when playing the level there is smoke around the bottom of the rune stone but for some reason you
aren’t able to see it when in this view.
Jake Hyatt
13
Towards the end of my level I added lightposts into areas where the directional light wasn’t facing so
that the player could see better in that area instead of it just being pitch black. I imported the asset
assuming that the light would actually work but it didn’t so I had to create a spotlight, move it into
the top of the lightpost and when all the setting were correct I attached the spotlight to the lightpost
by dragging and dropping. Finally I duplicated tis lightpost and put it in places where I thought the
map was too dark so that the level was visible to the player.
Jake Hyatt
14
Second to last I imported this bridge asset into my level but the bridge was too small to fit over my
river and changing the scale just ruined the look of the bridge and made the gaps between each
bright plank too far for the player to just simply walk across. To fox this problem I had to duplicate
the bridge multiple times until it fit across my river and so that the player could comfortably walk
across without falling down into the gaps.
Jake Hyatt
15
Finally I created a dirt path texture in Photoshop using the same process as the other textures that I
personally created, I chose a reasonable brush size and connected each area by a dirt path so that if
the player follows the path then they would get to experience each section of the map. I also
painted the standard asset tree anywhere that there wasn’t a created area or a dirt path to create a
forest look.
(Screenshots taken after level was created).