Thursday, 11 December 2008

Calendar Scene 3 - August

BBQ & Deck Chairs on Sand

 

For my third calendar scene I chose the summer month of August, consequently I sought to portray warm weather in my final render using specific lighting effects to give the impression of sunshine for example.

 

Barbeque Construction

 

To begin with I decided to model a Barbeque, for that reason I examined various images of the different types of barbeques available, to gain an understanding of their construction and the components they can be comprised of.

More reference images can be found at: http://www.flamingbarbecues.co.uk/

 

I eventually came to the decision of producing a gas style barbeque; I then started by using the box tool to model the frame and four legs of the barbeque. First I made an upright box for one of the front legs, this had plenty of width and length segments applied to it using the modify panel so that the mesh smooth modifier I then enabled, gently rounded off the edges of the box. I then cloned this box a further three times and spaced out the new copies evenly as the other legs of the barbeque.

        

 

The tops of the legs were also slanted using the "slice plane" to cut through the top polygons at an angle and then deleting the unwanted remainders. The top of the legs then had to be capped using the the "cap" tool within border sub-object mode, this therefore filled in the holes left in the tops of legs after the slicing process.

 

I then proceeded by creating the bottom rack, again using the box tool to make one side of the rack support by drawing out a horizontal box. This also had numerous segments so I could then apply a bend modifier to give it a slight curve on the x-axis, before doing this I also ensured that the box object’s pivot point was set to the centre so that the modifier was applied uniformly from this point.

 

This curved support was then copied and positioned on the opposite side of the barbeque, the two pieces were then connected by creating multiple struts using the box tool, this group of objects essentially formed the bottom rack.

 

Having done this I then created two metal struts near the top of the legs which will later be used to support the main barbeque/burner element. These were created using the standard box primitive tool and were positioned at the front and back of the barbeque between each set of legs.

 

I then began construction on the shelf supports, starting from a 2D spline using the line tool to draw out a rough outline using bezier curves and corner vertice types. The spline object was closed once I had finished drawing it by clicking the first vertice, the closed spline was then had a "edit poly" modifier applied to it converting it into a 3D shape whilst retaining the line shape in the stack.

 

Due to the fact that it was now a 3D shape, I selected one side of it and extruded it using the extrude tool under "polygon selection" mode of the sub-object level. This caused the shape to become hollow, therefore the side without a face was capped by selecting its border and using the cap tool under "border selection" mode.

 

Now that I had produced a single shelf support it was cloned then mirrored on the x-axis, this new copy was offset and positioned on the opposite side of the barbeque.

 

These two front shelf supports where then selected, cloned and positioned on the adjacent side, at the rear of the barbeque. The four shelf supports where then grouped so that they could later all be selected at once and repositioned if needed.

 

I then produced the shelves themselves in the same way as their supports using the line tool to draw out the required shape as a spline object. This spline was again converted to an editable poly and then extruded to a suitable depth.

           

 

The shelf was then rotated to the same angle as the supports so that it would sit flush against them and the top of the barbeque's legs. Once this was positioned accordingly it was mirrored/cloned again on the x-axis and offset on the other side of the barbeque.

 

As the main structural frame of the barbeque was now complete, I progressed by beginning construction on the top piece of sheet metal which would form the bottom half of the actual barbeque element.

This section of my barbeque this was also made using the box tool, where I drew out the flat base of the top tray. It then had a edit poly modifier applied to it, the polygons on the top surface along the edges were then selected using sub-object level and extruded to an adequate height.

 

Then to produce the angled sides the slice plane was used to cut through the polygons on the front edges. The redundant polygons were then deleted and the hole produced was capped by selecting the necessary border and applying the cap tool.

 

Three thin boxes were then created and attached inside the sheet metal base which will suspend the barbeque grill from the burner/coal area below. These were then converted to editable polys and one row of their top polygon's were extruded slightly to create a small lip for the grill to sit against.

 

The barbeque grill itself was extremely easy to produce as it consists entirely of cylinders. I started by making a long cylinder with a small radius, this was then cloned numerous times along the x-axis and offset using the array tool.

 

This collection of cylinders was then grouped, to prevent me from having select them all individually at a later stage which could prove to be an irritating task due to the shear number of them. Two slightly wider cylinders were then positioned at 90 degrees underneath the main grid to act as their supports.

 

