Compositing Adventures
Part of composited animation for previs 3D animatic.
I’ve been personally working ahead of the rest of the team on critical scene which explains the backstory to the X and Y Universe. The scene calls for shots in space and of planets as well as grand establishing shots of an ancient city and crowds of people. Several elements of creating the shots for this scene have been more challenging then I expected. The amount of models in the shots of the ancient city with the crowd have made it impossible to work on the shot comprehensively because of memory and CPU limitations.
So the first trick was to layout the models in layers. That allowed me to work with subsets of the shot, one layer at a time and therefore not get hit with the slows that occur or the crashes that come with using too many system resources.
The crowd was particularly challenging because I wasn’t sure about the best approach. Blender would allow you to duplicate character models of course, but there is also this interesting feature that allows you to create multiple “instances” of the same model. Essentially you have only one model and then you create points at which you want Blender to render duplicates of the model. Ultimately that approach seemed to take more system resources then actually duplicating the models. I.e. I was getting unusual and incorrect rendering results using the multiple instancing, blender refers to as “Dupliverts.”
I finally got all the models layed out in various layers. Now how to do the rendering? It occured to me immediately that if I couldn’t even handle laying out the models on one layer I wasn’t going to be able to render a 1400 frame animation all at once. In fact most studios would have this problem at some level. Maybe with more equipment a pro’s threshhold for screaming at the whirling fan of the computer would be higher, but ultimately every production has to deal this problem at some point. Yes there are render farms, but the problem isn’t that big yet, we are just doing low poly 3D animatic here.
The solution is compositing. You have to render different elements of the shot seperately and then composite the frames together. Blender has a node compositing system for this purpose which I’ve been learning. The compositing system is linkable to the rendering system so that you can render the different layers into seperate buffers and then composite them (along with any other processing like color correction) into the single frame of the shot. Of course this doesn’t exactly help my resource management problem because storing and manipulating various render layer buffers isn’t cheap either, as far as I can tell.
So I ditched the render layers and rendered to the harddrive layers as scene elements against a green background. Yes! my own greenscreen within the computer. Then using the same process, from the Blender side of things, you would use to handle live action green screen fotage, I composited the elements of the scene back together.
I tried it out for a single shot and a small 10 frame animation and it works! So now I’m in the process of rendering out about 40 different 1400 frame animations to be composited together. You can see some renders of the work in process
Stay tuned to find out what happens next in the Compositing Adventure.