What a long, miserable day.
I've spent the last six or seven hours having to render out the first 140 frames of my animation one-by-one by hand, because if I don't, the volumetric "god lights" don't work. It is absolutely maddening, tedious and incredibly boring but it is nearly done.
So, what's changed since last week?
I spent a lot of time cleaning up the poses in my animation and fretting over what to do with the opening of it - the walk and his "surprise" reaction just never worked right for me, and it was getting far too close to the end to fix them. It was upon reflection to this problem that I had an epiphany.
I don't need them at all.
If I start the shot out with the goblin already looking at the sword, we get it. We understand the setup right from the get-go - he's a goblin, this is a sword in a stone. We know how this story goes. I needed to give him some time to consider the sword, to think about it and to ponder his approach, but trying to tell the story with him walking in was trying to tell too much. I needed to introduce his personality in his walk, his mood and why he might be feeling that way, then show a drastic, big change of emotion followed by another drastic change of emotion, from sad to surprised to cautious, all at once, and that is really, really hard. And really, really unnecessary.
I proposed the plan to Pam Matheus and Antony DeFato, both former Disney animators with excellent senses of story and timing, and they agreed it was the right decision. DeFato even brought the idea one step further - start the shot with the camera tight on the character so I could really play up his thinking process, then pull out to reveal the goblin's motivator. Genius.
I deleted my walk and surprise keyframes and got to work adding a good animated hold, using his eyes and slight shifts in the direction of his head to really try to get the subtle animation in to show his thinking process and then proceeded from there. Additionally, I spent a huge amount of time working on getting the spline pass done this week, all while working on wrapping up other assignments (expect more blog posts in the next few days as I finish work for my other classes). I really, really wish I had a few more days for this, or weeks, or months, but I'm happy with what I'm getting so far, and very happy with everything I've learned from the project. I know it isn't the strongest piece in the entire class, but it is the culmination of months of hard work, and I stand behind the result.
I'll have the final posted here in a few days, once I've had time to composite it, build in the title and credits screens and do the post-processing. I'll also follow this post up with a post-mortem, most likely, to review what went well, what didn't and what I'm taking away having gone through the process twice now. For now, I've got to render out the last of the frames (11 left to go, thank god), start the compositing and get some rest before the last big push of the semester.
Showing posts with label PRJ350. Show all posts
Showing posts with label PRJ350. Show all posts
Sunday, April 24, 2011
Sunday, April 10, 2011
PRJ350 - Week 12 Progress Journal
What a week.
After reviewing the animation blocking I had completed last week and looking at the schedule I had left, I decided it was time for triage - I had to get rid of the bad blocking and do it over. It really didn't work well enough for what I needed, and it would have taken more time to try to fix it then it would have to just do it right. Having gone through the process, I feel I made the right decision, but the clock is ticking and I'm not particularly happy with what I'm going to have left at the end of the process - something I'll get into once I've completed the project and can do a post-mortem.
First thing I did this week was revise the basic lighting pass I had and get the "god lights" into the scene, as well as get the final props I was going to need in. I had to get this done, as the scene wouldn't work without them, and having the real things in rather then the proxies meant I could act to them rather then to where I assumed they would be in the final, then spend time later fixing the issues - time I wasn't sure I would have.
I would have liked to have modeled a custom sword for the scene, but I was on borrowed time, so I re-used an asset I had built for another class - the dagger from the table in my Bandit's Crossing interior scene. I stretched the blade out, tossed it into zbrush to get a better texture (the one I had wasn't working well at all, as it was grouped with a number of other items on the original texture sheet), a technique that worked well, as it allowed me to practice the process of baking out matcaps to the diffuse channel and get a better, more accurate normal map, something we'd been working on in my Zbrush class.
I got the sword into the scene and started tweaking the light setup. Most of the images shown are rendered with a test diffuse material on the goblin, as it shows up correctly in the viewport window and allows me to animate easier then with the SSS shader active - the SSS shader shows up as pure red in the viewport, making it difficult to read eye direction.
I messed with the godlight settings until I got them into the ballpark, then turned on the environment lights to make sure I'd have a strong enough effect to work in the composition, but not be too overpowering so that you couldn't read action happening behind them.
I ended up using two of the volumetric lights to get the falloff I wanted - one with a wider diameter but a softer effect, and a narrower, stronger one in the center to get a more powerful beam.
Finally, I turned on the SSS shader and played with a number of the shadow settings until I got exactly the look I needed - it still isn't ideal - the shadows have far harder edges then I'd prefer, but it is producing the desired effect well.
I then modeled out an anvil and textured it rapidly, using photoshop and Zbrush, got it into place and began blocking. I put in a lot of time between Friday and Sunday getting these poses in - I still have some timing issues to resolve and a few storytelling moments that need clarification and revision, but I am feeling more optimistic then I was earlier. I've rendered out some of the stills, as I would do often to ensure I was getting the result and composition I needed in the blocking, and it was often hard to tell in the viewport quite how things would look when rendered - these are all with the reference diffuse shader on the goblin, however, so keep that in mind.
Below is a copy of the revised blocking playblast. After speaking about my concerns about finishing the project in time with a number of professors, we revised the story beats a bit. I'm happy with the changes, although I'm going to miss some of the beats that were cut.
I'm nearly done with this phase, and hope to have it fully blocked by Wednesday so I can spend the rest of the week working on getting the spline pass completed. I'm not as happy with the result as I would be, but I spent too long in the rigging phase - the effort spent there was worth it, but it left me without the time I needed to spend elsewhere, and I learned a huge amount about something I was previously not proficient at at all. I also learned a lot about getting subsurface scattering shaders and modeling a character for animation, and am pretty happy with what I'm leaving with with the project, I just wish I could have focused further on the actual animation process during it.
After reviewing the animation blocking I had completed last week and looking at the schedule I had left, I decided it was time for triage - I had to get rid of the bad blocking and do it over. It really didn't work well enough for what I needed, and it would have taken more time to try to fix it then it would have to just do it right. Having gone through the process, I feel I made the right decision, but the clock is ticking and I'm not particularly happy with what I'm going to have left at the end of the process - something I'll get into once I've completed the project and can do a post-mortem.
First thing I did this week was revise the basic lighting pass I had and get the "god lights" into the scene, as well as get the final props I was going to need in. I had to get this done, as the scene wouldn't work without them, and having the real things in rather then the proxies meant I could act to them rather then to where I assumed they would be in the final, then spend time later fixing the issues - time I wasn't sure I would have.
I would have liked to have modeled a custom sword for the scene, but I was on borrowed time, so I re-used an asset I had built for another class - the dagger from the table in my Bandit's Crossing interior scene. I stretched the blade out, tossed it into zbrush to get a better texture (the one I had wasn't working well at all, as it was grouped with a number of other items on the original texture sheet), a technique that worked well, as it allowed me to practice the process of baking out matcaps to the diffuse channel and get a better, more accurate normal map, something we'd been working on in my Zbrush class.
I got the sword into the scene and started tweaking the light setup. Most of the images shown are rendered with a test diffuse material on the goblin, as it shows up correctly in the viewport window and allows me to animate easier then with the SSS shader active - the SSS shader shows up as pure red in the viewport, making it difficult to read eye direction.
I messed with the godlight settings until I got them into the ballpark, then turned on the environment lights to make sure I'd have a strong enough effect to work in the composition, but not be too overpowering so that you couldn't read action happening behind them.
I ended up using two of the volumetric lights to get the falloff I wanted - one with a wider diameter but a softer effect, and a narrower, stronger one in the center to get a more powerful beam.
Finally, I turned on the SSS shader and played with a number of the shadow settings until I got exactly the look I needed - it still isn't ideal - the shadows have far harder edges then I'd prefer, but it is producing the desired effect well.
I then modeled out an anvil and textured it rapidly, using photoshop and Zbrush, got it into place and began blocking. I put in a lot of time between Friday and Sunday getting these poses in - I still have some timing issues to resolve and a few storytelling moments that need clarification and revision, but I am feeling more optimistic then I was earlier. I've rendered out some of the stills, as I would do often to ensure I was getting the result and composition I needed in the blocking, and it was often hard to tell in the viewport quite how things would look when rendered - these are all with the reference diffuse shader on the goblin, however, so keep that in mind.
Below is a copy of the revised blocking playblast. After speaking about my concerns about finishing the project in time with a number of professors, we revised the story beats a bit. I'm happy with the changes, although I'm going to miss some of the beats that were cut.
I'm nearly done with this phase, and hope to have it fully blocked by Wednesday so I can spend the rest of the week working on getting the spline pass completed. I'm not as happy with the result as I would be, but I spent too long in the rigging phase - the effort spent there was worth it, but it left me without the time I needed to spend elsewhere, and I learned a huge amount about something I was previously not proficient at at all. I also learned a lot about getting subsurface scattering shaders and modeling a character for animation, and am pretty happy with what I'm leaving with with the project, I just wish I could have focused further on the actual animation process during it.
Sunday, April 3, 2011
PRJ350 - Week 11 Progress Journal
Animation Blocking
I spent some time working on getting the base poses down for my character's initial walk-on before I realized I was being too hasty - I wasn't following my vid ref or my thumbnails, and with the complexity and length of the animation I had ahead of me, I really needed to have a better roadmap. To this end, I took my original vid ref into photoshop and began tracing over each major key pose onto unique layers. Doing this gave me a better insight to the lines of action in the pose and was a much more accurate and quick way to sketch out the poses then it would be to do so by hand on paper just using the video as reference.
I spent some time working on getting the base poses down for my character's initial walk-on before I realized I was being too hasty - I wasn't following my vid ref or my thumbnails, and with the complexity and length of the animation I had ahead of me, I really needed to have a better roadmap. To this end, I took my original vid ref into photoshop and began tracing over each major key pose onto unique layers. Doing this gave me a better insight to the lines of action in the pose and was a much more accurate and quick way to sketch out the poses then it would be to do so by hand on paper just using the video as reference.
Once I had these initial sketches, I composited them to the sheets above and printed them off. I also began adding them to Flash on the original frame numbers so that I could watch how they moved. This is a lengthy process, so I only got the first portion done, but it is very effective. One benefit of this process is I can quickly and easily play with timing, rather then trying to push and pull dozens of keyed object keyframes in Maya.
Once I have a little more time, I can start playing with the timing and get the rest of the frames in, but I wanted to make sure I had a chance to work on getting initial poses into Maya. I brought up my animation file and worked on getting the first pose right - it tends to be one of the most important ones. In the case of my animation, I actually started with the second pose, the first that the goblin is fully on-screen. I can work backward to have him walk on, but I needed to ensure that I had the right starting position figured out.
I then worked on following my thumbnail roadmap, being careful to exaggerate each pose to really enhance the action and to fit better with the character's proportions and anatomy, and really try to make sure I had the right arcs in place for the IK hands - a tricky process. I got the first part of the walk in, his notice and take and his approach blocked in after long hours of moving him around, and already am noticing severe issues with the skinning I'll have to address - this was part of my plan, as I knew they'd start making themselves more noticed once I started the actual animation, and I'll be working on them soon enough.
All told, things are coming along well, and the animation is working out okay, although I'm already noticing major problems with the timing. The beginning of this week will be spent getting the final models for the props in, getting the lighting resolved and blocking in the next portion of the animation. I'm right in the thick of crunch time now, so everything has to really count, but I'm really excited to see the little guy coming to life.
Sunday, March 27, 2011
PRJ350 - Week 10 Progress Journal
Huge amount of progress this week, although much of it isn't readily visible - a lot of behind-the-scenes prep for the next big push - animation blocking.
I began by building out my basic environment, using a technique I learned last semester in CG300 to create a tree, then duplicating it and tweaking it to create a second. Essentially, I built a cylinder, then used a number of latices and nonlinear bend and twist deformers to create the central trunk, then duplicated that shape and scaled it and twisted it to create the branch shapes. I then cut the hole for the branch in the main trunk and combined the meshes, using target weld, and pushed the combined verts around until I had the shape I wanted.

