Mark Barry - Margin Of Error - Technical Journal in Margin Of Error - Individual Portfolio

Mark Barry - Margin Of Error - Technical Journal

A technical journal explaining the work I have done so far in my group project

Week 10

Goals, send presentation material to Shane.

 

Only requirements this week are to send a list of the work done and what’s to be done to Shane so that he can finish the presentation. I don’t need to send on any renders as we’ll be using screenshots from the game.

 

Problems

 

No problems encountered this week.

week 9

Goals, develop a shrub model to help hide the areas where the tree meets the ground and to create a second tree texture pack.

 

I started with the second tree texture pack, it was simple to get started as the trees had already been unwrapped and the renders of the uv’s were combined into one texture previously. All that was left was for me to source the textures for an alder tree and scots pine. Once again I sourced these from cgtextures.com and applied them to the texture map, this time however I made a copy of the texture, enlarged it slightly and layered it under the original layer.  This was to try and prevent the horizontal lines which had appeared with the previous textures normal map.

 

Next I created the normal map by loading the texture map into crazy bump and saving the normal.

 

Finally I created an opacity map in the same way as last week, with the exception of making the solid section on the bark larger, this was to prevent one of the problems from the previous week of the texture not appearing to fit together properly.

 

 

Problems:

 

There was still a problem with the tree textures, the opacity maps work perfectly fine now however the normal maps are still causing horizontal lines which don’t fit with the tree at all.

Week 8

Goals, texture the trees, start gate, gantry, railings and marquee.

 

I started with the unwraps for each model. The first model to be unwrapped was the start gate, I opened the model and applied the unwrapUVW modifier to it, then using the polygon selection tool I selected sides of the model facing in the same direction and used the flatten planar map tool. I repeated this process with each face to create sections which I could easily apply the textures to in Photoshop. I then opened the UV editor window and used the flatten map tool. Once this was done I moved the sections I had created into a more coherent structure and layered them over each other to save space on the texture. I took the time to place the UV for models on separate sides for each set of models. I then took a render of the UV map and saved it as a .png I repeated this process with each of the models.

 

I then took the renders into Photoshop and combined the start and gantry renders into one texture, the marquee and fence into another and the trees into a third texture. This would allow me to reduce the memory required for the game. I then proceeded to apply textures to the renders, I sourced all materials to be used from cgtextures.com. I used chip board for the start ramp, polished metal for the fences, plywood and a slew of banners associated with Downhill Mountain biking in Ireland and I simply applied a green colour to the marquee.

 

The next task was to texture the tree’s I had already unwrapped them and combined them into one texture map. I sourced textures to apply to the trees from cgtextures.com, one texture was for the oak bark and oak leaves, the second was for a Normandy spruce bark and needles. I applied these to the map in Photoshop.

 

I created normal maps for all of the models by loading the textures I’d created into crazy bump.

 

Finally I created opacity maps for the trees so that the rest of the plane the leaves would be placed on would be invisible. I did this by making the opaque sections black and the solid sections white.

 

Problems:

 

The only problems that I encountered where when the textures were loaded into unreal on the models, they worked perfectly in 3ds max but there seemed to be a problem with both the normal and opacity maps not filling out the entire space for the sections in the unwrap. The only solution available was to redo the unwraps however I didn’t have time for it this week.

Week 7

Goals, find the best possibly way to create two separate tree models, create a set of high detailed handle bars with the characters arms attached and texture the bike and arms.

 

After feedback from the group we decided that the trees created from the foliage tool in 3ds max looked the best, it was up to me to create trees from the tool which met with the requirements to be in the game, they looked well and had a low enough polygon count.

The first tree would be the oak, it was already an option within the Foliage Tool and would give a good starting point. Using the foliage tool I created an oak tree which was high detailed, The pruning, density and detail were all set to the highest option. I took a high detail scanline render of this model to be used as the low poly lod model for the game.

 

Next was the medium detailed lod model, I used the same high detailed model and turned down the parameters for the detailing on the tree, I set the density and pruning much lower than before, I then also removed the branches as they wouldn’t be noticeable at a distance anyway. I also set the trunk detail to low. From here I converted the tree into an editable mesh and then onto an editable poly, by doing so the polygon count of the tree was set to 386.

 

Finally I started on the high detailed lod mode. I started with the same high detailed model I used for the render of the low detail in game model. From this model I turned down the pruning and density and I set the trunk detail to medium. Then just like with the medium detail model I first converted it to an editable mesh and then to an editable poly. This brought the polygon count to exactly 1,000.

 

Next I created a spruce tree using the foliage tool in max. I preformed the same steps with this tree as I had with the oak tree to create the low, medium and high detail tree models to be used in game.

 

