Digital FX Artist : 3D Animation : Transformers Fanaticon Contest : Project Summary

3D Animation : Transformers Fanaticon Contest
Project Summary Report

Work flow:

  1. Spend time designing flow chart

    The first thing I should have done is spent more time designing a flow chart for each step of this project. I overlooked the usefulness and the speed increase, I would have been more organized and been able to follow the “road map” to getting my piece completed, not only on time, but further along and possibly done completely.

  1. Create time line

    This kind of goes with point 1. I should have spent some time deciding how much time I was going to spend on each step of this project. In this case it would've been a little difficult because of my limited knowledge of Blender, next time I should be able to be more prepared.


  1. Know your software

    This is what I was talking about under Create Time Line. I didn't know the software so well, if I had known it better I wouldn't have spent so much time trying to figure out what to do at each problem that arose. I also wouldn't have had so many problems because I could have built my flow chart and time line around the tools I knew I had in Blender.

  2. Blender is more advanced than I thought it was

One of my goals was to learn Blender and what it was capable of. I have done this in part, I still have much to learn. I was able to find work arounds for every problem I ran into, which means it is not a bad program. It is much better than a base program, it has a great compositor, which I have heard will be getting better in the next couple of updates (2.44 and 2.5). It seems to be quite functional in modeling, I did not run into any major problems at this point. As far as texturing and materials go, I did not get the chance to learn the nodes editor, this will be next on the list. And finally, the animator is pretty good, this also was not an area of concern. Rigging took a bit of work, I think this is part of learning Blender and what it is capable of and how to do it, we'll see what happens in the future.

  1. Blender could use an interface for local transformation changes to child objects, I should be able to wright this

    One of the things I found with Blender that I could have used is a way to edit and copy the transformations of a child object of one parent to the child object of another parent object and see the local values of the child object relative to the parent. This is something Maya has and has been useful to me in the past. I'll have to do web research to see if Blender can do it, if not, I'll write one my-self, probably a Python script.

  2. Blender should have some way to change the transformation axis

    Something else Blender could use is the ability to change the transformation axis, in other words, the point in space that the object rotates, translates and scales from. This is something I found in 3D Studio Max and I'm sure Maya has it, I just can't remember how. It would be useful to be able to change this in the middle of the animation. One work around is the ability to parent an object to an empty. An empty has all of the characteristics of an object but no mesh, just a simple and non-renderable dot in space. As long as you know where you are going to want it, you can create it, place it in space then parent the object to it; but this only works if you know where you want to put it. Once you've parented, you are stuck with that “axis” there for the rest of the animation.


  1. Hardware worked but barely

    I could have used a couple of things here, more ram and a better video card. I ran into some problems with Blender running my hard drive ragged, it would crunch then crash. I currently have 1 gig of ram and will be upgrading to 2 gig's of ram for the next big project. The other thing I could have used is a better video card, currently I have a 128 mb NVidia card, not a bad card by any means but not good enough for what I'm wanting to do. This scene probably had a few hundred thousand poly's, nothing to really write home about, but when I get done rebuilding it I will have much more, maybe in the millions. I am hoping to completely redo this whole animation, re-film the background plates, rebuild the train and re-composite the animation into the film. I'll also reconstruct and animate all of the text animation in Blender, my goal is to completely reconstruct this whole commercial in Blender. We'll have to see if Blender is up to the task.

  1. Will upgrade if I continue in contests and challenges