I then exported the tree from Maya into Max and unwrapped it, as I prefer the pelt and relax unwrap tools available there to Maya's unwrap options for organic shapes. I had a good wood bark photo in my reference library that I converted into a tiling texture, then applied it to the re-imported tree shape in Maya, repeating the bark texture as many times as needed to get the scale to look right.

Once that was done, I exported the ground plane into Mudbox to sculpt it, creating a roadway sunk into the ground and a slight valley where the main action was going to play out in the scene, allowing the sword and goblin to break the horizon and be silhouetted against the sky. I then re-imported this into Maya and got it placed where it needed to be.

I then brought in a tree from a previous project to save time and add variety to my scene, one that had been sculpted in Mudbox - it is a bit higher poly then I'd like, but it will look great rendered, and I can always render the background plate separately from the foreground elements, since the lighting won't move - this will likely be a necessity once I get the high-poly grass laid in. I also brought in a copy of the goblin's mesh, to make sure the scale was going to work well. I blocked in the camera and deleted any of the polys from the foreground tree that weren't going to be part of the final render, to cut down on excess geometry,

Finally, I got the textures set up for the ground plane and new trees, as well as the sky background. They're still not perfect, but they're looking okay so far. As I mentioned previously, I'll be painting in high-poly grasses in the foreground and background to help add a better finished look to the scene and create a more realistic environment, but for the blocking phase this is unnecessary, as it creates a huge overhead for rendering and file size, and makes it very difficult to work on the school's sub-par 32 bit systems as they tend to choke on high-poly scenes. I'll likely end up adding the grass fairly soon and making sure it is on a separate layer, so I can turn it off when I don't want it in the scene. It will also make the rendering process easier, having them out of the way.
I also brought in the fully rigged character model at this time, so I could begin test renders. This was a tricky process, as I often lost a lot of the shader information or rigging if it wasn't done correctly. I ended up spending an hour or two cleaning up old garbage left behind in both scenes, lots of hidden geometry and rigging artifacts that aren't used and won't ever be used, to facilitate the process. To get the merge to work best I ended up importing the environment into the rigged character file, rather then the other way around, then going through and carefully removing and renaming things that may present problems in the future.

