Showing posts with label rendering. Show all posts
Showing posts with label rendering. Show all posts

Thursday, July 14, 2011

Parkour Animation

The second piece of animation I did for my Ani399 physicality class was a short, 100-frame parkour piece. First step was to analyze my video reference and create thumbnails, timed out in flash.





Next was to build a stage and block in the animation in Maya.



I then took feedback in class and incorporated the suggestions into the poses, then began splining.



I took further critique from class, changed the set to be something a bit more dramatic, finessed the splines and rendered the scene.

Sunday, April 24, 2011

PRJ350 - Week 14 Progress Journal

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.

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.

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.

Tuesday, January 18, 2011

Junior Projects 1

For the first half of my junior year, I had to create a short animation in 3d from start to finish, including designing the character, building and texturing it, rigging and skinning it, building, texturing and lighting the set and then animating and compositing the rendered result.

I ended up having huge amounts of technical problems, some of which were my fault, some of which were the fault of the software, and so the result of the project wasn't ideal at all, but it's just the first attempt at something like this, and a lot was learned in the process.

Below are some examples of my work for the project.



Initial character design, sans color.



Color comps, testing out color combinations of the basic shapes for the character on a variety of values of backgrounds.



An early storyboard. This story was scrapped, due to a number of technical issues as well as the fact that it just plain wasn't any good.

Below are a number of rendered frames from the final animation. The video itself is fraught with issues, so to preserve my dignity and sanity I'm just posting a few stills.







I'm starting a new semester-long project in the same vein, and am excited about how it looks so far. I'll post more about it as I get more completed.