The next feature I constructed was the barbeque's front panel, this was perhaps the most complicated part of the overall barbeque as it involved an array of different tools to reach the end result. To commence with I used the line tool to draw out out the panel's simplified cross-section consisting of bezier and straight line vertices.

 

I then used an edit poly modifier to convert it into a 3D object, where I then extruded it along the whole length of the gap between the front legs.

 

Then I selected a row of polygons along the top edge which were extruded and moved to form a slanted lip at a different angle from the main panel. This method was repeated numerous times a varying angles to produce the final result seen below.

 

To add further detail to the front panel I decided to add dials/knobs on the front which are often found on gas barbeques to control temperature and burner settings.

To manufacture these I started with a line and drew out half of a cross-section for one dial. This then had a "lathe" modifier applied to it, extruding the spline 360 degrees to form a rounded dial object.

 

To introduce extra detail on the dials I used the slice tool to add a couple of rows of additional edges on the front faces. The polygons between these new edges were then moved downwards slightly in the z-axis to create grooves/markings. These are commonly used on dials to indicate to the user which setting is currently selected for example and will help to add realism to my final barbeque. The whole dial then had a mesh smooth modifier applied to it to give it an elaborate looking finish as it it were made out of plastic or rubber for example. The dial was then cloned a total or four times, these new copies were then rotated and positioned centrally on the front of the barbeque's panel.

 

The last part of the barbeque to produce was the burner lid, as another sheet metal like object. This was also produced from a 2D spline that was then converted to an editable poly and extruded.

 

I then added sides to the lid by extruding polygon's on the edge of the lid vertically until level with the base of the lid.

 

The back face of this was deleted using the polygon selection mode and the hollowed borders created as a result where then capped. The reason for removing the back face was due to the fact that the lid would soon be rotated to look as if the barbeque is opened and hinged from the back corners. If the lid had been rotated without deleting the described face it would have intersected through the walls of the barbeque into the grill area. This would have look extremely unrealistic simply due to the fact that a real version wouldn't have this flaw causing a severe lack in usability.

 

I then constructed the handle for the lid using three cylinders, one for the main length of the handle and two shorter ones for the supports. These were then grouped and positioned accordingly on the front face of the lid. Due to the fact that the handle will later be assigned a metal/chrome material I also applied a mesh smooth modifier to enhance its appearance to portray smooth luxurious metal.

 

Deck Chair Construction

 

With the barbeque now completely modeled, I moved onto the deck chairs which were fairly straight-forward to construct with exception of the hanging fabric/canvas material. I gathered a couple of reference images to base my design around and to fall back on if I get stuck at a later stage.

     

 

To start out I used the box to draw out a elongated box to form one leg of the deck chair. The end polygons were then beveled to reduce the sharpness on each end.

            

           

 

It was then given a mesh smooth modifier to round off all the edges, which produced an especially satisfying effect on the pre-beveled end polygons. This was done to convey the appearance of smooth sanded wood, which would typically be used in this sort of construction to avoid having sharp edges which could inflict injury.

           

 

The leg was then cloned and positioned next to the original for the other side of the deck chair. Either end of these legs were then connected by a cylinder which will also act as poles for the deck chair's fabric to be wrapped around.

            

 

Both of these legs were then selected and cloned  for the other legs that make up the deck chair's frame. These were positioned slightly closer together using the "select and move" tool so that they could fit in between the first set of legs. They were also rotated  at an alternative angle to form the seat area which the canvas will later be spread across.

           

 

An additional set of legs were then cloned, however this time the gap between them was increased to the extent that they were marginally wider than the initial set of legs.

           

 

These will form the major support for the deck chair, which in real life would take all the weight of the person using it. They are usually adjustable so that the user can alter the height of the deck chair to their preference. Consequently I wanted to incorporate this feature into my model, therefore after studying some reference images I gathered that several slots had to be cut out of the bottom legs. Therefore I accomplished this by creating a series of cylinders that I used in combination with a "Pro Boolean" to carve out curved slots in the  bottom legs. The cylinders were equally spaced out using the array tool to create multiple copies, these were positioned lower down on the z-axis so that they intersected roughly half-way through the bottom legs. With the cylinders still selected  I cut them in half  by deleting a middle row of their polygon's and then capped them. Now with one of the bottom legs selected I then created a Pro Boolean and used to the "start picking" button to click   on the corresponding cylinder one by one.   This process was then repeated for the other leg and set of cylinders whilst again ensuring that the boolean mode was set to "Subtraction" so that the cylinders were carved out of the legs. 

 

