The Pixel Crush

-------------------------------------------|Digital Animation & Game Criticism|-------------------------------------------

Showing posts with label Shading. Show all posts
Showing posts with label Shading. Show all posts

Wednesday, 9 January 2013

The Pixel Cobbler



Organic shapes have always stumped me a little when it comes to modelling them in CG, so in making the roller derby skating boot the reidell colour lab has been invaluable for providing reference. You can pick a boot model number and then view it from a couple of angles, picking colours for different areas of the boot. Its effectively an interactive catalogue, but perfect for judging and matching the proportions of the boot to its real counterpart. There's a bit of in-medias-res blogging for you, now for the set up:

I've finished all my work at Aardman now, I returned there for a brief two weeks to help out on a music video and then spend a week with the marvellous Gavin Strange hammering out as much as we could on his exciting new Dew IP, creating characters and overall look in 3D from Gav's sweet designs. Here he is giving the resulting presentation.

Since then I've been back in falmouth working on a couple of things, one has been a rhino character for a game (for another time dear reader), and the other has been creating animation for the esteemed and ingenious Jennifer Rollason for her roller derby documentary final major project. And that is the set up. So I started by creating this boot, which may or may not be used in a credits sequence, but will definitely be used as a title effect for introducing interviewees, and as a means of creating transitions between scenes.

I started developing the materials and shaders alongside the modelling itself, basically got excited and skipped ahead a bit, before having to go back and finish the modelling. I knew I wanted the model to hold up to close examination, new standards and all that, so I left the threading to a bump map but made the ringlets their own geometry. Top tip: the slide edge tool, edit mesh/slide edge tool. This was great when spacing out the edge loops on the toe as it allows you to slide edges whilst maintaining the form of the model, learnt that one recently thanks to Rich.
I created some laces, more laboriously that I would have liked, by threading a CV curve through the ringlets and then extruding the lace along the curve. This created some dodgy bending and clipping but I could sort most of it just by tweaking the curve connected to the extruded mesh before deleting the history. The texture is just a simple cloth Maya texture.
You can be really sneaky with UV space for stuff like this by overlapping UVs for objects that share the same material, this way they can use the same area of a texture and save you texturing time later. Also the transfer mesh attributes tool is invaluable because that way I can unwrap one wheel, then give its UVs to all the other wheels, saving me both having to unwrap as I go, and the time and effort of doing each one individually.
I had some weird issues applying different materials to the inside of the wheel, it would apply randomly to stuff that I hadn't selected, I figured it out in the end. As is the case with so much Maya stuff- its just a case of learning the bug in the software, and then remembering to anticipate it. I love the soft bubblegum look of the wheels here, it was too soft, like wax or similar, I tightened up the radius of the scattering and got this effect:
With glossiness maps applied to the metal I was pretty much done at this point, I tried adding bump to the metal too but it was a horrible effect. I wish a had textured the edges of the leather strips/straps differently as it would have been nice to distinguish between wrinkled surface leather and the noisier interior of the material.
Lastly I wove the Kernow Rollers into the side of the skate and called it a day, this was just a matter of adding it to the diffuse and bump textures. Something exciting I found out about the mental ray ambient occlusion pass: it takes bump mapping into account, and helps pick out all those details even though they aren't physical geometry. Much more useful than what I usually do with the ambient occlusion shader piped into a surface shader stuck on a render layer.

Here is the final turn around:



And a spare render:


That's enough pink for one post. Rhino post next time, something which Luke is doing me a massive favour (paid favour) and rigging for me. Then I'll be animating it for a game that the refined and knowledgeable Chris Underwood is developing. No Pixel Propaganda this time! I must be getting out of practice, or less interesting, or less abreast of stuff only I care about. I've vowed to stop posting at 2am because no one reads them at that time, this shall be posted at a sensible time for sensible people.

Congratulations to whoever the 50,000th person to read the Pixel Crush was, you are my favourite reader so far.


Saturday, 25 August 2012

Professional Pixels

New work shirt with my super awesome access card
This post was entitled semi-professional pixels. It is now entitled professional pixels, I got employed! I'm currently freelancing at Aardman for 2 weeks, after transitioning smoothly from my work experience there. I'm working on some pre-rendered assets for a game that the "Digital" department downstairs are working on. Its more than a little exciting and I'm really enjoying the miniaturisation effect of viewing my models from an almost orthographic camera. At that kind of distance modelling almost becomes like impressionism, the model looks pretty basic up close- blocks of simple geometry here and there (lots of polygon primtives), but zoom out and the collective components come together to give the impression of lavish detail. The camera distance does mean however, that things like the bump properties of the shader have to be pushed to 10 times what theyd usually need, in order to be visible. Also the advantage of being pre-rendered is that the assets can use very fancy shaders and lighting, so many materials look much better than they would if shown running in a realtime 3D game engine. The picture above is of my access card for the building which everyone I've excitedly shown it to has beem thoroughly underwhelmed by.

The view from the drive back from work
They have a crazy workflow at Aardman, its a hybrid between linux and windows involving two workstations each running a separate OS. This means I've had to learn how to set projects and launch programs from a "shell" by typing lines of code. Clearly, buttons are for amateurs. I've been using a lot of Vray, I made sure I knew the basics before going which has been a massive help but I've continued to learn a lot more, both about that renderer specifically and shading in general. Mostly from the talented and humble Ali Dixon. For example, everything has reflectivity, and with modern raytracing its actually possible to factor this into your shaders without killing render times. It means colours reflect better between objects and details can be emphasised by controlling things like the glossiness attribute. I really, really wish I could show renders. That was always the most enjoyable part of these posts for me. I textured an old wireless radio recently and tried to give the impression it had been tuned by the greasiest fingers imaginable. By having shiny plastic with more diffuse finger smudges in the glossiness I could realistically recreate this effect. Breaking up specular highlights in this way is an almost guaranteed route to more pleasing renders that avoid looking overly CG.
My monster pasty kindly supplied by the grandparents
 Another revelation has been my old friend fresnal, now while I knew everything was slightly reflective, I did not know that every reflection is fresnel, even if only a little. Fresnel reflections are what determine the angle at which an object is moat reflective for example water and glass are most reflective when viewed at an angle, for example the sun setting on the sea, but looking straight down into water and the reflection is weaker allowing you to see below the surface. Its rim lightings best friend basically, helping to outline objects with glancing angle reflections. When metals have fresnel, its just handled differently, usually controller by the shaders reflective index. Ratchet it up to 5 or 10 and it starts to act more like chrome. In this way you can create great reflective metals that act realistically driven by reflection alone. I've also had some fun with sub surface scattering and 2 sided shaders for wax and leaves respectively.

Rendering Shiny Things: Fresnel Reflection from yeoldebrian on Vimeo.


Also, there's a recording of Wallace's voice is in the lift. And there are stop motion sets in reception. Everyone is friendly.

Pixel Propaganda

Extra Credits recently did a couple of videos on meaning and mechanics, a favourite topic of mine as most of my dissertation centered around it. One game they wanted to address it in specifically was this one, entitled Loneliness. It takes 2 minutes to play is really worth the time, all it requires is the directional keys.