My next task for the week was to create high detailed handle bars for the bike, I opened the previous version of the bike I had created and found a close up image of the handle bars of a specialised demo 8 from the rider’s point of view. I also researched into what breaks and gear changing systems were most commonly used on the bike. The SRAM Guide R and the SRAM X7 systems. I also found close ups of these parts to aid in there creation on the bike.

 

To create the brakes I started with a simply cone object, I converted this to an editable poly and used extrude to create the place where a screw would be placed. I then created a long, slender box to act as the handle of the brake, I converted this to an editable poly and moved the vertices to create a shape much more like that of the actual break lever. I then created a tube to sit between the lever and the body of the break, I used the move tool and selected vertices to make the cone more like the shape of the actual break body, once done I Attached the pieces together. Finally I created the head of an Allen key screw/hex screw. I accomplished this by creating a cone, I then selected the top polygon on the cone, inset it and extruded it back into the rest of the cone.

 

Next I created a tube to fit the handle bars to the bikes turning column and suspension. I created a box and used the Boolean tool to remove a segment from the tube, I then used the polygon selection tool to select and pull some of the polygons around the gap upwards. I then placed a cylinder into the gap and copied the screw head from the break system. I places this at the end of the cylinder to create a screw. I then selected some of the polygons from the base of the tube and extruded these outwards. I then inset the top of this section and extruded the outer polygons upwards. I then copied the screw head again and placed the copied inside the section I had pulled out. I then mirrored this object on the handle bars.

 

I then moved on to the plating on the front of the bike. I started with a box object and extruded the sides outwards, I then inset these sections and extruded downwards, into the body of the object. I then created tubes which were the same circumference as that of the suspension system on the bike. I then attached these to the box object I had created.

 

Next I created the characters arms to be placed on the bike. I merged the gloves I had made previously and moved the fingers to fit around the handles next I selected the edge around the end of the glove and created new polygons using the non-uniform scale tool, I then selected the edges of these and extruded them back away from the glove to create an arm like structure. Once I had the shape of the arm right I imported the elbow pads and placed these onto the characters arms as well.

 

Finally I moved on to texture the bike and arms, I started with the separate sections of the bike first, the handle bars, the body, the wheels, the pedals and the arms. I selected individual polygons while using the unwrapUVW modifier. I would select polygons facing in the same or close to the same direction, I would then use the quick planar tool to make this selection into a single face in the UV editor, I repeated this process for each side of each section of the bike. Once this was done I opened the individual section in the UV editor, selected all the faces for that section and flatten mapped them. From here I would sort them into their groups and make the unwrap more cohesive and easier to understand. This in turn would make it easier to texture in Photoshop. I repeat this process with all the sections and saved all the new UV maps, I also made renders of all the UV maps which could be read by Photoshop.

 

The last process to the texturing was to take the renders of the unwraps into Photoshop. I used real images of the bike and then used the eyedropper tool to select the exact same red colour used by specialized on their bikes. Luckily the bike is predominantly two colours, red and black. I first used the magic wand selection tool to select the area outside of the UV’s which would not be a part of the bikes texture, I deleted this section. Next I selected the inner parts of the UV map using the magic wand selection tool and unchecking the contiguous box. I then used the paint bucket tool to make this selected area the same red colour I had selected previously. Next I used the paintbrush tool to paint black onto the texture in the same regions as on the actual bike. The last thing to do for the bike was add the specialized logo to the front of the bike.

 

Once the bike was done I moved onto the arms, I unwrapped them in the same manor and simply made the sleeves and gloves two separate blue colours and added a shade of colour close to skin tone to the section of skin visible at the wrist, finally I made the elbow pads black.

 

Problems:

I encountered problems with the unwraps this week, although I unwrapped them as I was supposed to and how I was shown the sections still split on their own into smaller sections, some only a single polygon in size, this made it more difficult to texture the bike then it should have been had they unwrapped properly. There only solution to this problem was to go through the unwrap process again, which was more costly time wise then simply working with the slightly wrong texture map.

Week 6:

Goals, research and create 2 ‘hero’ objects and creation of 2 separate tree models.

With my research into hero objects I found that many Irish forests contain portal dolmens and ruined cottages.

 

The first hero object to create is the portal dolmen, the portal dolmen consist of a cap stone and 3 separate support stones, the cap stone was created by using the box standard primitive and converting it to an editable poly, using the movement tool I moved individual poly’s to add curves and edges so that the box forms more like a natural rock that has been exposed to the weather. The support stones were made in the same manor. I made two separate support stones and then copied one, rotated it and transform scaled it to appear different from the original.

 