Then to finish off the basic deck chair frame I created a  few metal studs by lathing a drawn 2d spline  in the same way that the barbeque dials were created. These were also given a mesh smooth modifier to exalt their appearance as metal studs, which hold the joints together between the sets of deck chair legs as well as allowing them to rotate.

               

           

 

Next I began to create the fabric material for the deck chair, this was without doubt the most complex element that I produced throughout all three of my calendar scenes. This was due to the fact that it took an extended period of time before I achieved the result I initially intended. I also had to experiment with a few different methods of actually simulating a cloth material before I reached one that looked plausible in addition to being functional i.e. stays attached to the deck chair's poles.

To start with I attempted to use a "reactor Cloth" modifier which was rather complex to say the least. It involved setting constraints such as rigid bodies which the cloth should attach/collide with. Although this worked to a certain degree , when the modifier was simulated either end of the cloth would come unattached for example. In addition the modifier could not be simulated in the viewport, instead it had to be conducted in the "reactor" console where a state of the simulation could be saved and loaded into the viewport. Due to the long winded method and shear complexity of this technique I eventually decided against it as my knowledge of 3DS Max was yet vast enough to fully understand what it involved.    

As a result I fell back on a reasonably easier alternative via the use of the "garment maker" and "cloth" modifiers. To start with I created a basic 2D rectangle which was created using the  "rectangle" spline tool. The rectangle was positioned centrally above the deck chair so that it was just on top of the dedicated fabric poles.

 

An "edit spline" modifier was then applied  so that the corner vertices could be repositioned slightly, having done this I then applied the "Garment Maker" modifier which  basically transformed the spline into a 3D object similar to that if it was converted to an editable poly. However rather than having standard rectangular segments, the garment maker basically creates a tessellated segment surface which provides more realistic results when the cloth is simulated at a later stage.

 

A "Tessellate" modifier was then applied to the rectangle which  basically increases the amount of segments, where it actually adds more triangle segments for example creating a smaller and more intricate pattern. This will further enhance the effect of the cloth modifier once applied as the greater number of triangles/faces will provide the capability for an improved level of detail/realism.

 

I then employed the vital cloth modifier which provides the ability to animate the object treating it with similar physics that apply to real cloth materials, the most essential being gravity. Although this sounds like a daunting prospect, I was in fact surprised by how simple it was to execute. I gained invaluable aid via the cloth tutorial pre-installed inside 3DS Max which I accessed using the help menu, by performing a simple search for cloth. Upon applying the cloth modifier I navigated to the "object properties" menu found under the object tab within the modifier's parametres.

                        

 

On this this screen the pre-selected rectangle is already in the object list, I then highlighted this and assigned it as the cloth object.

           

 

I then used the add function to add the two poles which the cloth would wrap around and become attached to. These poles were set as "collision" objects as these are the items that the cloth object will come into contact with.

 

           

 

Now that these properties had been assigned I had to be more specific by actually indicating the nature of their relationship i.e. I want the cloth to stick/wrap around these poles and drape elsewhere. This was achieved by accessing the "group" selection type within the cloth modifier's sub-object level. This selection type basically resembles vertex mode when converting an object to an editable poly for example. Except the vertices are located in relation to the tessellated segments. The group of vertices directly above the top pole where then selected and the "make group" function was then used to group these vertices, which were then named "top group".

                                 

 

This top group of vertices was then assigned the "Preserve" property within the group selection mode, which will basically retain the assigned groups position, regardless to how the cloth is then simulated. This process was repeated for the bottom where the group of vertices was named "bottom group".

                         

 

Now that all of the cloth's necessary properties had been setup the only thing left to do was to simulate the cloth.  This involved selecting the cloth modifier in the stack and then pressing the "Simulate Local" button under the object parametres. Once this button is pressed gravity is basically applied to the cloth object, pulling it towards the floor of the scene, however as I had preserved selected groups of vertices, the cloth draped over the deck chairs poles without being detached.

                        

 

After doing this I still thought the cloth looked a little stiff, consequently I easily rectified this issue by re-opening the cloth's object properties and altering the "U Stretch" and "V Stretch" amounts, which I lowered from the default "50" to "5".  I then ran another simulate function; this time the cloth sagged a lot more in the middle of the chair, producing the curved and loose look I was aiming for. The ends of the cloth were also wrapped closer to the poles by simply moving the vertices around each pole i.e. so that the loose/draping ends could not be seen.

 

