Saturday, March 29, 2008

Open Source: Blender

Okay, no open source series would be complete without Blender. I'm sure you've seen some of my pictures/movies I've done in Blender, but don't be impressed. Here are some pictures made in Blender by professionals:











Sorry it took me so long to add to the Open Source group, but I knew this post was going to be really long, so I've been putting it off.

Yeah.

And that's just the beginning, here's the gallery archive.

This program has soooo much stuff packed in, it's gonna be hard to fit it all in this post, but I'll try.

The main feature is obviously the CGI editor. It's really simple to use. I won't take a long time explaining this, because I'm sure you all can imagine creating 3d shapes. After you create your object, you can add a material and a texture, which is one of the really important steps. If you learn how to use Material Nodes (slightly more advanced) then you can create basically any look you want. Most can be accomplished without nodes, but for the most realism, you may need to use them.

If you want to do any animation, it's fairly simple. You just put the object in the starting position, insert a keyframe, set the new frame number, move the object to the end position, insert another keyframe, and Blender will calculate the rest of the motion. If you think the animation needs a little tweaking, you can edit the animation curves in the IPO editor. If you've got a person or animal that you're animating, then you can insert Bones into the character. Whenever you move a bone, the object around it will move with it. If you have to make a person talk, you can set up a face rig, and add keys for certain face movements. Then you can drag sliders that adjust the amount that that certain movement affects the face (fun to mess with). For more advanced animations, you can use Blender's built-in fluid simulator, physics engine, or softbody (cloth) simulator.

When you are done with your animations and you have rendered the scene(s), you can use Blender's video editor to put it together as a movie. For special effects and transitions, you can download plugins. I've even found one plugin that allows chroma keying (green or blue screening).

But that's not all! Download now (or anytime, actually) and you'll receive the Blender GE, or Blender Game Engine. It allows the creation of video games! It's easier than you may think, too. Blender uses Logic Bricks to do a bunch of the simpler things. Here is an example:

Sensors..........Controllers...........Actuators

[Keypress]...........[If]...................[Motion]
[Variable]...........[And]...............[PlayIPO]
[Mouseover]........[Or]..........[ChangeScene]
[Timer]...........[Python]....[ChangeVariable]

Where basically the Sensors sense if a certain something is true, like a variable, timer, or keypress. The Controllers define how it should let the action through. For example, If I have a Keypress sensor set to "R", and I have another one set to "Space", and they are both connected to an "OR" controller, then if I hit R or Space, the controller will let the action happen. That's where the Actuators come in; they do the action. So with the previous example, if my "OR" controller was connected to a motion actuator, then when ever I would hit R or Space, my object would have some sort of motion applied to it. It's fairly simple.

You may be wondering what the "Python" controller does... Well, if you're going to be making a more complex game, (one that needs actions beyond that of the basic sensors, controllers, and actuators,) then you can connect the "Python" controller to a Python script.

Python is used in Blender often; if you are good at it you can use it to do some advanced functions, or even create your own plugins that you can put on the internet for other people to use. It's fairly simple to learn, although it's integration with Blender doesn't have a ton of documentation, (or rather, it does have a lot of documentation, but some of it is hard to understand,) so some of it you may just have to experiment with.

Anyway, if you need to do more advanced functions like finding orientation or doing a bit of math, you can use Python. Don't worry though, if you just want to make a simple game, logic bricks should be enough for you.

Okay, enough talking about the game engine. Let's see... what else...

Oh yeah, the UV editor. This one took me a while to get use to, but now it makes sense. If you are doing more advanced texturing, you can use Blender's UV editor. You basically mark where you want seams on your object, and then unfold it. Then, if you don't have an image you were already planning on using, you can use Blender's Texture Painter to paint on the texture.

Still not done... there's more.

Blender also has a Sculpting Tool. It's really useful for making more "organic" models. You start out with the basic shape, and you use a "Multires" to temporarily turn up the resolution of your model. You then sculpt out some of the basic shapes. Every time you turn up the multires level, you do more detailed sculpting. Then, you can bake all the bumps and details to an image. You turn down to multires, (so you have a low-poly model,) but then you apply the image as a Normal Map; the different colors of the normal map represent different heights. That way, you have a low-res model that looks extremely detailed. It's hard to understand if you have no experience, and I haven't personally tried it, but some of the pictures I've seen of the process are really cool.

Well that's all I can think of right now. By the way, I think I saved this post as a draft 4 or 5 times before I finished it. Just in case you were wondering how long it took.

Oh, one thing I forgot:
If you read this post and are like O_O "I MUST HAVE THIS PROGRAM!!1!!", you may want to wait a few months before you learn it. Why? Because (hopefully) some time in May they will release Blender v. 2.5. The big deal? The interface is basically being entirely redesigned. From what I've heard, it should make it a lot easier to learn for beginners. If you don't mind waiting, it would probably be easier to learn once that comes out, instead of trying to learn it now, only to have to re-learn it in two months.

No comments: