Indeed, I wonder if Blender isn't half the reason I've become so bored with my game
lately. It's hard to get excited about building things with blocks when you can build things like in the images below.
Like six months ago, I discovered my nephew was drawing some rather nice looking guns in Windows Paint. I suggested that he should use Blender
to make some in 3D. So we downloaded it, and of course neither of us knew how to use it, and so he went back to Windows Paint.
The next week, out of boredom, and figuring it'd probably be useful to learn Blender myself, I watched a bunch of tutorial videos
that were actually quite good. They leave you with the impression that the guy wrote a script for each and every one of them. He goes over everything slowly so that you can do what he's doing as you watch the video, which seems to be key to actually learning anything, as a few videos where I didn't work along with the video I ended up having to go back and watch it again when realized I'd failed to absorb key information. Probably my attention drifted to other things for a minute.
I watched about half of the videos. I should probably go back and watch the rest as I see from the table of contents a few videos about useful things that I happened to pick up from watching other videos. The really nice thing about a set of tutorials like this is that you don't end up with random gaps in your knowledge. It feels like the difference between how I know how to use Open Office, and how I knew how to use Microsoft Works back when they taught it to us in high school. I knew how to do everything in Microsoft Works, but when it comes to Open Office, anything I want to do more advanced than typing requires me to hit Google to figure out where they hid the option I'm looking for.
One day I realized I could use Blender to figure out how to arrange my furniture. Previously I'd done this by measuring my room and furniture, then drawing a box on some paper and cutting out little squares the size of the furniture. Blender, however, offered the ability to actually see what it would look like arranged various ways.
So I spent a day building my living room and my couch, tables, and shelves in Blender, and ended up with something like this:
Some days later, I discovered Blender's "cycles" rendering engine, which offers more realistic results, but at a cost of greatly increased render times. For example, this image took 15 hours to render:
Cycles attempts to render imagines fairly realistically, taking into account not only your actual light sources, but also any lighting that bounces off of regular objects. Also, cycles uses a lot of random numbers in its rendering, and the result of that is that the render initially appears quite noisy, but as it constantly re-renders the scene with different random numbers, it averages out to a less noisy image, and basically you just let it continue until you decide the results are good enough. The above image is the result of 22,000 renderings, which it calls "samples."
Exactly how long you have to wait for a good image depends a lot on your lighting. Large light sources that are visible to most of your scene (like making entire windows into light sources) create faster rendering, whereas small light sources, particularly when obscured from most of your scene, require many more samples to render. I once tried to render a spotlight pointing at a mirror ball illuminating a room, but gave up as it was going to take forever to turn into a clear image. It was a slow render because, while cycles does take a shortcut of trying to find the light sources, it doesn't know how to find them when the light source is hidden in a reflection on a mirror, and so it only works when it hits the mirror by chance and then sees the light source.
However, such difficult-to-render scenes are the most fun ones to play with. For example, here's a render of my living room, illuminated only by an obscured light in my kitchen. Notice how you can still see things even in the parts of the room not directly in the path of the light.
While playing with Cycles one day, I wondered if my house would appear brighter if I covered the walls with aluminum foil. So I changed the wall color from beige to a rough reflective surface. To my complete surprise, it didn't look brighter, but it did look more miserable, as I'd just stripped out most of the color from the room. This made me realize I could also use it to see the effect of different paint colors.
This was relevant because my mother and I are planning to paint my sister's bedroom so that she is surprised when she gets out of jail. Currently the room is entirely black from when it was my room. We want to do something with pink in it since she likes pink, but the room has this terrible orange carpet which is just ugly as hell.
So I took a photo of the carpet, and created a texture for the floor. Then we tried some color schemes, and so far this is the best one we've come up with:
That's a 10 hour render, 5700 samples. Well, for the full-size 1600x900 version anyway. I scaled these down for the blog post. However, it's just amazing how real it looks. After staring at it for a few minutes I become a little confused when I realize I'm not actually in the room.
Anyway, that has the advantage that we don't actually have to pain the trim in the room, which really helps when it comes to the windows.
It also, interestingly, is just easier on the eyes than an all-pink room, as shown here:
Clearly I also did something different with the lighting, but I also believe that the lack of contrast just makes it a little hard to look at.
This is all quite interesting because, before this, I would have insisted that the only logical way to paint a room is entirely white. However, it now seems that light walls, dark trim, and some sort of color, is the best way to go.
However, growing tired of the ten hour render times, I decided to go back to the normal blender renderer, which unfortunately doesn't have a name like "cycles" but is just called "blender" apparently. Here's the room using that rendering engine:
Blender has one other rendering option, the "OpenGL" renderer. It's mostly just used for the GUI since it's nice and fast, but lacks the nice appearance of the normal rendering engine. However, it can be useful for getting a quick render of an animation before committing to spending days rendering it. Here's an example of the OpenGL renderer:
For amusement, here are a few more color schemes I tested and found not to be completely terrible.
Here I tried to embrace the orange of the carpet. It does sort of distract from the ugly carpet, but only by being completely absurd.
This seems to work well, and sort of matches the orange, in that browns are just dark or desaturated oranges.
Here's one with the carpet replaced. Despite the fact that we've estimated it would cost about $150 to do so, this might just convince my mother that it has to be done.
Anyway, given that I can produce the above renderings in about ten seconds, I'm growing quite fond of the standard renderer in Blender. However, I'll probably continue to stick with Cycles for most things. The simple fact is that if you're going to spend all day building models in Blender, letting your computer spend all night rendering them really isn't that big a deal, and gives you more reward for your effort. It's just frustrating every time you want to do a test render and you need to wait a minute to get a vague idea of what you're looking at, and ten minutes if you really want a vague idea of what the details look like.
Damn I use the word "vague" a lot. It's getting to be as bad as my habit of starting every paragraph with "anyway."