May 2, 2009

On Worldbuilding

Over the semester I've been using various techniques to produce something like a compelling world for our action to take place in. The aspects of a compelling world, which we came up with in our first few meetings: history, continuity, and believability. We decided that painting is the most direct way of getting these ideas across.

First attempts with 3D paint hardly addressed this. 3D paint is great for roughing in the concept, but it is messy both in execution (you have to have pretty high-res maps to get good detail, and even then it is hard to pull off) and file management (it makes new copies of the 3D paint texture each time the project folder is changed). I experimented in making cubes into different shapes by using the transparency aspect of 3D paint. It works reasonably well, but really only for (far) background objects. In the end, 3D paint seems really only good for touch-ups.

Our next foray into painting a world in 3D was using paint projected from a camera in perspective. The point of this was to allow the artist to paint a scene as a whole (say, projecting paint for each of the booths) and in the context of the shot. Time would not be spent on background objects and foreground objects would be adequately painted. Small details inside the booths would not be modeled, but painted onto planes which should catch the paint at different depths. I used a camera copied directly from the main camera. It wasn't moved back to capture more of the surroundings.

Taryn painted a booth, which I lit in Maya to see how the paint held up. Lighting the scene opened up some sticky problems, as Taryn had painted some grass in front of the booth that when lit didn't look as if it was actually in front of the booth. Placing a plane here wouldn't work because it would still interact incorrectly with the lighting. Also, the objects in the scene looked very different from the initial painting.

My painting process went along these lines:

I built some more detailed models of the surrounding booths (as we decided that if we were lighting the scene, better geometry means better light, though they were still fairly rough).

Though the scene was already lit, I took a render of the scene and painted over it as it was not lit.Then rendered the new paint with a shader that would catch light (a lambert in this case). This first step used different PSD file textures for each object, that though it used one psd file, each pointed to a different layer set. This approach means you can paint over the edge of the objects in your scene, and it shouldn't show up when rendered.

I took the lit image back into photoshop, to paint details according to the light. Then applied that paint back into the scene as a surface shader. This last step allowed me to paint over the boundaries of the initial objects and add in transition details (like the grass). The last surface shader could pretty much be one surface shader, applied to all objects in the scene, using a PSD file texture set to Composite. The only issue with using Surface Shaders is that they don't compute transparency properly, but for my approach this wasn't really an issue.

The downside to working this way is that I have to paint in perspective, which is one of the things that Maya is great at and that I am not so great at. Same with painting in light. The resulting image is an odd mix of handwork and mathematics. I personally don't think that my painting skills can make something look 3D polished.

1 comment:

  1. One correction. You wrote:

    (it makes new copies of the 3D paint texture each time the project folder is changed)

    ... but I think you mean when the scene file name is changed.