With the deck chair now complete I cloned the whole thing so that I had two of them in my scene, one of these will be given a red striped canvas and the other a blue one, once I move onto the texturing phase.    

 

The only other element yet to model for this scene was the terrain, which also needed to portray a beach/sandy environment.

As a result I initiated construction on the terrain starting with a square plane, which I then intersected with a cylinder using a boolean to create a cylindrical plane with the same amount of segments. This same method was used to produce the snow terrain for my December Scene, which I earlier described. However this time round I will just apply a displace modifier in combination with a smoke map, rather than making a dedicated height map as I don't require any specific terrain features for example. It was then converted to an editable poly so that I could then apply the displace modifier to the terrain.

 

As a result I then applied a displace modifier to my cylindrical plane, I then created a separate smoke material which was given a size of "200" and loaded into the displace map of a blank material. This smoke material was then instanced into the map slot of the terrain's displace modifier which I then assigned a negative strength of "-21.6" to create soft ripples in the terrain's surface to replicate a wind swept sand type of effect.

                         

         

                        

 

Texturing the Scene

 

The first model I opted to render was the deck as these should be the most simple to texture due to the fact they will only require 3 different materials.

As the separate part of the deck chairs were not attached to each other I was able to un group the objects and texture them individually without the need of creating a "Multi/Sub-Object" material, which would have required material/poly iD's to have been set.

To begin with I imported a wood bitmap into the diffuse slot of a new material. Although this material was a bitmap I actually produced it using a free program called "Wood Workshop" which is basically a seamless texture editor that has a vast list of preset woods which can be tuned to the user's liking. This application can be downloaded free from http://www.spiralgraphics.biz/products.htm and is an extremely beneficial tool to have at my disposal which I am thoroughly glad I discovered. Below is an image of the maple wood I produced using this program, although it doesn't look completely authentic it supplied more than enough detail to the legs of my deck chairs.

            

 

The specular level was left on "0" as I wanted the maple to have an unvarnished finish, where the wood looks like it has been sanded smooth and then left in a natural state.

 

This material was then applied to both of the deck chairs legs, supports and poles. Each of these individual elements then required UVW Maps and Unwrap UVW's so that the textures could be scaled and positioned as desired.

 

 

I then produced a canvas material for the cloth of my deck chairs using Photoshop. This was achieved by creating a red and white stripped square, which then had a "texturizer" filter applied to it in Photoshop using the canvas material preset. The scaling and relief of the effect was then adjusted to give a proportionate 3D effect to the texture image. This was then saved as a Jpeg file and then imported into 3DS Max on a new material's diffuse slot.  I also created a bump map for the canvas material by converting the original image into greyscale in Photoshop, this again was then imported into Max and assigned to the material's bump map slot with a value of "30".

 

Like the maple material I also did not give this material any specular highlights due to the fact that cloth in real life has virtually no reflective or shiny properties.

         

 

In order to get the canvas bitmap to appear correctly once assigned to the cloth object I had to use a combination of a UVW Map and then a Unwrap UVW so that the material could be rotated 90 degrees and then scaled down accordingly.

 

The same process was used to create another canvas material except this one was blue and white for the other deck chair in the scene.

 

The next item I textured was the bottom rack of the barbeque which I intended to be a darker wood material than the maple used on the deck chairs. After researching the internet for various type of wood I eventually found a bitmap that I thought would be suitable. The image itself is also seamless, meaning that it can be tiled in any direction and seams between copies of the textures will not be seen.

 

This again was inserted into a new material's diffuse slot and given the same properties as the maple, including very low specular highlights. The required parts of the bbq then had this texture assigned to them, however each of them had to be scaled and positioned accordingly to make them look the material look natural.

 

 

The same material was also given to the shelf's and their supports, which again were scaled/positioned using the corresponding modifiers.

 

I then  proceeded to to create a material for the barbeque's legs which I wanted to be a matte black metal. I then accomplished this by creating a new raytrace material which was given a very dark grey as its diffuse colour. I then introduced a "falloff" map in the diffuse map slot which was set the type of "Fresnel" and a direction of "Viewing Direction (Camera Z-axis)". This will basically give the material a soft matte finish with a hint of specular highlights and environment reflections.

       

      

 