Once I had the two files properly merged, I had to spend some time fixing some rigging issues and adding the last few controllers I needed for the rig that had gotten missed previously - in particular, I had somehow neglected to add nurbs shapes for controllers for the loincloth and ear joints. Once I had them in place and the model was ready to animate, I wanted to get a rudimentary lighting pass done, as I knew it was another critical, tricky step that I would likely need assistance and feedback on, so better to get it started now.

The first lighting pass was problematic - some of the lights didn't want to work properly, I was inheriting lights from the previous rigging file that weren't visible in my scene view but overpowered everything in my render, and the shader for the goblin had to be rebuilt.
I had a lot of notes left over from last time I built the shader, so it was simple enough to re-link the files and tweak some of the settings to get it in - I need to revisit it soon, however, as the light is passing through the character far too strongly and ruins the effect, causing the little dude to glow a bit.

Once that was corrected, I moved him to the point where he'll first stop and see the sword and anvil (the sword and anvil are currently just placeholder geometry - I need to model them both this week, and they don't really have much on them in terms of lighting).

I also put the character into his first real test pose - I will need to revisit a lot of the blend shapes, I've got a handful of them built now and I imported a dozen or so meshes of the goblin to use for other blend shape targets once I get the basic blocking in, as it will be easier to build target sculpts then, since he is a one-off rig.