At this point I am not sure what I want to do, I am still researching the problem. If I find out that the machine is slow during construction of a scene, in other words when I rotate or move objects in the scene, the refresh rate is slow, then I will need to get a better video card. If the rendering speed is the problem, I might try to set-up a beowulf cluster, that's a cluster of computers on a network that act like one giant machine with as many processors as computers. By doing this, I will have the ability to render a single frame or many frames using all of the processors. If I just had a regular render farm, I wouldn't be able to render a single frame on all of the processors, just animations with each frame going to one processor. This is something I will have to see in the future.


  1. Learn Blender better

    One of my goals with this project was to learn Blender better and see what it could and could not do. What I found was that it's a pretty powerful program...

    As for modeling, I like sub-D objects. I used this method for the first time in Maya and fell in love with it. It is easy to use and flexible with the use of creases and using face extrude on the original poly mesh. One thing I have found that I don't like about sub-D is you have to know exactly what you are doing and how it will effect future elements in the model. What I mean is, you can't just cut and extrude anywhere you want just because it works for the current modeling situation; you have to be able to look into the future and see how the next step will effect each future step. It's sort of like playing pool. Expert pool players are always thinking about where they want the ball to end up at the end of a hit of the cue ball and how that will effect the next few steps of the game, they are always trying to find the best sequence of moves to get all of the balls in the pockets. This is what you have to do when you use sub-D. This is mostly an experience thing, you just have to have enough experience to do it right. One thing I don't like about sub-D in Blender is you don't end up rendering a smooth surface, it's almost smooth at the highest tessellation level, but it's not as smooth as NURBS patches, which Blender doesn't have...yet. I am hoping in the future Blender will allow you to set the tessellations of the rendered object to infinite or setting each poly to the size of a pixel.

    As for texturing, mine was simple. I built the texture in Photoshop and projected it onto the mesh with the UV Projection modifier. For the next project and for the continuation of this project I would like to see what the material nodes can really do by using them to texture the train and each element. In the final render I did forget to apply the UV Project modifier to each object in the body of the train; this means, that as the object moves, it moves through the texture, the texture is not locked down on the object. Overall, it was very easy.

    Lighting was simple as well. I used 4 sun lights to light the train, this gave me the ability to light it effectively from all angles that the camera could see. In the past, I have used a sphere of area lights, the results are incredible, but the time per frame was less than great with each light having ray-traced soft shadows and the difference in processing time of a sun light and an area light. I set each light to a color that corresponded to where the light was coming from. If the light was from the sky, then it was slightly bluish; if it was reflected from the ground then it was a yellow-green color tint, this was from the color of the grass around the train. By doing this it helps during the final composite to get the color right compared to the background plate.

    Animating was more of a challenge. I had to learn a few things about Blender and it's animation system. One thing I learned is when you duplicate an object, if that object has an IPO curve or has been animated, if you want to change that duplicates animation you have to give it another IPO curve. This is because when Blender duplicates an object that has been animated it does not duplicate the IPO curve to another curve, it links the new object to the duplicated objects animation curve. I found that when I went to make changes to the duplicates the original objects would change their animation path as well; so the first thing you do is add a new IPO curve. The nice thing is when you tell Blender to add a new IPO curve, Blender automatically copies all of the IPO's curves to the new IPO; in other words, you get a copy of the objects animation to put onto another object. This is one area where local transform values, local being compared to the parent object, should be accessible to the user to change; Blender only gives users access to global values, this is something I stated above. I also learned that when you want to change the center of an object transformation you have to add an empty, position it in the area you want the new center to be then parent the object to the new empty, you can then animate the empty. This seems somewhat cumbersome to me, both Maya and 3D Studio Max give the user the ability to change the center to anywhere you want on the fly, I think you can even animate it. This would be a nice addition to Blender in the 2.5 or even 2.44 version, if it can't do it, I'll have to find out. If it can't, I can write a script for it.

    Associated with animation, but not animation at all is rigging. OIY! This was a real challenge. I have only rigged one other character, that was in Maya, so this tells me that I either need more experience in rigging or I am not a rigger, so that technical field could be out. To really comment on this would be somewhat foolish, like I said, I have only rigged 2 characters in my entire life. I know you need to have some quit time and probably plenty of it to really think about how to rig a character properly. You need to know what the character will be doing, how it will be moving and what extras you will need to add to the rig like muscle or breathing apparatuses. There is a lot of planning and trial and error that is needed to rig it properly, in most cases you will have to rig the character multiple times to get the effect you are wanting. In any case I would not start even working in a 3D app until I had looked through the movie script and done a few drawings.

    Compositing is the final step in any visual effect that is being added to a live action plate. I have done a little work in this area, mostly in image manipulation, erasing things out of a shot or re-coloring a shot to look better than what the photographer gave me and a couple of times with a 3D element in the shot. You can see those in my portfolio page under Compositing & Image Manipulation and one under 3D Animation. This is the first real shot I have done for a major project and with Blender. Blender's compositor is a pretty good system, and once again, I hear it will be getting better with the 2.5 release, its not perfect but it's a great start. I did some color correction on the background plate, both the photo and video footage; as well as, the animated train itself, you can see an image of the compositing nodes I used if you go to my Daily Updates page. A couple of nodes I could use are levels or histogram, brightness/contrast and an animated noise pattern. You use the noise pattern to match the noise in the background plate and you use the brightness/contrast with the levels to color correct the 3D element to get it to look like it's part of the original footage. One thing I remember from 3D animation class is video and film footage is very desaturated and blurry so you need to do both to your 3D element to get it to match. One other tool I would like to have is a masking node, I think they will be adding this in the next version, or at least give people the ability to write their own. This would allow me to color correct just part of the image, like the sky or just the trees in the background. I know one exists because I have seen a screen shot of how it works, but it is not in the current version of Blender. This is a fairly simple compositing project, I could have taken it to a greater extreme if I had more time, but time ran out. On the next version I want to take the time to do it right and make it look like it's in the shot just like the big boys do at ILM, Digital Domain, Weta Digital, etc., etc., etc.

  1. Get involved in the contests and communities on-line for self promotion

    This is an area I have not been very involved with at all. I have done a very poor job in the past of promoting myself, this is where the contests and challenges will help me, it can show the world what I can do and will hopefully give me a great job in the end where I can grow and become an extremely valuable part of the company.

    I can also see where I need work. What I mean is, if I am always coming in 50th in a contest that has 100 contestants then I need to do some research to find out what made the winner's so much better and mine so much worse. If it's in 3D animation, maybe I need to add more detail, make the animation better or make the texture look better. If it is compositing, maybe I need to get some education on how to composite and what tools people use to do the compositing, then see if I can do it.

    I also get the experience with the 3D animation and compositing programs. One thing I have learned with this project is if I had more experience with Blender I would have had an easier time with the project. It goes back to knowing your tools. A construction worker doesn't go onto a site and learn how to use the tools to build a house, this would take him twice as long and the house would have plenty of mistakes, it would be a wreck, so we as animators and compositors need to know our tools as well. This would have allowed me to create an accurate flow chart and time line, which would have allowed me to get the job done faster because I know what I'm doing each day when I start and what I need to have ready for the next day.

    This also gives me more examples for my website. My website shows my experience level by showing the work I have done. It also shows how fast I am growing and how much I am learning or if I am not growing and not learning. Recruiters look at this and can tell if you have the qualities they are looking for. I my case I need some work on all fronts of 3D animation and compositing and hopefully my website will show my growth in the near future as I work on different projects.

