Wednesday, 14 May 2014

Edmund Aubrey - Treeman UVs and Textures

My final piece for the vertical slice was uvw mapping and texturing Joe's treeman model that he made.


I used roadkill to unwrap the tree, which was tricky due to how many parts and little time we had left to finish the project.


I sculpted the tree in mudbox, then painted the textures over the top using the paint and projection tool, before extracting the diffuse and maps.






Edmund Aubrey - Environmental Assests

To make up for our lack of environmental assets, I did a couple of additions to the scene.


I made some columns so that the player can jump and climb, these were to replace the place holders in the pit at the beginning of the swamp.


I also did the textures, sculpting and maps for Joe's Tiki Mask Models.


I did some textures for the lava area, and for the web obstacles.



Edmund Aubrey - FireFly Sculpt and Rig

Nick modelled the FireFly enemy for practice and Ash did the diffuse for it. They sent it to me for sculpting and rigging.


I used Ash's diffuse as a guide to sculpt the model, which I then extracted as a normal map and AO map to give more detail to the model.

I then brought the fly into Maya so that it could be rigged and sent to Nick for animating.


I was happy with the result of the normal maps as I felt it completed the model and the effort Nick put into it.






Edmund Aubrey - Giant Tree

Due to our environmental assests being behind, I had to pick up some of the slack. We needed a giant tree for plat forming in the scene, but due to time constraints there were a few issues, but I did get the model done.


I started with the tree stump base mesh from Mudbox then I extruded it and warped it into the shape of the tree we wanted.


I extruded branches and mushrooms as platforms and tried to predict the overall jump and distance. Unfortunately we did not know how to export the Unity scene as an FBX at the time, which would of made this process much easier to create the model for platforming purposes.

However when thats done I unwrapped it in roadkill.


I sent the tree into mudbox to be painted and sculpted, before we placed it into the scene.


I was happy with the result, however it did not work well as a plat forming element and since we were pressed on time there was little changes that we could of done. If the environmental art had been done earlier I think we could of made it a stronger platforming element in the scene.



Edmund Aubrey - The Enemy Monkey

For the enemies in our world we decided to go with the Monkey and Firefly these two were the enemies that were most likely to be done in time.


I started with a low poly sculpt model this time round, as I wanted to do most of my work in mudbox. Since one I was happy with my simple geometry I sent it to mudbox to be sculpted.


Most of the work and heavy lifting was going to be done in the normal maps so I made sure to concentrate on a higher quality sculpt. I used the fur stencil often to get the right affect for the clumps of hair.


I painted the textures in mudbox, but I decided the monkey needed a lot more detail so I started experimenting more with planes and texture cards like I did with the fur for the otter.


I also created a Rig for Nick to animate the character, using the same method as I did for the Otter.


I was very happy with the results especially the use of planes to create additional geometry and texture, I learnt alot when it came to layering them to create interesting models and shapes.


Here's another render from different views.


Overall I was really happy with the monkey, I managed to put him together in a much quicker time with as much quality as the main character almost. With this character I can see my skills have indeed improved. If I had more time I think I would of created additional hair and fur planes on his body.

Edmund Aubrey - Lou the Player's Character

Using my final concept design Lou I began work on creating our play character's model.


 I began with reference cards for my character, then just began by simply box modelling the body using the similar technique to the minotaur box modelling.


I refined the outline and details trying to align it to the reference cards.

I forgot to take anymore WIP screenshots I'm sorry :(

But my process was to finish all the models, bake an AO map took it into photoshop to make a diffuse then used nDo2 to bake a normal map.

Once I was done with modelling the character and getting the majority of the texturing done, I sent it into Maya to create a rig for Nick to start animating with.


This was the first model we put into the game, but there still improvements that needed to be made.

Once I was done with the first iteration of the model, I decided to begin work on improving the textures as Tanguy suggested:


This was our final texture and design for the character.


Here he is from different angles.


This is our character with the different masks equipped that he could obtain throughout the game.

Overall I was very happy with my result of the character. I feel I managed to achieve the exact concept and design we set out for him, its just unfortunate that our camera is a little too zoomed out so we can not see the details of his model. I've also learnt to model and texture better for the project which has helped me out greatly for creating the other characters.

Enemy AI System

The biggest thing I worked on was the enemy AI system. I combined unity's pathfinding and navigation system, NavMesh, and my own code to create this.


I started off by defining an enemy patrol zone. This is an area where an enemy will randomly patrol until they detect the player, when they will then chase and attack the player. I want to stress that this isn't using any of unitys colliders / triggers. This is all calculated by maths and combining a Unity editor script to visualise the area. The cube is there as an obstacle to test the path finding.

My next task was to define an enemy's line of sight to detect the player. My first thought for this was to use a mesh collider, so I modelled a line of sight to use as a mesh collider. (below)





Unfortunately, there is a(nother) bug with Unity, mesh colliders do not detect collisions when another collider is fully within the mesh collider. This should be easily avoidable by checking one check box called "convex", but this only breaks it more.

So I set out in the same way that I did with the patrol area, I ended up defining my own line of sight using maths (lots and lots of maths, so much maths that I started to forget the concept of maths), and drew the area in the scene using another editor script.





The four lines coming from the monkey's eyes are its line of sight, much like the mesh collider. The lines turn red when the enemy detects a player. I also coded in the ability to hide behind objects; an enemy will not see you if you are behind an object.

(an enemy thats detected the player)

The breakdown of the features are:

Enemy's will randomly patrol their zone
The will constantly search for the player
Pre checks ensure that a player will only be detected when they are not behind an object
Enemy will start to chase and attack player when detected
When the player is far enough away from the enemy, the enemy will return to their patrol zone and continue to patrol.

I am extremely happy with my outcome, I believe I have made quite a sophisticated system and it reflects all my learning with c# this year.

HERE'S ALL OF THE AI CODE





ALL OF THE ENEMY SIGHT SCRIPT