And that's where we're at for the moment. I'm hoping to get some more of the base poses in tonight, but I wanted to get this blog post up before midnight, and I've got to go to a quick birthday dinner for a friend. All in all, I'm feeling a lot more confident about the scene and am excited about the next few weeks, although there is a huuuuuge amount of animation to get done for this project, and not a lot of weeks left to do it.
I began by building out my basic environment, using a technique I learned last semester in CG300 to create a tree, then duplicating it and tweaking it to create a second. Essentially, I built a cylinder, then used a number of latices and nonlinear bend and twist deformers to create the central trunk, then duplicated that shape and scaled it and twisted it to create the branch shapes. I then cut the hole for the branch in the main trunk and combined the meshes, using target weld, and pushed the combined verts around until I had the shape I wanted.

I then exported the tree from Maya into Max and unwrapped it, as I prefer the pelt and relax unwrap tools available there to Maya's unwrap options for organic shapes. I had a good wood bark photo in my reference library that I converted into a tiling texture, then applied it to the re-imported tree shape in Maya, repeating the bark texture as many times as needed to get the scale to look right.

Once that was done, I exported the ground plane into Mudbox to sculpt it, creating a roadway sunk into the ground and a slight valley where the main action was going to play out in the scene, allowing the sword and goblin to break the horizon and be silhouetted against the sky. I then re-imported this into Maya and got it placed where it needed to be.

I then brought in a tree from a previous project to save time and add variety to my scene, one that had been sculpted in Mudbox - it is a bit higher poly then I'd like, but it will look great rendered, and I can always render the background plate separately from the foreground elements, since the lighting won't move - this will likely be a necessity once I get the high-poly grass laid in. I also brought in a copy of the goblin's mesh, to make sure the scale was going to work well. I blocked in the camera and deleted any of the polys from the foreground tree that weren't going to be part of the final render, to cut down on excess geometry,

Finally, I got the textures set up for the ground plane and new trees, as well as the sky background. They're still not perfect, but they're looking okay so far. As I mentioned previously, I'll be painting in high-poly grasses in the foreground and background to help add a better finished look to the scene and create a more realistic environment, but for the blocking phase this is unnecessary, as it creates a huge overhead for rendering and file size, and makes it very difficult to work on the school's sub-par 32 bit systems as they tend to choke on high-poly scenes. I'll likely end up adding the grass fairly soon and making sure it is on a separate layer, so I can turn it off when I don't want it in the scene. It will also make the rendering process easier, having them out of the way.
I also brought in the fully rigged character model at this time, so I could begin test renders. This was a tricky process, as I often lost a lot of the shader information or rigging if it wasn't done correctly. I ended up spending an hour or two cleaning up old garbage left behind in both scenes, lots of hidden geometry and rigging artifacts that aren't used and won't ever be used, to facilitate the process. To get the merge to work best I ended up importing the environment into the rigged character file, rather then the other way around, then going through and carefully removing and renaming things that may present problems in the future.

Once I had the two files properly merged, I had to spend some time fixing some rigging issues and adding the last few controllers I needed for the rig that had gotten missed previously - in particular, I had somehow neglected to add nurbs shapes for controllers for the loincloth and ear joints. Once I had them in place and the model was ready to animate, I wanted to get a rudimentary lighting pass done, as I knew it was another critical, tricky step that I would likely need assistance and feedback on, so better to get it started now.

The first lighting pass was problematic - some of the lights didn't want to work properly, I was inheriting lights from the previous rigging file that weren't visible in my scene view but overpowered everything in my render, and the shader for the goblin had to be rebuilt.
I had a lot of notes left over from last time I built the shader, so it was simple enough to re-link the files and tweak some of the settings to get it in - I need to revisit it soon, however, as the light is passing through the character far too strongly and ruins the effect, causing the little dude to glow a bit.

Once that was corrected, I moved him to the point where he'll first stop and see the sword and anvil (the sword and anvil are currently just placeholder geometry - I need to model them both this week, and they don't really have much on them in terms of lighting).

I also put the character into his first real test pose - I will need to revisit a lot of the blend shapes, I've got a handful of them built now and I imported a dozen or so meshes of the goblin to use for other blend shape targets once I get the basic blocking in, as it will be easier to build target sculpts then, since he is a one-off rig.

And that's where we're at for the moment. I'm hoping to get some more of the base poses in tonight, but I wanted to get this blog post up before midnight, and I've got to go to a quick birthday dinner for a friend. All in all, I'm feeling a lot more confident about the scene and am excited about the next few weeks, although there is a huuuuuge amount of animation to get done for this project, and not a lot of weeks left to do it.
Labels:
3d,
animation,
blocking,
digipen,
environment,
lighting,
modeling,
PRJ350,
progress journal,
projects
Sunday, March 13, 2011
Projects 350 - Week 7 & 8 Progress Journal: Rigging, Skinning, Blend Shapes and Animatics
The past couple of weeks have been a headache, but they've been incredibly productive when I've been able to work. I'm a little behind the projected schedule, but as soon as I can get past this last little hump and get through this upcoming ridiculously busy week, I should be right back on track - I'm both in a wedding and interviewing for a very exciting potential job this coming Thursday, and preparing for both has required a lot of attention that I hoped to devote to this project this last week.
I spent the first part completing the rig, learning the ins and outs of how to set up a biped rig in Maya. This is a very tricky, very technical process, and definitely not my specialty, but it is done now, and very functional.