Project Extension:

  1. Reasons for the extension

    First of all, it is not a competed project. There are a number of things I need to fix and add, these will be discussed in detail in the next section. This project was also completed in a very short period of time. Now I know what you are thinking, visual effect houses can finalize as many as 75 shots per day. A couple of things about that... I am only one person, they have many, that puts me at a disadvantage. I also, as I have stated before, did not know my program as well as I should have. I also don't have the same tools they do. They have custom built tools, by an internal programming department, that allow them to work with the footage at each step in the process, or rendering pipeline, much easier than I can. This is the whole reason for the internal programming department. They write programs that make each persons job easier and allows them to do there job faster. Another good reason, is to have a completed project. I don't think there is anyone who wants to have a partially done project, we want to have it done and out of the way. Sometimes that means redoing a section and sometimes it means completely scraping the whole thing and re-building everything. In this case I am going to do the latter, scrap everything and re-build it; once again you will have a list of changes below.

  2. Goals of the extension

    This is a section I am probably going to be adding to every so often because I don't know what I'm going to do yet. I have some things already lined out, but I'll probably run into others I didn't think of, so consider the list below a partial one...

  • Re-film the footage with a better camera. The camera I had was a real gem, of course I 'm joking. It was an older camera that was well used and abused, which is why it didn't work so well. Once the organization I borrowed it from gets the new cameras, which I was told they are looking into as I am writing this, I'll be in there borrowing again.

  • Rebuild the entire train. Every part of it needs rebuilding and detailing, like adding screws, bolts, edges and separating panels like doors and windows. The big thing is building each car separately. When I started this project I built the whole train as one object, this was a really bad mistake. As I stated earlier, I used sub-D to model the train, which creates a lot of poly's. When I started using boolean to chop up the separate cars, Blender didn't like this, it crashed. Another reason for building separate cars is adding internal rooms and compartments. I didn't add any of these for a couple of reasons. One and most importantly, time constraints, there just wasn't the time I needed to build everything. Another reason is animation, every object has to go somewhere when the train transforms, less objects means less time to animate the transformation. For the next version, I will also be chopping the train up into smaller pieces. The pieces I had for the original transformer were too big and bulky, they should have been much smaller allowing for greater detail during the transformation and giving me the opportunity to make a much slicker looking transformation. Each piece also needs more random looking sides. If you look at the current train, all of the pieces are blocks, just plain ol' blocks, boring as they come. What I want to do is make the outline of each piece much more random, this will add visual interest to the transformation and to the robot itself.

  • Re-texturing the entire train. When I built the first texture, I built it just like I built the train, as one big image, this won't work when I separate it. Also this kind of goes with rebuilding the train because when I rebuild it with all of the details, I'll have to build new textures for all those new details.

  • Re-animating the transformer. The transformation was not bad in this version, but it lacked a few things mainly because of time constraints. On the extended version I want more pieces to work with. When you only have big blocks, making curves and delicate shapes is impossible. You also need a lot of little edges to make the character interesting to look at when it transforms and when it has completed it's transformation. This will also give me more options for the transformation, I could have it turn over, turn inside out or any number of other solutions that I could not have done on the current piece.

  • Re-compositing. This should be similar to what I had before, with the hope that I have a couple more nodes to work with, like brightness/contrast and levels. The composite needed some help in the areas of color and blurring. At this point, I am not sure how to modify the color in order to get it to look more composited, this is an area that I need to get some education on. As for blurring, I need to take a look at some real footage of a train moving down a track from a point in the distance to totally past the camera, this would be a perfect reference considering this is what I want to do, to see just how much blurring I need to do. This is an area I also have been confused in, I never know how much to add or not add. Apparently, my eye is not tuned to this part of compositing yet...something to work on.

  1. Work flow and Time line changes:

    For starters, I'll have one. In this project I had no work flow and no time line, mainly because I didn't know Blender the way I do now, on the next project I should have a better idea of how long it will take to do each step. That doesn't mean the project will move along perfectly, each project is different and therefore different problems could arise. The main thing is I will have a plan to help keep me on track and organized.

