Constrain Armatures Like Levers?

Hi guys,
I am a little bit stuck. I am trying to model and rig Lego figures as CG doubles for a stop motion animation my brother is working on, but alas, most real Lego pieces move more like levers than organic armatures.

http://img70.imageshack.us/img70/113/robot1g.jpg

http://img70.imageshack.us/img70/2806/robot2c.jpg

http://img220.imageshack.us/img220/3199/robot3o.jpg

There are three points of motion. The two antennaes need to move separately. But the robot has a neck - point A - which needs to swivel left and right, but not up and down. So I need to constrain it to the z-axis. But if I do that and turn the robot sideways with the main control armature, the z-axis will no longer be directly up, so the neck will constrain incorrectly.

Secondly, I need point B, the base of the antennae, to rotate on what is the x-axis, and that only. Say the antennae is pointed straight up. Theoretically point B should rotate all the way around so that the antennae can be pointed straight down, straight forward, straight backward, etc. But if point A moves, then point B’s axis has to change accordingly.

And point C is the same, except it should move on what is now the y-axis. And if either point A or B change, then the axis it rotates on must also change.

The problem is I want to just be able to grab and rotate the bones controlling each of these parts no matter what view I’m in. I want them to rotate on the same axis regardless of my window position. I want something more like levers and less like armatures.

Any help would be appreciated. This would also be useful for modeling minifigures.

I figured it out! It’s actually killer simple.

Say you want to constrain a bone to the x-axis. Just select the bone in pose mode, hit N to bring up the little menu, and then hit the little “lock” icon next to RotY and RotZ, but leave RotX unlocked.

Blender rocks! :smiley:

Did you model this yourself? It’s really cool. I was thinking about modeling some lego stuff just because it’s simple.

Yes I did! Thanks, glad you like it. I’m working on a very large vehicle right now. Yup, Lego is beautifully simple, and renders nice and fast. :smiley:

Any tips on making the pieces?

Nice!
I just love Lego renders. :slight_smile:

@Minifig - thanks! I know… Lego is awesome, Blender is awesome… when you put the two together, you end up with some pretty awesome awesomeness.

@hellot - well, first of all, make sure you know how to use the “set smooth” and “auto smooth” buttons. That way you can use few polys and get nice smooth edges.

Second, most Lego bricks are square, so build off of cubes. Knowing how to use a constrained scale (s + x, y, or z) is crucial.

Third, I personally find it doesn’t matter if you properly connect the studs to the base of the bricks. Cylinders intersecting squares are OK in my book.

Fourth, if you choose to show certain pieces up close, you might want to make the edges a little less, well, edge-like. If you look very, very closely at Lego bricks (or anything else square!), the edges are actually somewhat rounded. You can do this by going into edit mode, selecting the piece of the brick you want to operate on, pressing W, and selecting “Bevel”.

Fifth, I found it looked great to actually model the word “LEGO” on top of the studs. Of course that depends entirely on how high-poly you care to go. I found my computer had no problem with quite a few such studs. Again, probably don’t try to actually model the word into the stud, just make it an intersecting piece of the mesh.

Sixth, it definitely helps to remember the proportions of Legos. Remember that the typical height of a brick is a little taller than it is wide. The flatter, shorter pieces are one third of the height of a regular piece. Keeping a good handle on proportions is a must. Make a couple basic brick pieces to define the size of all the others, and stick with it.

Seventh, if you need to model ridiculous holes and such, sometimes it’s good to use Boolean tools. Select two meshes then press “w” to bring up the Boolean menu. It is for adding and subtracting meshes to other meshes, and works well. Just remember that if you use this you will not end up with very clean mesh topology. However, I find it can still be useful, and can result in impressively complicated pieces. However, I use it as something of a last resort.

There are some free downloadable lego models available t Turbosquid and other such sites. Also if you google blender 3d lego and other such variants then you’ll find some excellent tutorials on building lego pieces.