I've got a lot of features built into the rig shown above - both arms and legs are IK driven, and I have a reverse-foot setup, allowing me to keep my heels locked on the ground, roll onto the balls of the feet and do all sorts of other great functions. I have a fully articulated spine, a jaw bone for controlling limited facial animation, duo-jointed ears, bones for the eyes, and a series of bones set up to allow secondary animation on the loincloth.
The eyeballs and eyelids themselves are set up on the eye controllers, and I created a locator object above the character's head to allow him to tip his head to the side without causing odd pivoting or rotation action in the eyes or eyelids.

All eye activity is controlled through a series of controllers, using the Set Driven Keys commands in Maya. Through this technique, I can control blinking, eye direction and eyelid rotation, all through a single controller. This functionality was used on the hand controller, as well, allowing me to grab a single object to control the rotation of all finger joints, the spread of the fingers and limited rotation of the palm for exaggerating the form.

When I was rigging one of the hands, I came across a strange problem - all of the translate options for one of the finger joints was just... missing. It appears that somehow the transform node was, at some point, removed, leaving the only available keyframe-able option as Visibility, not a feature I need a lot in animation. The solution for the problem ended up being rather clever - I created an empty group object, basically a null object in Maya that doesn't have any actual data or anything attached to it beyond transform data. I then unparented the finger joint from its hierarchy, parented the null node onto the joint, and then moved the set back into the hierarchy. A little convoluted, but it solved the problem and allows me full functionality of the hand again.
I've also been working on my skinning, which is proving a little more problematic then I had originally anticipated, but it is coming along. I'm looking up further tutorials and other information from experts to assist, but I've got a good range of poses set up, it's just a matter of figuring out the strategy and learning what the model and rig can and cannot do. In the process, I'm learning a lot about how to better design topology for deformation, as I realize precisely what the theory really means, now that I can see it in action on a model that was this carefully planned.


Another success is that I finally got the mouth complete - I was having a huge issue getting teeth to parent correctly to the jaw bone and rotate right. No matter what I did, the teeth seemed to move twice as far as the lip would, meaning his teeth would receed or shoot right out of his mouth. It turns out that the lip was inheriting some of the skin weight from somewhere else, but that has since been remedied and we now have a great looking set of chompers.

Once I got them in, I ran the character through a number of facial poses, using the blend shapes I had set up and learning how he looks as his face distorts. Turns out? Adorable.


I even discovered, by moving and scaling the jaw bone, some additional functionality that the model possesses that I didn't realize - a happy little accident. Behold:

I've also begun work, and am about halfway done with the initial drawings for, the animatic, a useful stage in which staging and timing issues are resolved before moving toward animation. In doing so, I also created a more resolved version of the background image.

It is still a very loose and unresolved piece, but it solves a lot of the composition problems I had before, and getting the more final model of the environment complete this week, getting grass into the shot and getting hte first lighting pass is going to be very exciting.
Right now, though, I really, really just want to get this skinning done with so I can move on to starting the animation work. Time is running short, and there is a huge amount of work left to do.
I spent the first part completing the rig, learning the ins and outs of how to set up a biped rig in Maya. This is a very tricky, very technical process, and definitely not my specialty, but it is done now, and very functional.

I've got a lot of features built into the rig shown above - both arms and legs are IK driven, and I have a reverse-foot setup, allowing me to keep my heels locked on the ground, roll onto the balls of the feet and do all sorts of other great functions. I have a fully articulated spine, a jaw bone for controlling limited facial animation, duo-jointed ears, bones for the eyes, and a series of bones set up to allow secondary animation on the loincloth.
The eyeballs and eyelids themselves are set up on the eye controllers, and I created a locator object above the character's head to allow him to tip his head to the side without causing odd pivoting or rotation action in the eyes or eyelids.

All eye activity is controlled through a series of controllers, using the Set Driven Keys commands in Maya. Through this technique, I can control blinking, eye direction and eyelid rotation, all through a single controller. This functionality was used on the hand controller, as well, allowing me to grab a single object to control the rotation of all finger joints, the spread of the fingers and limited rotation of the palm for exaggerating the form.

When I was rigging one of the hands, I came across a strange problem - all of the translate options for one of the finger joints was just... missing. It appears that somehow the transform node was, at some point, removed, leaving the only available keyframe-able option as Visibility, not a feature I need a lot in animation. The solution for the problem ended up being rather clever - I created an empty group object, basically a null object in Maya that doesn't have any actual data or anything attached to it beyond transform data. I then unparented the finger joint from its hierarchy, parented the null node onto the joint, and then moved the set back into the hierarchy. A little convoluted, but it solved the problem and allows me full functionality of the hand again.
I've also been working on my skinning, which is proving a little more problematic then I had originally anticipated, but it is coming along. I'm looking up further tutorials and other information from experts to assist, but I've got a good range of poses set up, it's just a matter of figuring out the strategy and learning what the model and rig can and cannot do. In the process, I'm learning a lot about how to better design topology for deformation, as I realize precisely what the theory really means, now that I can see it in action on a model that was this carefully planned.


Another success is that I finally got the mouth complete - I was having a huge issue getting teeth to parent correctly to the jaw bone and rotate right. No matter what I did, the teeth seemed to move twice as far as the lip would, meaning his teeth would receed or shoot right out of his mouth. It turns out that the lip was inheriting some of the skin weight from somewhere else, but that has since been remedied and we now have a great looking set of chompers.