The second hero object is a ruined cottage, I first started the cottage by creating a chamfer box, this box was to act as a stone block from which the cottage was made. I copied these boxes across to build the shape of a cottage, I then removed boxes to make room for the windows and doors. Using the box standard primitive I created boxes to act as the plaster on the walls, both inside and out. From here I used compound objects, Boolean to cut out holes in the walls for the windows and door. I then added support beams to the roof and rotated one of them to appear as though it collapsed. Next I created more boxes, converted them to editable poly’s and remodelled them so I could Boolean them from the wall and make it appear as though plaster had broken away in places. Finally I removed one of the corners to make it appear as though a section of the wall had collapsed all together.

 

The two trees being created are an oak and a Norway spruce.

At first I used the AEC Objects -> Foliage, to create a tree, the Foliage tool creates an entire tree with branches and leaves as entities which can be controlled separately using prune and density variables. I used this tool to create the trees for the low lod and the medium lod, The low lod is a render of a tree placed on a plane, the medium lod is a tree without any branches and low detail trunk and the high detail model has leaves, branches and a higher detailed trunk.

 

Although an excellent tool, the models created with the Foliage tool are of far too high a polygon count. Instead I decided to try a different method, the most common technique I found was to create an object such as a sphere or cylinder and use the compound object -> Loft tool and loft the cylinder/sphere to a spline. After working with this technique I soon discovered that the technique no longer works in 3ds Max and I must find another way to create a tree.

 

I started to make the trees by hand, starting with a standard primitive->cone, using several height segments in the cone. I then converted the cone into an editable poly object, selecting vertices and along the height segments, I moved them to create a more organic and realistic looking tree trunk. I then selected a polygon along the trunk and extruded it to create a branch, I did this several time to create a tree like structure.

 

To create the leaves I first downloaded free to use images of oak and spruce foliage from cgtextures.com. I then brought these textures into Photoshop. I used the magic wand tool to select the white space around the leaf and deleted this section, I then used the free transform tool to apply several different effects, rotate, scale, move, perspective, warp and distort, as I copied the leaf to create a cluster of leaves. I saved the cluster.

I then started to make the opacity mask. Once again I used the magic wand tool to select the space which the cluster of leaves didn’t cover, using the paint bucket tool I filled this section in black, I then used select inverse to select the area the leaf covered and filled this space in white. This completed the opacity mask and I saved it as such.

 

Finally I opened the cluster with crazy bump to create a normal map which would give the leaves a sense of depth.

 

To apply the leaves to the tree I created a polygon and applied the Diffuse, Normal and Opacity textures to it. I then placed this poly as though the leaves were attached to the branch of the tree, I repeated this process several times to create a tree that seemed more realistic. The tree didn’t seem quite right however.

 

Problems:

No problems were encountered with the hero objects.

The main problems all came from trying to create the tree objects. First the foliage tool created objects with far too high a polygon count.

After this it seemed that the accepted way within the community of how to make trees no longer worked.

Finally the trees which I made myself did not seem realistic enough. The tasks had to be removed from scrum this week as I would need to spend more time to try and get them right.

Week 5:

Goals, combine work done to date and get it to Shane for presentation.

Sent Shane screenshots of the models done to date to be placed in the presentation.

 

No problems were encountered this week.

Week 4:

Goals, find out how to animate a bike, make some basic animations and find out how to get them working in unreal.

 

I first found instructional videos by one Bruno Brito on the unreal wiki and on his own youtube page. These tutorials showed how best to animate using a custom made skeleton and how to export animations from 3ds max into the unreal engine.

 

Once I had discovered how to create, animate and export a custom animation I started the process myself. The bike required a core bone, much like the pelvis bone in a humanoid skeleton. This bone would be the parent to all other bones. From this parent bone three other bones sprouted, one going to the back wheel, one too the pedals and the last towards the steering column on the front of the bike, these bones would be the parent bones for other bones which controlled more of the bike. The bone heading towards the rear wheel then joined onto a second bone that would control the rotation of the back wheel, the bone heading for the steering column separated into a second bone which stretched along the lent of the column and would control turning, the bone for the steering column then branched into another bone which would control the front wheel, this bone would control the wheel rotation and is the child of the bone for the steering column, the final bone from the core bone went towards the pedals, it then joined a separate bone which would control the rotation of the pedals, this bone then had two bones come from it, one aligned with each shaft that ran to the foot rest of the pedals, the foot rests then had their own bones to control the individual rotation of each foot rests.

 

Once the bike had been rigged I then started on the animations, it seemed to me that the best way to animate for unreal was to create separate .fbx files for each animation as it is impossible for unreal to distinguish between different animations in a single .fbx file. For the time being only three animations were looked for, the wheels rotating, the pedals rotating and the steering going left and right. The wheels were the first animation to do, and the simplest, I set a key frame and the bone positons for the front and back wheel at frame 0, then I moved the key frame to 25 and rotated the wheel 90 degrees, I then increased the key frame and rotation of the wheels in increments of 25 and 90 until the key frames were at 100 and the wheel had travelled 360 degrees. I then exported the .fbx file with the animations included.

