<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>maximile.net</title>
	<atom:link href="http://www.maximile.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.maximile.net/blog</link>
	<description></description>
	<pubDate>Thu, 12 Jun 2008 17:00:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Particle Effects</title>
		<link>http://www.maximile.net/blog/?p=79</link>
		<comments>http://www.maximile.net/blog/?p=79#comments</comments>
		<pubDate>Thu, 12 Jun 2008 17:00:53 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=79</guid>
		<description><![CDATA[    

I had a few particle-based effects to work on for The Muse. Feathers, confetti, falling flowers and floating and bursting bubbles are all too complicated to make using keyframe-based animation, but can be approximated using particles.

Flowers





The flowers were easy enough. Textured planes oriented to face the camera, given a small random [...]]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="350"> <param name="movie" value="http://www.youtube.com/v/dLrfa4aM24U"> </param> <embed src="http://www.youtube.com/v/dLrfa4aM24U" type="application/x-shockwave-flash" width="425" height="350"> </embed></object></p>

<p>I had a few particle-based effects to work on for <em>The Muse</em>. Feathers, confetti, falling flowers and floating and bursting bubbles are all too complicated to make using keyframe-based animation, but can be approximated using particles.</p>

<p><strong>Flowers</strong></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/flowers_edit.jpg" alt="Flowers Edit" /></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/flowers_rendered.jpg" alt="Flowers Rendered" /></p>

<p>The flowers were easy enough. Textured planes oriented to face the camera, given a small random starting velocity and a constant downward acceleration.</p>

<p><strong>Confetti</strong></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/confetti_edit.jpg" alt="Confetti Edit" /></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/confetti_rendered.jpg" alt="Confetti Rendered" /></p>

<p>The confetti was achieved in a similar manner, but using complex models instead of a plane. The models had a random rotation speed and initial orientation.</p>

<p><strong>Feathers</strong></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/feathers_edit.jpg" alt="Feathers Edit" /></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/feathers_rendered.jpg" alt="Feathers Rendered" /></p>

<p>The feathers were more challenging because they had to move realistically in three dimensions. They have to move quickly at first because they explode outwards, then slow down quickly under the effects of air resistance. I had tried mixing keyframe- and particle-based animation to achieve the characteristic wafting motion, but in the end the best effect was reached by having most of them particles and a couple of explicitly animated ones (notice the motion path).</p>

<p><strong>Bubble burst</strong></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/bubble_burst_edit.gif" alt="Bubble Burst Edit" /></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/bubble_burst_rendered.jpg" alt="Bubble Burst Rendered" /></p>

<p>The bubble had to burst. Photo-realism was out of the question with the amount of time left, but a stylised particle animation was sufficient to convey the concept. By spawning particles all across the surface of a sphere, giving them a small initial velocity and letting them react to gravity and Brownian motion, I could render out something reasonable.</p>

<p>It&#8217;s worth knowing the basics of particle animation, because it can save a lot of time when correctly applied.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=79</wfw:commentRss>
		</item>
		<item>
		<title>Adding Stitching to Textures</title>
		<link>http://www.maximile.net/blog/?p=78</link>
		<comments>http://www.maximile.net/blog/?p=78#comments</comments>
		<pubDate>Tue, 10 Jun 2008 17:42:23 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=78</guid>
		<description><![CDATA[I have had to make a few leather bags recently, and adding stitching to them seems like it should be difficult. But by using Photoshop&#8217;s brush features, it&#8217;s surprisingly easy.


Create a single stitch in a new document. Create a new document (about 500px Ã— 500px) with the background set to white. Make sure the foreground [...]]]></description>
			<content:encoded><![CDATA[<p>I have had to make a few leather bags recently, and adding stitching to them seems like it should be difficult. But by using Photoshop&#8217;s brush features, it&#8217;s surprisingly easy.</p>

<ol>
<li><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/muse_stitching_1.png" alt="Muse Stitching 1" /><strong>Create a single stitch in a new document.</strong> Create a new document (about 500px Ã— 500px) with the background set to white. Make sure the foreground colour is black by pressing &#8216;d&#8217;. Using the rounded rectangle tool with the radius set to something large, draw a box about the right shape for your stitch.</li>
<li><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/muse_stitching_2.png" alt="Muse Stitching 2" /><strong>Define the stitch as a brush.</strong> Use the marquee tool to select the stitch. It doesn&#8217;t have to be accurate; Photoshop will ignore any white space so leave a comfortable margin. Then choose &#8220;Define Brush Presetâ€¦&#8221; from the Edit menu. Give it a useful name, like &#8220;Stitching&#8221;.</li>
<li><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/muse_stitching_3.png" alt="Muse Stitching 3" /><strong>Set up the brush.</strong> Open or create your texture map in Photoshop, and open the brush palette. Select your new brush shape.

<ol>
<li>In the &#8220;Brush Tip Shape&#8221; panel, you will probably need to set the angle to 90Â°.</li>
<li>Adjust the spacing until it looks about right.</li>
<li>Under &#8220;Shape Dynamics&#8221;, set &#8220;Control&#8221; under &#8220;Angle Jitter&#8221; to &#8220;Direction&#8221;.</li>
<li>If the preview doesn&#8217;t look right, make sure that all the other jitters and pen controls are turned off.
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/muse_stitching_4.png" alt="Muse Stitching 4" />At this point, you can draw in your document with the brush tool (&#8217;b'). Set it to the correct size and colour for your thread. If you have a steady enough hand, you might be happy with this, and can skip to the end. If not, keep reading.</li>
</ol></li>
<li><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/muse_stitching_5.png" alt="Muse Stitching 5" /><strong>Draw the stitching paths.</strong> Choose the pen tool, and make sure it is set to draw paths rather than shapes or pixels. Trace along where you want your stitching to go. Remember you can edit the paths as much as you like once you have drawn them.<img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/muse_stitching_6.png" alt="Muse Stitching 6" /></li>
<li><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/muse_stitching_7.png" alt="Muse Stitching 7" /><strong>Trace the paths with the brush.</strong> Once you have your path perfected, it&#8217;s a good idea to duplicate it in the Paths palette. Name it, then click the &#8220;Stroke path with brush&#8221; button at the bottom of the palette.</li>
<li><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/muse_stitching_8.png" alt="Muse Stitching 8" /><strong>Add realism to the stitching.</strong> Bevel and Emboss, Drop Shadow, Outer Glow or Pattern Overlay can all be useful here. Play with the layer style until you are happy with the way it looks.</li>
</ol>

<p>If you need to, you can easily create a bump or height map from the mask.</p>

<p>The advanced features of the Brush tool often go unused in situations like this, because people think that they need to have a very steady hand to be this precise. But by making it follow a path, you can perfect the stroke before you are committed, and this allows it to become very useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=78</wfw:commentRss>
		</item>
		<item>
		<title>Wunderlandâ€™s Compositing Explained</title>
		<link>http://www.maximile.net/blog/?p=77</link>
		<comments>http://www.maximile.net/blog/?p=77#comments</comments>
		<pubDate>Tue, 10 Jun 2008 17:14:20 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=77</guid>
		<description><![CDATA[

There&#8217;s a War in Wunderland has an unmistakable style. This is down to a few things - the texture work, the simple characters, the animation, the rendering and post-processing and the presentation. I was responsible for a lot of the look and feel of the finished frame, and here&#8217;s a quick explanation of how it [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/exterior_composition.jpg" alt="Exterior Composition" style="float: right;" height="800" width="508" /></p>

<p><em>There&#8217;s a War in Wunderland</em> has an unmistakable style. This is down to a few things - the texture work, the simple characters, the animation, the rendering and post-processing and the presentation. I was responsible for a lot of the look and feel of the finished frame, and here&#8217;s a quick explanation of how it goes together.</p>

<p>There&#8217;s a strong dichotomy between the realism of the rendering and the cartoonish subject and art style. This is intentional, and found in another popular animation technique - stop motion. It&#8217;s important that the audience realises that they&#8217;re watching paper models, but that can&#8217;t get in the way of the stylised world that the texture artists and modellers spent so much effort on making. This conflict was responsible for a lot of the decisions that had to be made in the compositing process.</p>

<p><strong>Colour and Ambient</strong></p>

<p>The first example of this is in the bottom two passes (refer to the diagram) - the colour and the ambient. The colour is a strongly-lit scene, with stark contrast between the shadows and the highlights - the sort of setup you might use to demonstrate a model. The ambient pass has just one neutral ambient light illuminating everything. This has the important effect of making every rendered pixel identical to its corresponding texel - everything is the same colour as it is on the texture map. By balancing the two (varying the opacity of the upper one) you can choose how much effect the lighting has.</p>

<p>Of course, the same effect could be achieved by altering the lighting setup before you render, but having both passes allows much more immediate control over the setup. Small changes can be made with no additional render time or loss of quality. While it&#8217;s good to reduce your render time as much as possible, when rendering out another pass gives allows you to be intuitive, impulsive and artistic it&#8217;s usually worth it.</p>

<p><strong>Ambient Occlusion</strong></p>

<p>I could not imagine doing a film like this without ambient occlusion. The flat colours in the textures would make the film look dull if it were lit with hard lights. Raytraced and area lights would overcome this, but with a big hit on render time. They are also harder to balance and to maintain uniformity across all the shots.</p>

<p>Ambient occlusion allows us to generate those tones, and adds a lot to the realism of the scene. For the exterior shots I used two AO passes, which surprised some people. It&#8217;s certainly hard on render time, but I think it was justified. The narrow pass contains everything in the scene, and results in the effect you&#8217;re used to. The broad AO pass contains only the environment. Because the exterior shots are set in a city, complex lighting is needed to darken alleyways, lighten parks and burn out rooftops. An ambient occlusion setup to register occlusion at a high distance is an excellent way to fake this, and is much faster than an equivalent raytraced light.</p>

<p>It would have been nice to bake the broad AO into the textures, but for speed reasons I advised against this. The UV maps had a lot of shared space, which can be overcome but not too easily.</p>

<p>Ambient occlusion presents a special problem when dealing with decals - planes with an alpha channel defining the shape. The AO shader would ignore the alpha channel, leaving an unsightly border around it. So we omitted decals from the AO pass, and if necessary rendered them into their own layer.</p>

<p><strong>Character</strong></p>

<p>The character had his own pass so that he could be made to stand out from his surroundings. While it&#8217;s usually better to achieve this with texturing, lighting, shot composition and so on, this additional technique can be effective when used subtly.</p>

<p>The character pass was also used to mask out the broad ambient occlusion - when compositing an AO pass it&#8217;s important to be careful that everything visible in the AO is also visible in the other passes, otherwise ghostlike effects occur.</p>

<p><strong>Depth</strong></p>

<p>Finally, a depth pass was rendered to make it easy to add a depth of field effect. After Effects and Photoshop have a <em>Lens Blur</em> filter which can read a depth map and accurately simulate depth of field. By sampling form the depth channel you can accurately set the focal distance to the character, and even animate this for focus pulls.</p>

<p>Depth of field is important for adding to the realism of a scene, and can also be used to convey a sense of scale - by carefully mimicking the camera used in miniature work, you can subtly suggest that these are models.</p>

<p><strong>Others</strong></p>

<p>One effect we particularly wanted to avoid was motion blur. Though it&#8217;s often an important tool used to make a scene realistic, in this case it would be entirely inappropriate. Stop motion is only ever sampling still scenes, and so there is no motion blur. There are exceptions when it can be added manually for fast moving objects, but most professional stop motion studios would prefer to use traditional animation techniques such as squash and stretch to convey this.</p>

<p>A shadow pass was also rendered in some exterior scenes. It&#8217;s useful to ground distant characters, present a time of day and, in one shot, add dramatic effect.</p>

<p>Skies and clouds were imported separately, which made it easier to control but introduced extra difficulties in camera moves.</p>

<p>So that&#8217;s how it was done.</p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/exterior_final.jpg" alt="Exterior Final" height="300" width="533" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=77</wfw:commentRss>
		</item>
		<item>
		<title>Cooking in 3D</title>
		<link>http://www.maximile.net/blog/?p=76</link>
		<comments>http://www.maximile.net/blog/?p=76#comments</comments>
		<pubDate>Tue, 10 Jun 2008 17:04:29 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=76</guid>
		<description><![CDATA[CafÃ© de Beignet takes place in a French pÃ¤tisserie, and I was charged with making some appropriate-looking pastries to decorate it. Here&#8217;s a render of some of them:



Cool, no? Here&#8217;s a look at how a few of them were made.

Danish Pastry

The model for this was particularly easy. It looked great at 64 quads, but I [...]]]></description>
			<content:encoded><![CDATA[<p><em>CafÃ© de Beignet</em> takes place in a French <em>pÃ¤tisserie</em>, and I was charged with making some appropriate-looking pastries to decorate it. Here&#8217;s a render of some of them:</p>

<p><img src="http://fc02.deviantart.com/fs29/f/2008/119/6/6/Assorted_Patisserie_by_maximile.jpg" alt="" /></p>

<p>Cool, no? Here&#8217;s a look at how a few of them were made.</p>

<h3 id="danish_pastry">Danish Pastry</h3>

<p>The model for this was particularly easy. It looked great at 64 quads, but I made a more detailed version at 336 quads in case it was going to be in the foreground at all.</p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/danish_wire_1.jpg" alt="Danish Wire 1" height="225" width="300" /><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/danish_wire_2.jpg" alt="Danish Wire 2" height="225" width="300" />
<p>The fun was in the texturing. Here&#8217;s how it was done, step-by-step.</p></p>

<ol>
<li style="clear: both;"><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/danish_step_1.jpg" style="float: left;" alt="Danish Step 1" height="256" width="256" /><em>Bake an ambient occlusion pass to use as a guide and to generate initial texture and lighting.</em> AO is a raytraced effect, and as such is noisy by nature. This is a great way to add a little randomness to your image right from the start.</li>
<li style="clear: both;"><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/danish_step_2.jpg" style="float: left;" alt="Danish Step 2" height="256" width="256" /><em>Add some colour.</em> I chose two suitable colours, used the clouds filter and set the layer mode to <em>Color</em>.</li>
<li style="clear: both;"><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/danish_step_3.jpg" style="float: left;" alt="Danish Step 3" height="256" width="256" /><em>Paint in the twist marks.</em> The markings that give it its distinctive shape are caused by twists made when the dough was still soft. This has two effects - it introduces relief, meaning you have to consider shadows and highlights, and it leaves thin bits of pastry that cook more quickly and end up darker than the rest. I created a custom brush for the burnt bits and used the burn tool to add shadows.</li>
<li style="clear: both;"><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/danish_step_4.jpg" style="float: left;" alt="Danish Step 4" height="256" width="256" /><em>Icing sugar / highlights.</em> On my reference photo, highlights and icing sugar were indistinguishable. This seemed a bit odd, but I decided to copy the effect. Using a brush that looked suitably sugary, I painted in white where highlights would be appropriate.</li>
<li style="clear: both;"><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/danish_step_5.jpg" style="float: left;" alt="Danish Step 5" height="256" width="256" /><em>Add custard.</em> A speckled layer mask and the <em>Bevel and Emboss</em> layer style were all that was needed for the glossy, uneven look of the custard.</li>
<li style="clear: both;"><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/danish_step_6.jpg" style="float: left;" alt="Danish Step 6" height="256" width="256" /><em>Dribble over icing.</em> Icing on Danish pastries is far more liquid when applied than usual, so it&#8217;s dribbled over rather than piped. Bear this in mind as you paint the layer mask for it - smooth, pendulous strokes are needed. Again the <em>Bevel and Emboss</em> style comes in handy for showing off the shape. Remember that it&#8217;s not entirely opaque.</li>
</ol>

<h3 id="croissant" style="clear: both;">Croissant</h3>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/wireframe_texture_yes.jpg" alt="Wireframe Texture yes" height="458" width="600" />
<p>Photos aren&#8217;t always enough when you&#8217;re researching for a model. I felt I needed to understand how a croissant was made before I could model an accurate representation of it. (A more dedicated team might have sent me to France to study a master croissant-maker at work for a week, but apparently <em>CafÃ© de Beignet&#8217;s</em> budget didn&#8217;t stretch that far.) Once you understand the initial shape, and how it&#8217;s rolled up, and how it expands in the oven, it becomes much more mysterious. And the main concept you have to convey is how the rolled up layers create the final shape.</p></p>

<p>This made it surprisingly difficult to model. If you trace one of the edge loops, you&#8217;ll realise that it&#8217;s actually a long spiral. Lining these up and filling the polygons without distortion was challenging. But I&#8217;m pleased with the result.</p>

<p>Painting the texture was a similar process as used on the Danish pastry, but this one had an added &#8220;flaky&#8221; effect. This was achieved using the following filters: <em>Clouds</em>, <em>Stained Glass</em> and <em>Find Edges</em>. This generated a layer mask, which could then be used to apply a layer style suitable to reveal the flakes.</p>

<h3 id="cupcakes">Cupcakes</h3>

<p>The cupcakes were nice to model. The crimped paper wrapping meant that I had to use lots of polygons (the final model was about 950 quads), and it was an interesting enough shape to make unwrapping the UVs a challenge.</p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/06/ckuv.jpg" alt="Cupcake UV Map" height="599" width="600" />
<p>Painting the texture was easy in comparison. I started with a baked ambient occlusion layer, and added solid colours with layer masks restricting their effect to the correct area. This isn&#8217;t the easiest way to do it, but it meant that when I had to create different coloured versions, I just had to change the colour of one layer, which was handy. </p></p>

<p>Notice the outside of the paper case is in two sections. This made it tough to line up the heights of where the icing shows through. But by painting onto the textures in 3D mode, and by a bit of trial and error, the join is not visible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=76</wfw:commentRss>
		</item>
		<item>
		<title>Early Lighting</title>
		<link>http://www.maximile.net/blog/?p=75</link>
		<comments>http://www.maximile.net/blog/?p=75#comments</comments>
		<pubDate>Fri, 11 Apr 2008 09:02:08 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=75</guid>
		<description><![CDATA[Here&#8217;s some lighting tests. The first one shows the bare minimum setup: directional lights for the sun and the bounced light.


Here&#8217;s the same thing but adapted into a more standard three-point setup. Using warmer tones to try to indicate the sun&#8217;s position. The softer shadows make it less cartoony, but it still has a very [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s some lighting tests. The first one shows the bare minimum setup: directional lights for the sun and the bounced light.
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/initial.jpg" alt="Initial" height="480" width="640" /></p>

<p>Here&#8217;s the same thing but adapted into a more standard three-point setup. Using warmer tones to try to indicate the sun&#8217;s position. The softer shadows make it less cartoony, but it still has a very stylised nature.
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/kfb.jpg" alt="KFB" height="480" width="640" /></p>

<p>One more; an attempt at making it more realistic.
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/kfb_tweaked.jpg" alt="KFB Tweaked" height="480" width="640" /></p>

<p>The setup needs some work; at the moment the near hills blend into the far hills too smoothly.</p>

<p>Also, shadows need to be addressed. Everything has very soft shadows at the moment, which is suitable for an occluded daytime scene, but the bike needs something to ground it. One idea I had was to render the bike from above and create a projecting &#8216;gobo&#8217; parented to it. This could project a shadow directly beneath it, which could be soft in the right places.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=75</wfw:commentRss>
		</item>
		<item>
		<title>Rigging</title>
		<link>http://www.maximile.net/blog/?p=74</link>
		<comments>http://www.maximile.net/blog/?p=74#comments</comments>
		<pubDate>Fri, 11 Apr 2008 08:54:05 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=74</guid>
		<description><![CDATA[The Duck, with his happy handles:


He&#8217;s quite bendy:

]]></description>
			<content:encoded><![CDATA[<p>The Duck, with his happy handles:
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/the_duck_with_handles.png" alt="The duck with handles" height="523" width="573" /></p>

<p>He&#8217;s quite bendy:
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/bendy_duck.png" alt="Bendy Duck" height="496" width="491" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=74</wfw:commentRss>
		</item>
		<item>
		<title>Ducking and Diving</title>
		<link>http://www.maximile.net/blog/?p=73</link>
		<comments>http://www.maximile.net/blog/?p=73#comments</comments>
		<pubDate>Fri, 11 Apr 2008 03:17:58 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=73</guid>
		<description><![CDATA[Progress on the duck; more modelled and a start on texturing.



]]></description>
			<content:encoded><![CDATA[<p>Progress on the duck; more modelled and a start on texturing.</p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/ugly_duckling.png" alt="Ugly Duckface" />
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/tex_duck.jpg" alt="Texture Pun" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=73</wfw:commentRss>
		</item>
		<item>
		<title>Starting to Duck</title>
		<link>http://www.maximile.net/blog/?p=72</link>
		<comments>http://www.maximile.net/blog/?p=72#comments</comments>
		<pubDate>Fri, 11 Apr 2008 03:08:47 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=72</guid>
		<description><![CDATA[An early duck screenshot.

The early duck catches the bread.


]]></description>
			<content:encoded><![CDATA[<p>An early duck screenshot.</p>

<p><p>The early duck catches the bread.</p></p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/early_duck.png" alt="Early Duck" height="441" width="457" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=72</wfw:commentRss>
		</item>
		<item>
		<title>Some More Models</title>
		<link>http://www.maximile.net/blog/?p=71</link>
		<comments>http://www.maximile.net/blog/?p=71#comments</comments>
		<pubDate>Fri, 11 Apr 2008 02:45:33 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=71</guid>
		<description><![CDATA[I made some more models for this film thingy. You can look at some of them.





]]></description>
			<content:encoded><![CDATA[<p>I made some more models for this film thingy. You can look at some of them.</p>

<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/scoop_render.jpg" alt="Scoop Render" title="" />
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/logo_render.jpg" alt="Logo Render" title="" />
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/fountain_render.jpg" alt="Fountain Render" title="" />
<img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/bread_render.jpg" alt="Bread Render" title="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=71</wfw:commentRss>
		</item>
		<item>
		<title>The Basics of Normals</title>
		<link>http://www.maximile.net/blog/?p=70</link>
		<comments>http://www.maximile.net/blog/?p=70#comments</comments>
		<pubDate>Fri, 11 Apr 2008 02:37:41 +0000</pubDate>
		<dc:creator>maximile</dc:creator>
		
		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://www.maximile.net/blog/?p=70</guid>
		<description><![CDATA[I didn&#8217;t understand vertex normals until I started learning about 3D programming. But you can&#8217;t be a good polygon modeller without them, and they&#8217;re very simple. Looking at my previous work, every model I had made before I understood normals was messy and inefficient in comparison to my later ones. And you need to understand [...]]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t understand vertex normals until I started learning about 3D programming. But you can&#8217;t be a good polygon modeller without them, and they&#8217;re very simple. Looking at my previous work, every model I had made before I understood normals was messy and inefficient in comparison to my later ones. And you need to understand vertex normals before you can move on to more advanced concepts such as normal mapping.</p>

<p>There&#8217;s not too much complicated theory behind vertex normals. Here are the basics. For each vertex, an &#8216;imaginary line&#8217; projects outwards. It&#8217;s invisible, but it affects the lighting. When you create a flat shape - for example, a simple ground plane - the normals all point at right angles to the face. Because they are all parallel, they all affect the light in the same way, and the plane appears flat.</p>

<p><br style="clear:both;" />
<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/northeory.png" alt="NorTheory" title="" /></p></p>

<p>But when you have two polygons joining, there is a choice about what to do at the shared edge. You can either treat them as two separate flat surfaces, giving the vertices at the shared edge normals that point away from each other. Or you can take the average of the normals, making the normals point in the same direction. If you do this, the normals for the polygons are not parallel, and the 3D renderer will interpolate the lighting between the polygon&#8217;s vertices. This gives the impression that there is a smooth bend in the surface, rather than a sharp crease. This is referred to as &#8216;softening edges&#8217; in Maya, or &#8216;smoothing&#8217; in Blender.</p>

<p><br style="clear:both;" />
<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/norwire.png" style="float:left; clear:left;" alt="NorWire" title="" /></p></p>

<p>Looking at the following example, we can see how this technique can be applied to a model.</p>

<p><br style="clear:both;" />
<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/norsolid.png" style="float:left; clear:left;" alt="NorSolid" title="" /></p></p>

<p>By default, the polygons are &#8216;flat&#8217;; they have parallel normals. When rendered, the polygon boundaries are obvious; the model looks blocky.</p>

<p><br style="clear:both;" />
<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/smooth_all_over.png" style="float:left; clear:left;" alt="Smooth all Over" title="" /></p></p>

<p>But simply averaging all of the normals results in this horrible monster. Definitely not what we want.</p>

<p>The problem is that lots of the edges are obviously meant to be sharp. When the renderer tries to average the lighting over a sharp edge, it is very likely to give undesirable results. Softening an edge is never a substitute for rounding or bevelling.</p>

<p><br style="clear:both;" />
<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/sharp.png" style="float:left; clear:left;" alt="Sharp" title="" /></p></p>

<p>We need to split only some of the normals; the ones along the sharp edges. It would be very difficult to do this manually, but all modelling applications have a tool for doing this. Just select the edges that should be sharp, and mark them as sharp using the &#8216;Harden Edge&#8217; tool in Maya or the &#8216;Mark Sharp&#8217; tool in Blender.</p>

<p>Most applications also have a tool for selecting sharp edges automatically, which can be very useful, but on many models you will need to tweak the results by hand.</p>

<p><br style="clear:both;" />
<p><img src="http://www.maximile.net/blog/wp-content/uploads/2008/04/good_smooth.png" style="float:left; clear:left;" alt="Good Smooth" title="" /></p></p>

<p>And here&#8217;s the final result. The curved areas are lit smoothly, but the polygon count is still low. Notice that the silhouette reveals where the polygons meet. The only way to get past that is to use more polygons.</p>

<p>Understanding normals allows you to achieve effects that would otherwise require you to add a lot of polygons. This is vital when modelling for games, but still important when working towards prerendered video. It allows you to simplify your meshes, making it less likely that you will introduce errors in rendering or animating.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximile.net/blog/?feed=rss2&amp;p=70</wfw:commentRss>
		</item>
	</channel>
</rss>