Once I got them in, I ran the character through a number of facial poses, using the blend shapes I had set up and learning how he looks as his face distorts. Turns out? Adorable.


I even discovered, by moving and scaling the jaw bone, some additional functionality that the model possesses that I didn't realize - a happy little accident. Behold:

I've also begun work, and am about halfway done with the initial drawings for, the animatic, a useful stage in which staging and timing issues are resolved before moving toward animation. In doing so, I also created a more resolved version of the background image.

It is still a very loose and unresolved piece, but it solves a lot of the composition problems I had before, and getting the more final model of the environment complete this week, getting grass into the shot and getting hte first lighting pass is going to be very exciting.
Right now, though, I really, really just want to get this skinning done with so I can move on to starting the animation work. Time is running short, and there is a huge amount of work left to do.
Sunday, February 20, 2011
Projects 350 - Week 6 Progress Journal: SSS Shaders and Rigging
Huge amounts of progress this week. I spent a lot of time learning how to use Subsurface Scattering Shaders in Max and Maya, as well as getting my rig prepped and ready for animation and skinning.
Subsurface Scattering Shader Setup
At the beginning of the week, I got a chance to get my diffuse map painted a little, with a start getting the head and hands a little bit more textural. Once I had a decent start, I began testing out the capabilities of the FastSSS shaders in Max, as I had heard they were a little simpler to use, and my finished model hadn't been exported to Maya yet. I played with the settings a bit and was astonished with the result. I quickly built a base specular map by converting my diffuse to greyscale and painting over the parts that needed tweaking (eyes, shoulderpad, etc) and made a rough normal map using the NVidia photoshop plugin. Enjoying the result, I created a quick turn-around set and rendered it out to use as a target for setting up the shader in Maya.

The detail and effect of SSS was astonishing, as it was my first chance to play with it and see the result. Even better, it really didn't add to the render time to any major degree. I burned off another closeup render to use as a target for the Maya shaders and got to work in the other program.

The Maya shader system, being node-based, offered a lot more control but was considerably trickier to get fully functioning. I found a wonderful set of free video tutorials over on Gnomon's site and went through them, taking a couple hours to really make sure I understood the concepts - longer then I hoped to spend, but I think it will be far worth it in terms of quality of the final product gained for the investment.
First I got the basic shader set up and began with the normal map, making sure it was still going to function properly, as the added simulated contour would help inform how the shapes were going to look in the renders, and it would tune the basic three-point lighting system I had set up.

I then began tweaking the different shader settings, beginning with the back scattering.

Once I got this blocked in, I recorded the settings, turned it off and blocked in the Epidermal Scattering layer.

Again, once this was blocked in, I turned it off and began the Subdermal layer.

I then began turning them back on, first adding a color map to the backscatter layer.

Then I brought the color map to the other layers and spent time fine-tuning the weights between them.

As you can see, it really knocked back the effectiveness of the shader, especially the normal map, but much of it is due to the fact that the different shader layers need to be painted more to get the most out of this. Also, at this point I didn't have the specular layer applied. I brought in the specular map I had created before and set it up in a rudimentary fashion, and then had to call it a day for this part of the process, as I had an appointment to work on the rigging.

I'll be going through the tutorial more to learn to fine-tune the specular layer, and will be following another tutorial on setting up a shader for the eyes separately from the rest of the mesh. I may also set up a new shader for the shoulder pad and the metal of the loin cloth and belt buckle, and possibly the cloth of the old sack he's wearing. The overall paint still has a lot of work to do, adding details and defining the shapes and contrast, but for a lay-in test this is working very well, in my opinion.
Rigging
I also spent a lot of time this week meeting with various folks about getting my rig set up - I worked with Suzanne Kaufman for a while, who showed me a lot of great stuff, but it was a lot like drinking from a fire hose. She was rushed as she had other appointments to make it to, and she knows a ton about the process and how to do it right, but we just didn't have the time together to really cover everything.
Megan Noble was quite helpful earlier this week, showing me how to create new attributes for controllers, how to orient joints and a number of tricks when it came to setting up the skeleton, as well as just answering questions when I'd get stuck or confused.
Earlier today, I spent a couple hours with Micah Zahm, who was gracious enough to give a couple hours tutoring me on the process of setting up a rig the correct way in Maya, teaching me about simple things I was doing wrong that can break a rig, and the best ways to do it right. It was incredibly helpful, as rigging has always been my downfall before, and he showed me a number of things I found very enlightening about the process.
Already, I'm finding Maya a much better system for all of this stuff then Max, at least in my limited knowledge. I was able to set up a full skeleton pretty quickly, and actually did it a few times before arriving at the final design.

I have a whole suite of features built into the design of the rig that I needed in order to have the most success in the limited amount of action I'm planning for the character. Ideally I'd like to use the character for other things later, but for the time being and my current needs, he's going to work out great, I think.
Micah was very helpful in showing me how to set up a reverse foot rig setup, and helped explain exactly how it works, which is something I've never been able to comprehend precisely before.

Essentially, the bone at the bottom of the foot doesn't get skinned to the mesh, it sits along the ground to allow the rig to pivot on its heel, but still allow the model to rise up on its toes or rock on the ball of the foot without lifting the foot controller but still moving the ankle IK, making the knee follow, as well.
You may also notice he's got a "wiener bone", as it was jokingly named. That is a series of bones created to be skinned to the loin cloth mesh only, allowing for secondary motion as it flaps around when he walks.
I've also set up a pair of bones for the eyes, which have Aim Constraints for the controllers which float out front.

