Tuesday 24 March 2015

Unity Project (Spring Submission): Last Stand

This post focuses on our spring submission project.

We were asked to design and build a third person, flying action game. It also has to have a high score system in place.

We grouped up into groups of 4, my group consisted of Me, George, Reece and Jay. We immediately set about assigning roles and designing our game. After an hours discussion we settled on designing a third person game set in space. This way we give ourselves freedom to design whatever we like and we don't have to create terrain under the player, this lowers the poly count and frees us up some time.

We each set about designing different parts of the game. I was tasked with designing and modelling a space station that the player will be defending.

I started out by doing some quick colour sketches for my different ideas.

I eventually settled on designing the station on the right of the page.


As a group we created a one sheet describing our game. you can see here early concepts such as models and drawings.

First Draft One Sheet.

Modelling the Station

I modelled the station in different stages, I started off designing the gun pods attached to the ship then moved onto the main body. I was trying to create a futuristic design but retain mechanical elements such as hard edges and complex framework.


The framework is very high poly so I will probably have to remove some girders or simplify them down.



You can see here how elements of other designs I created during the concept stage made it onto the model.

Re Modelling

Unfortunately I lost a copy of the model containing vital changes to my model. This was due to a computer crashing without me saving. I remodelled the main body and imported the assets I created into this new scene, I then pieced them all together to create the new station.


You can see here how I made the main body as close as I could to the original. It is however thinner than the original.




I followed my original sketches as closely as I could. And I added the gun pods complete with turrets.

Modelling the Turret

The turret is the highest poly object in the scene. It consists of over 100,000 tris. This is obviously too high to be placed into the game however I wanted to try and challenge myself with this design. The turret was inspired by cannons used on attack helicopters used by the US military. Another source of inspiration was the Thompson sub machine gun used by gangsters in prohibition America. They utilized a drum magazine to achieve a high rate of fire, the cannons I designed are also made to have a high rate of fire.





Creating Normal Maps For The Turret

Because the turrets were so high poly I couldn't place them straight into the game without creating performance issues. I chose to bake the detail down onto a low poly version of the turret. To do this I needed normal maps. To create the normal maps I used the 'Transfer Maps' tool in Maya 2014. I placed an envelope around the high poly turret and baked it onto a low poly. I then took the normal maps created in Photoshop to tidy them up.


Transfer maps tool, creating an envelope.


Tidying up the normal maps to create a clean texture.


Applying the maps.

Mapping and re sizing the uv snapshot.


Encountering Problems With the Scene/ Station

I was finally ready to apply the maps to the station, however I unfortunately encountered problems during this process. The textures weren't applying correctly.

I decided to place the station into an early build of the game and fly around it. I did this to get an idea of the scale/ proportions of the model. It wasn't good news. The station was massively out of proportion with other parts of the station. There were also other changes I wanted to make to improve the design and optimize the geometry. The station maxed out at 1.7 million tris. this is way too much and won't run properly in game. I decided to optimize the model best I could and change the proportions of the station.




Re Modelling

I went back into the scene and started to make changes to the mesh. I extended the main body of the station and reduced the size of the turrets. I also added detail to bake down onto the hull. I removed excess framework and added the low poly turrets complete with normal maps.



You can see here how I extended the body and removed excess geometry.
I decided to scrap this model and start a new one, I made this decision to start over due to problems with the mesh and texturing. I also struggled to reduce the number of polys down to a reasonable level from 1.7 million. I will export certain parts of the station and use them again on the new design.

Starting Again

I restarted the modelling process and created a cleaner more defined model. I began modelling using another early sketch for reference. From this point on wards I tripled the size of the station by duplicating the body twice to create living quarters and a communications array.


Communications array.
Once the model was complete I began texturing piece by piece the hull. I created seamless diffuse and normal maps using images found off of the internet.
I took them into Photoshop to create them.



I made all of the textures using Quixel Suite.



Example of a diffuse map.

Example of a normal map.


All of the textures used on the station.








Using 3DO to preview the textures before use.

Applying the textures to the mesh.


because I triangulated the mesh I had difficulty applying the textures evenly. However I fixed this by selecting all of the faces on one surface and clicking 'planar mapping' this made it a lot easier to place my textures into proportion.

Station with a few maps applied.

Applying a normal map to a uv snapshot to get the scale correct.
Once I had the station modelled and fully textured I lit the scene and rendered some images.

Here is the station completed in Maya.















Taking the Station into Unity

Once the station was complete I exported it from Maya as an FBX and embedded the media. This took the model complete with textures and normal maps into a unity scene. In unity I applied animations to certain parts of the ship. I also added lights to create shadows cast across its surface.










I think the model looks much better with lights applied in unity than it does in Maya. Once any changes had been made to the station I compressed the station into a unity package file. This allowed me to create a prefab that I could drag and drop into any unity scene.

Code I Wrote For The Game

I wrote out some code that meant that whenever the main player ship fires it plays the noise of a laser gun firing. It also changes the pitch of the sound meaning that every time the gun fires you get a different sound.



Sound Effects I Downloaded For The Game

I have in total between 10 - 20 sound effects all organised into separate files ready to be placed into the game. Unfortunately most of these haven't made it into the final game, we had problems with the code for our scene that removed the sound. Me and the rest of our group attempted to fix the problem however we have ran out of time and are not able to fix the problem in time.

All of the sound effects were sourced from freesound.org.



Station In Game



Artwork created for the game using a render and Photoshop.
Here are a selection of screenshots from in game. You can see the station fully lit and textured.










Overall I am happy with the way this project turned out. It was stressful at times however I have learnt from this process. Texturing was not something I felt comfortable with before this term, however now I feel I have a good knowledge of basic texturing. I am also happy with the final design. The lighting works well and helps to create a sense of depth and place. The design also matches the design of the ship and is clearly distinguished from the organic design of the aliens. 

No comments:

Post a Comment