My friend Heather let me film in her family’s cabin a couple weeks ago- which is something I’d been wanting to do for years. I hate filming white walls, and the cabin has the greatest dark-wood paneling I’ve ever seen, and these ugly brown carpets, and these outdated linoleum floors- it’s gorgeous.

Unfortunately, the cabin isn’t supposed to be on the edge of a cliff by the sea; in the story, it’s supposed to be on the edge of an old forest, overlooking a construction project.

My initial plan had been to film the cabin, and just digitally paint in the area around/behind it with the digital background, but as I started laying in the on-set photography, I realized the perspective I’d shot the house at didn’t totally line up with how I wanted the final shot to pan out.

Fortunately photo-projection exists, and is pretty darn easy!

For those of you that don’t know, photo projection is when you take a two dimensional picture, and attach it onto 3d objects in the computer, like a giant sticker. Take a look below to see what I’m talking about.

thecabinjustmatching_perspective

It doesn’t have to be a detailed model- most of the weight is going to be carried by the textures.

Now I effectively have the house in 3d. It’s limited; I can’t see anything that wasn’t visible in the original image, obviously (I can’t rotate the building around and see the back, for example), but as long as the camera angle matches pretty well, there’s often very little cleanup involved. I did have to rebuild a few walls that weren’t visible in the original picture, but that was pretty quick too.

You can see it only really holds up at all from the direction of the original camera, but there’s a bit of leeway. This is just a preview render, so it’s not a good demonstration of what it would actually look like, just the way the photo is mapped to the object.

Quick note for anyone trying to do similar effects in Blender (what I’m using): when rendering with cycles, I keep the projection-mapped bits as an emission texture set to an emission of 1 (an emission texture? whaaaa? But yeah! The bright points radiate an appropriate amount of light (as if the light were emitting/bouncing off the model to begin with), and the dark shadow areas hardly radiate anything at all. Take a look at the example below). The rest of the building I texture as a normal diffuse/glossy combo, and I try to light it all so that it closely matches the original lighting of the projection-mapped bits (the lighting won’t affect an emission texture, just the diffusion). Again, as long as you hide the seams, it’s a fairly forgiving process.

Since I had it in 3d, I could then create my own camera move in the computer, something I hadn’t done on set on the day. But that meant I had to recreate an area around the house, too.
image3

It wasn’t too hard; a groundplane, a quick picket fence, a free tree model from blendswap.org, and blenderguru’s Grass Essentials, and it had a little environment! I’m actually pretty tickled pink with how it turned out.

The whole background was a wonderful “it shouldn’t be that easy” scenario. A building under construction? Eh, we need floors- horizontal planes. And some vertical I-beam type stuff. And a big cube inside with a glowing nighttime skyscraper texture, to fill it all with little lights. Hit render. Bam! That looks… fine!

closerview (00000)

I also modeled a few basic low-poly props, to flush out the scene. Back when I started working with 3d (in like 1996, or something stupid like that), every polygon mattered, and I still tend to model way more low-poly than I need to. The plus side is that when it comes time to put together a large-scale scene like this, my computer has no problem dealing with the file.

small_models

The models themselves are total crap, but I knew it was only ever going to be seen at dusk or night, so as long as the lights pouring out of the windows felt right, I figured it’d sell it.  The little portable units are so low poly there’s actually a whole small town off in the distance, and it’s so low-poly it doesn’t affect the performance of the computer in the slightest.

The ground was the thing I was most worried about, but again, it ended up being way easier than I expected.

image1

I started with an initial ground model. I sent a view of the ground into photoshop, and started to paint over it.

image2

Look at that crap. The pictures are just an amalgamation of random stuff I found online. It looks super balls, and that’s ok; I intentionally used pictures with overcast/flat lighting, so that I could overpower it with my own lighting once I brought it into the scene.

I then took the picture back into 3d space in blender, and using the projection mapping technique described above, projected it back onto the groundplane. And it basically worked right off the bat! Some of the pictures I’d used had had big puddles in them, and since they were the brightest part of the image (because they were reflecting the bright sky), I was actually able to assign anything of a certain brightness or higher to be a glossy texture, effectively meaning that all the water was automatically reflective in the 3d scene (I used the same trick to add a displacement map to everything except for the water bits, which I wanted to remain smooth).

See? I mean. It just really has no excuse for working that well.

But yeah! Whole big ol scene, with ridiculously few polygons. It renders quickly, and looks pretty good in a lot of different lighting setups!

brighter corner