The eyeball mesh is skinned entirely to those joints, and the joints themselves are parented to the head joint to make them follow in space. This lets the eyes rotate around inside the head without moving, but they follow the head as it moves. Just below the head joint is a joint for the jaw. I'm going to build two sets of teeth - one for the top row, which will be parented to the head joint, and one for the bottom row, which will be parented to the jaw joint. This will allow him to open his mouth and have the teeth follow. Finally, I have a pair of joints set up for the ears, allowing a lot of expression and secondary action in them.
I also spent a lot of time getting the hands set up to a controller. The hands themselves are IK controlled, and are moved by the wrist controller. The wrist joint itself has an orientation constraint to the controller, which allows the arms to be moved by grabbing and pulling them around, but keeping the hands oriented to the world, as they should be. This will be a little trickier in the animation, as it can be hard to maintain proper arcs with IK rigs, but they're necessary to lock down the hands in the world space when putting any weight or grabbing onto objects.

I also added new attributes to the hand controller and mapped them to the fingers, so that instead of grabbing controllers on every little joint I can manipulate them from a single space - much, much easier to work with and animate this way.
I still have a bit more to do to finish the controllers, and have a LOT of work to get the deformer targets built for all the expressions he needs (blinks, scowl, wonderment, confusion, grimace, grin, elation, surprise, etc), but I'm getting much closer, and am moving through a step that was previously daunting, thanks to the help of some very kind folks.
Subsurface Scattering Shader Setup
At the beginning of the week, I got a chance to get my diffuse map painted a little, with a start getting the head and hands a little bit more textural. Once I had a decent start, I began testing out the capabilities of the FastSSS shaders in Max, as I had heard they were a little simpler to use, and my finished model hadn't been exported to Maya yet. I played with the settings a bit and was astonished with the result. I quickly built a base specular map by converting my diffuse to greyscale and painting over the parts that needed tweaking (eyes, shoulderpad, etc) and made a rough normal map using the NVidia photoshop plugin. Enjoying the result, I created a quick turn-around set and rendered it out to use as a target for setting up the shader in Maya.

The detail and effect of SSS was astonishing, as it was my first chance to play with it and see the result. Even better, it really didn't add to the render time to any major degree. I burned off another closeup render to use as a target for the Maya shaders and got to work in the other program.

The Maya shader system, being node-based, offered a lot more control but was considerably trickier to get fully functioning. I found a wonderful set of free video tutorials over on Gnomon's site and went through them, taking a couple hours to really make sure I understood the concepts - longer then I hoped to spend, but I think it will be far worth it in terms of quality of the final product gained for the investment.
First I got the basic shader set up and began with the normal map, making sure it was still going to function properly, as the added simulated contour would help inform how the shapes were going to look in the renders, and it would tune the basic three-point lighting system I had set up.

I then began tweaking the different shader settings, beginning with the back scattering.

Once I got this blocked in, I recorded the settings, turned it off and blocked in the Epidermal Scattering layer.

Again, once this was blocked in, I turned it off and began the Subdermal layer.

I then began turning them back on, first adding a color map to the backscatter layer.

Then I brought the color map to the other layers and spent time fine-tuning the weights between them.

As you can see, it really knocked back the effectiveness of the shader, especially the normal map, but much of it is due to the fact that the different shader layers need to be painted more to get the most out of this. Also, at this point I didn't have the specular layer applied. I brought in the specular map I had created before and set it up in a rudimentary fashion, and then had to call it a day for this part of the process, as I had an appointment to work on the rigging.

I'll be going through the tutorial more to learn to fine-tune the specular layer, and will be following another tutorial on setting up a shader for the eyes separately from the rest of the mesh. I may also set up a new shader for the shoulder pad and the metal of the loin cloth and belt buckle, and possibly the cloth of the old sack he's wearing. The overall paint still has a lot of work to do, adding details and defining the shapes and contrast, but for a lay-in test this is working very well, in my opinion.
Rigging
I also spent a lot of time this week meeting with various folks about getting my rig set up - I worked with Suzanne Kaufman for a while, who showed me a lot of great stuff, but it was a lot like drinking from a fire hose. She was rushed as she had other appointments to make it to, and she knows a ton about the process and how to do it right, but we just didn't have the time together to really cover everything.
Megan Noble was quite helpful earlier this week, showing me how to create new attributes for controllers, how to orient joints and a number of tricks when it came to setting up the skeleton, as well as just answering questions when I'd get stuck or confused.
Earlier today, I spent a couple hours with Micah Zahm, who was gracious enough to give a couple hours tutoring me on the process of setting up a rig the correct way in Maya, teaching me about simple things I was doing wrong that can break a rig, and the best ways to do it right. It was incredibly helpful, as rigging has always been my downfall before, and he showed me a number of things I found very enlightening about the process.
Already, I'm finding Maya a much better system for all of this stuff then Max, at least in my limited knowledge. I was able to set up a full skeleton pretty quickly, and actually did it a few times before arriving at the final design.