The next animation I under took was that of the pedals rotating, I preformed the same steps as with creating the animations with the wheels, the only difference was adding in the rotation of the foot rests. I once again exported the .fbx files for these animations

Finally I animated the front steering column, this was a simple rotation left and right as two separate .fbx files for the two separate directions. Both animations are 100 frames in length and rotate 90 degrees each direction. The two .fbx files were then exported.

Once again the only problems which arose were after the files had been loaded into unreal, for some reason only half the animation was playing for each .fbx file.  A simple solution was to have the full animation play twice in the .fbx file another solution was to manually set the lent of the animations as they were imported into unreal.

Week 3

Goals, finish the mountain bike model for proof of concept, research and model start gates and finishing lines for proof of concept.

 

Researched starting gates for downhill mountain biking and have found three possible gate to use, research into finishing lines and advice from the rest of my team has led to one specific finishing line.

 

All of the starting gate models are not very complicated, they were easily created using standard primitives and Booleans, they were more time consuming than anything else.The finishing line consisted of nearly as much work as the three starting gates combined, the finishing line itself is a large gantry which has an enclosed area following it to allow the rider/player to safely slow down and stop, this area is surrounded by railings, there is also a tent/marquee sitting on a podium where for officials to sit or a trophy to be but on display. Once again the finishing line was more consuming to make then difficult, standard primitives and Booleans were the only methods needed for most thing, I did use an inset on the railing to remove the middle so I could place bars into it.

 

A second task for this week was to add some of the missing pieces to the bike, the pedals, attachments for the handle bars and a place holder for the gears.

 

The pedals consist of cylinders and rectangles. I used a Boolean to cut a hole through the main body of the bike for the cylinder which the bars to the pedals would rotate with, these bars are then connected to a cylinder and rectangle with a Boolean through it to make it into the foot rest of the pedals. The attachments of the handle bars are made from the pipe tool, half the pipe was then deleted and the corners stretched down to from the handle bars to the main steering column of the bike to attach the two together. The gears are simply two cylinders placed in the appropriate positions and sized using the same image that was used to create the bike.

 

Originally there didn't seem to be any problems, however some became apparent when the models were loaded into unreal, there seems to be some kind of problem assigning bounding boxes to the models, for now the bounding boxes which come with the models have been removed and new ones were created in unreal.

Week 2

Goals, create protective clothing used by mountain bikers.

 

Initial research led me to the brand 7, and then to their Intelligent Design Protection (IDP) merchandise, it was highly rated on vitalmtb.com, 7 did not cover helmets and goggles however, for these I found Troy Lee Designs D3 Carbon Full Face Helmet and Smith Fuel V.2 Swift-X Goggles.

 

I had two main problems this week, first, there were far more pieces off protective clothing then we originally thought, this led to an underestimation of my task on scrum. Second, all the images off protective clothing are taken at an angle, making it impossible to use one accurately as a reference image when modelling it.

 

The first problem was a simple fix, simply cut down the protective gear to the pieces that you will see, this limited the gear from around 13 pieces to 5-7 pieces.

The second problem was not so easy to fix, instead of spending hours trying to find one useable image for each piece of equipment I decided to use a male model and comfort fit the equipment to it using the images of the equipment as a rough guide.

 

All the pieces of equipment were modelled using box modelling, starting with standard primitive such as box and cylinder and transforming them to editable polys to shape them better to the model I was using so I could “comfort fit” them and make them more realistic. To add the extra padding to the clothing and helmet I first inset the area I was working on and then would extrude or chamfer the polygons to create a ridge which appeared to be padding.

 

Note: After meeting John on Wednesday he informed me that the average tyre width for a mountain bike was roughly 2.4 inches, I went back to the mountain bike model and applied this measurement to the tyres and non-uniform scaled the rest of the bike to fit with the new tyre width.

Week 1

Goals, create a bike model based off a real world mountain bike used at competition level for use in the proof of concept (poc).

 

Advice from John led me to four possible choices for a mountain bike to use, the Nukeproof Pulse 2016, Specialized Demo 8 2016, Santa Cruz V10 and the YT TUES CF Pro 2016. After some research into each mountain bike I went with the Specialized Demo 8 2016 as I found it the most aesthetically appealing.

Building the model wasn’t very difficult, simply time consuming. The majority of the model is composed of individual parts box modelled from standard primitives such as boxes, cylinders and tubes, converting them to editable polys and taking the time to ensure as close and accurate representation of the original bike as possible. The only exception to this was the use of a dynamic spring, located towards the back of the bike, beneath the seat and attached to the rear triangle.

 

The only problem I had was getting the width of the tyres right, they are too narrow right now.