This material was then applied to the barbeque's legs and burner rack supporting struts, however this time around no UVW Map's needed to be applied as the material consists of a single colour without effect maps or bitmaps.

 

I then continued by producing another metal material for the lid and bottom burner surround. This started from a raytrace material which was given a bright red as the diffuse colour. As I wanted this to appear as a glossy paint finish I also vastly increased the specular highlight amounts including "99" on specular level and "15" on glossiness.

       

 

It was also given a red and white falloff map on the diffuse slot which helped to increase the glossiness/highlights of the material without losing the red colour.

      

 

Finally it was then given a Noise map on its bump map slot to create a textured metal surface, similar to that found on real barbeques which are designed to resist heat and endure for long periods of time.

           

           

 

I then created a chrome material for the handle and grill of the barbeque. This was achieved by creating a "Shellac" material which basically combines two materials to form sort of pearlescent appearance where both materials can be seen through one another.

         

 

For the base material I created a standard raytrace material with a black reflection colour to simulate chrome. This was also given a falloff map in the reflect map slot to enhance the specular highlight levels with a "Perpendicular / Parallel" falloff type which basically creates elongated highlights on the materials surface.

      

      

 

Then for the shellac material I changed its diffuse colour to black and the reflection colour to a light gray, the specular level and glossiness was also increased on this material to further enhance the gleam on the end material. As this material was also given the type of raytrace the chrome will reflect nearby colour and object within the scene. The material was then applied to the front panel, grill and handle of the barbeque in addition to the studs on the deck chairs.     

       

 

I then created a shiny gold material for the dials on my barbeque, which was created by copying the chrome material and simply changing the diffuse colour to a browny/yellow.

 

However as I wanted to apply the black metal material I made earlier to the base of the dials, I had to create a new "Multi/Sub-Object" material due to the fact the dials and bases were single objects. The bases were given an material ID of "1" and the dials an ID of "2" using polygon selection mode within the sub-object level. This Multi/Sub-Object material was then applied to the dials which textured them accordingly seen in the image below.

        

                     

 

Due to the fact that this scene was for the month of August I wanted to portray a sunny outdoor environment, therefore I acquired a bitmap of a bright blue sky which I set as the scene background using the environment map slot in the "environment & effects" menu.

     

 

The last item left to texture in my scene was the terrain itself, I purposely left this until last, as creating a sand type of material within 3DS Max was quite memory intensive and dramatically slowed down the speed of the application's interface. This was due to the fact that my terrain was rather large and already had a displace modifier applied to it, bumping up the overall polygon count. I considered using just a bitmap of sand acquired from the internet but this proved problematic when applying it to the terrain due to tiling and seam issues.

To start the sand material I selected a new material and applied a "mix map" to its diffuse slot. This had two colours, brown and a creamy/sand colour assigned to the colour slots.

      

 

The "mix amount" slot was then given a falloff map which basically spreaded out the two colours based on the falloff direction, which was set to "World Z-Axis". The "mix curve" was also adjusted to enable greater control over the falloff/gradient effect.

      

         

 

Then to finalize the material I added a mix map onto the bump slot to create a grainy textured effect to portray particles of sand. Again the two colours of this mix map were set as a dark brown and a mustardy yellow, each of these colour slots also had noise map applied to it, which was set to "fractual". This exaggerated the grainy effect even further which enhanced the sand like appearance. The previous falloff map was also copied onto the "Mix Amount" slot of the material's mix map in the bump map slot.

       

       

       

 

The sand material was then applied to the terrain which can be seen in the screenshot below.

 

Now that my entire scene had been textured I simulated outdoor sunshine using a "skylight" which was positioned high above the terrain.

         

 

I then accessed the "advance lighting" parametres found within the render setup menu, where I changed the advanced lighting type to "light tracer".

      

 

Light tracer is a specific lighting style which simulates daylight and produces nice soft shadows, conveying an overall more realistic scene. It also works in combination with skylights, consequently as I had already put a skylight in the scene the light tracer detected it and took it into account when applying the advanced lighting effects. The image above for example demonstrates this point, where the tick box next to "sky lights" has automatically been enabled and the right number of light next to it "1" has also been selected. The only downside with employing this is that it vastly impedes render times and as I experienced, often locked my computer up when attempting to render. Due to this fact my scene took a very long time to render once I had positioned a camera in a logical place. However I was extremely pleased with the outcome despite the problems that light tracer caused.

 

Final Scene - August

Click this link for full size image