I have a whole suite of features built into the design of the rig that I needed in order to have the most success in the limited amount of action I'm planning for the character. Ideally I'd like to use the character for other things later, but for the time being and my current needs, he's going to work out great, I think.
Micah was very helpful in showing me how to set up a reverse foot rig setup, and helped explain exactly how it works, which is something I've never been able to comprehend precisely before.

Essentially, the bone at the bottom of the foot doesn't get skinned to the mesh, it sits along the ground to allow the rig to pivot on its heel, but still allow the model to rise up on its toes or rock on the ball of the foot without lifting the foot controller but still moving the ankle IK, making the knee follow, as well.
You may also notice he's got a "wiener bone", as it was jokingly named. That is a series of bones created to be skinned to the loin cloth mesh only, allowing for secondary motion as it flaps around when he walks.
I've also set up a pair of bones for the eyes, which have Aim Constraints for the controllers which float out front.

The eyeball mesh is skinned entirely to those joints, and the joints themselves are parented to the head joint to make them follow in space. This lets the eyes rotate around inside the head without moving, but they follow the head as it moves. Just below the head joint is a joint for the jaw. I'm going to build two sets of teeth - one for the top row, which will be parented to the head joint, and one for the bottom row, which will be parented to the jaw joint. This will allow him to open his mouth and have the teeth follow. Finally, I have a pair of joints set up for the ears, allowing a lot of expression and secondary action in them.
I also spent a lot of time getting the hands set up to a controller. The hands themselves are IK controlled, and are moved by the wrist controller. The wrist joint itself has an orientation constraint to the controller, which allows the arms to be moved by grabbing and pulling them around, but keeping the hands oriented to the world, as they should be. This will be a little trickier in the animation, as it can be hard to maintain proper arcs with IK rigs, but they're necessary to lock down the hands in the world space when putting any weight or grabbing onto objects.

I also added new attributes to the hand controller and mapped them to the fingers, so that instead of grabbing controllers on every little joint I can manipulate them from a single space - much, much easier to work with and animate this way.
I still have a bit more to do to finish the controllers, and have a LOT of work to get the deformer targets built for all the expressions he needs (blinks, scowl, wonderment, confusion, grimace, grin, elation, surprise, etc), but I'm getting much closer, and am moving through a step that was previously daunting, thanks to the help of some very kind folks.
Wednesday, February 16, 2011
Projects 350 - Testing shaders
Just a quick post - got the first little bit of my diffuse map painted up a little, and started playing with a Subsurface Scattering shader pass. Lots of work left to do to really bring this together, but I'm excited about the results so far.

Sunday, February 13, 2011
Projects 350 - Week 5 Progress Journal, part 2
So I spent a bunch more time this weekend getting the model unwrapped and prepped for texturing. I found a great rainbow and numbered checker pattern so I can be sure I'm distributing the UVs where I need them, and that I'm laying them out in the orientation I want. The unwrap went pretty smoothly, with only a few parts that needed to be overlapped - the legs, arms, ears and eyeballs all share the same UV space, since they can be textured identically. All other features, including hands, the head, the feet and the costume, are textured individually.

The only parts I'll have to be cautious about in terms of seams are the cheeks and the wrists, for the most part. I had to make cuts there to get the mesh to flatten out without too much distortion, but painting over the seams carefully in photoshop by directly importing the model should help create a fairly seamless paint.

Once I had the UV layouts arranged, I went in and created a flat-color flood, to test out the model and be sure it looked okay.

I then applied the texture to the model. Success. So far, things were coming together, and it was exciting to see him with some color on him - it meant I'm that much closer toward my goal.
I then applied an Ambient Occlusion diffuse map to the model and set it up with a number of directional lights to eliminate hard shadows, so that I could render out a burned AO texture pass.

Once rendered, it created a basic shadowed and flat version of the model texture, which I could overlay on the original flood fill to help inform the shape and give the illusion of light hitting the model. This will greatly speed up the texturing process, and give a much better overall look.


The new texture was then applied to the model, and the components were re-separated from the mesh. I'm now having to step away from the project for a bit, as I've been neglecting my other work to get this far on it, but I'm glad to see so much progress and I'm looking forward to getting to paint him up.

The only parts I'll have to be cautious about in terms of seams are the cheeks and the wrists, for the most part. I had to make cuts there to get the mesh to flatten out without too much distortion, but painting over the seams carefully in photoshop by directly importing the model should help create a fairly seamless paint.

Once I had the UV layouts arranged, I went in and created a flat-color flood, to test out the model and be sure it looked okay.

I then applied the texture to the model. Success. So far, things were coming together, and it was exciting to see him with some color on him - it meant I'm that much closer toward my goal.
I then applied an Ambient Occlusion diffuse map to the model and set it up with a number of directional lights to eliminate hard shadows, so that I could render out a burned AO texture pass.

Once rendered, it created a basic shadowed and flat version of the model texture, which I could overlay on the original flood fill to help inform the shape and give the illusion of light hitting the model. This will greatly speed up the texturing process, and give a much better overall look.


The new texture was then applied to the model, and the components were re-separated from the mesh. I'm now having to step away from the project for a bit, as I've been neglecting my other work to get this far on it, but I'm glad to see so much progress and I'm looking forward to getting to paint him up.

Labels:
ambient occlusion,
diffuse,
digipen,
PRJ350,
progress journal,
projects,
rendering,
texturing
Subscribe to:
Posts (Atom)