What I've learned:

  1. Model first then texture then animate

    Once again this goes back to having some sort of work flow and time line. I was all over the place on this project, I modeled, I textured, I rendered, I animated. I have to get back to my teachings...model, texture, animate, light, composite, in that order. I know, for example, I may have to hit modeling after I have animated a piece; but again, its all about organization and having a work flow to work from.

  2. Decide with drawings how to cut up the model

    One thing I've never done is drawn my ideas out to work from. I was never very good at drawing, all my straight lines were curvy or just plain not straight in some sort of way. My dark lines were too light and my light lines were to dark; when it comes to drawing, I'm a mess. This gives me great respect for those who can draw. I remember when I was a kid in church and at home, I would spend time drawing on pieces of paper; coming up with ideas for cars, engines, snare drum head tighteners, etc., etc. I always had a great imagination for technical concepts, but not as much for art. I have always loved art, but not been very good at it, until the greatest give of mankind came along...3D animation (maybe that's exaggerating a little...or a lot). I can do just about anything in 3D, hence that is where I start my projects at, not at paper. This is something I really need to work on; so for my next project I will be starting with drawings, they won't look like Mono Lisa's or even a Dali, but they're a start for the project. One more note, this is where 3D animation differs from other forms of art; you don't have to know how to draw to become a great 3D artist, just have a passion and desire to do it, everything else is technical. So in this case, I will find some side shots of the train, print them out and start drawing my subdivisions. Once I have that, I have a plan.

  3. Needed more layers of texturing to make it look more convincing

    In the compositing process, you create many layers. Some films have had as many as 100+ layers for single shot, that is a lot of layers. Each material on the object has many different facets to it, specularity & diffuse lighting, reflectivity and refractiveness, this is just a small list, there are many others. Each of these, depending upon the layers in the surface, can be subdivided into layers themselves. When you start adding this up, it gets to be a lot of layers, and that is just the 3D objects in the scene. You'll also have layers for the background plate. It will need to be recolored depending upon how it was filmed and the mood the director is trying to achieve, now 100 doesn't seem so many. As an example of my own, if you look at my homepage you're seeing about 60 – 70 layers. Each layer adds something to the overall effect of the finished piece. Some of the layers are just dirt, some are scratches, some are recoloring the materials like the rock or the steel plate. These are the same additional layers I needed to add to the train, I wouldn't have added as much dirt or scratches; but nun the less, I needed some of these things to make it more convincing. Something else I'll add is the offset and imperfection of each panel. On most equipment, each panel is somewhat bowed or twisted, it's not completely perfect, this would have helped out a lot; but this does go back to what I was talking about before about time constraints, if I would have had more time, I could have added more detail.

Project Main Page
Project Summary Report
Daily Report

Park Grill

DEMO REELS: 1998 (8.8 meg, 2 min) 1999 (14.1 meg, 8 min)

Resume Portfolio Examples of My Work