Saturday, September 16, 2006

ITB update

Two quarters ago I led an effort to finish a short film called Inside the Box. We made a valiant effort in the 9 weeks that we had to work, but I wasnt satisfied with what we had when it was over. That's why we're taking another crack at it and making it into what it should have been. The first step is to make sure we can actually render it again. I've been working the last week on going back through our files and figuring out what kept it from rendering as quickly as it should have (we were up to 45mins a frame at one point). I've narrowed it down to the environment file, the file that had everything except the characters. Not too surprisingly, this file is a mess. There's all kinds of empty groups, history and invalid objects in this thing. So I'm in the process of rebuilding that file, going back through all of our assets and cleaning them out, and then making sure they import cleanly into this new file. Everything is done except the street (more on that later) and we're now rendering in less than 2 minutes at full resolution in mental ray. That just goes to show you what trouble you can get into if too many people aren't careful with their files. So here's a few rules that I must reinforce after fixing this file:

1. Name everything, it doesnt matter what you name it, just be consistant
2. Dont ever pass off a file without cleaning out the outliner. This especially includes showing all non-DAG objects and making sure there's nothing extra hiding in there.
3. It's just as important to name materials as it is to name objects
4. Group things together so an object made up of many parts can easily be selected with the pickwalk command (the up arrow) and moved
5. DELETE HISTORY. There's no excuse for not doing this now that maya lets you delete non-deformer history. If history nodes (they look like empty groups) dont go away with this command, delete them yourself.
6. Optimize the scene size (File->Optimize Scene Size). People are afraid to do this because it can remove things unexpectedly. However, if things dissapear with optimize scene size, it's a good indication that there's something wrong anyway
7. Dont assign materials to faces. Maya doesnt handle this well and it's a far better idea to just break an object into a few pieces so you can assign a material to the pieces instead of the faces. Then group the pieces back together.

The street in the environment has been a real pain. From the beginning we were unsure what to do because it required such a big texture and we had to get so close to it that it was noticably pixelated. We kept upping the resolution, but maya has a limit and the image file size was getting out of control. Compression helped the file size, but it seemed to only make it more pixelated. That's why I suggested using multiple UV sets, that way we could tile a smaller image over the whole street and then use special "hero" tiles that we customized so things didnt look repeated. We created four different street textures, three were unique and the four was tiled. However, the UV sets didnt seem to play well with mental ray and while we finally got them working, I realized today that it's far easier to break the street into a bunch of different pieces and assign a material to each piece, rather than try to use multiple UV sets. I'm not sure why I didnt think of this before, but it makes things so much simpler. Better late than never I guess.

The same goes for characters, just break your character up into pieces to use more than one texture. You can skin the character before you break it up, and then use copy weights from the seamless character to the separated character. This will make sure the seams are all weighted evenly and wont pull apart.

No comments: