Luxo Lamp Rig

I’m working on a big animation project at the moment and to get into rigging process before I start the complex rigs (pedaling cyclists riding across rough terrain) I thought I’d start off with a cheeky Luxo lamp I could drop in the back of the odd interior scene. All the bones to control the lamp are on bone layer 3.

What I was interested in, is does anyone know how to make the bone just above the base of the lamp which controls the tilt of back of the parallel motion arms, react as if it was being pulled by the springs? (rotate it to see what I mean - second up from the base on bone layer 3)

Apologies for the odd parent setup and separate objects per material - I was rendering in Lux so had to workaround a few issues.

happy christmas all
josh

Attachments

luxo_applied_fixarmature.blend (686 KB)


Lux?! Luxo always calls for Renderman… :wink:

ha hadn’t even though of that! anyone got any comments on the rig though? cheers

I would guess you could always do it with an action constraint…will check out the rig to understand the question better, though…

Ok, reread the question a few times while rotating that bone or moving the ik targets, but I am afraid I still do not quite understand. What do you mean by “react” here? Are you trying to get some automatic secondary motion from a physics setup? Or are you talking about what happens when the ik targets move?

Have you gone to animation school? Such a small .blend file and such a great rgi! I’ve never seen anything (on my own computer) like this! Amazing rigging skills! LuxRender to render Luxo! LOVE IT!!! 5 STARS!! Congratulations! You made my day : )!

Did you get this working? When I move ikmaster, in normal mode, it seems to work as expected. There are some issues with flipping at the extremes, but that may not be a problem, unless you plan to animate it as a character.

Have a look at this thread
http://blenderartists.org/forum/showthread.php?t=85166&highlight=auto+drive
for some ideas on getting bikes to go over terrain.Hope that helps, and good luck with your project.

cheers yellowlambo, glad you enjoyed it. I definitely didn’t got to animation school (yet), but would like to!

@fatfinger think the flipping at the extremes is what would happen in reality (well in reality if you stretch your luxo lamp that far the springs would probably break and all the metal crush rather than if flip inside out but I probably wont need to build that into this rig!). I think it only flips in positions which are physically impossible but I might be wrong.

@yoff yep a kind of automated springiness was what I was looking for.i guess an action constraint seems to be the easiest way to do it without the springiness. As its being pulled by the springs, just out of fascination, rather than need, do you know how to make it happen slightly on a delay like its a creaky old lamp and the springs are struggling to pull it into position?

If you rotate the bone (Bone.002) that controls the back set of props you notice as one set of springs gets longer, the other gets shorter. In reality they would pull against each other to stay both roughly extended by the same amount. If the lamp was well oiled enough I’m guessing there would be some kind of simple harmonic motion (imagine the physics experiment with a weight between two springs bounding back and forth, kind of like this but with springs on both sides)

I imagine the best way would be to make both the spring objects into softbodies, vertex parent an empties to points on the end of it, and then somehow setup the IKs around that. At the minute the bones which control the springs (bone layer 2) have stretch to constraints, as in their movement depends on how the bone at the bottom moves rather than vica versa, so that back part of the rig would need to be completely restructured. As you need both softbodies to be both influenced by and controlling bones on the rig I’m not sure you wouldn’t end up with some kind of dependency problem.

I think there could be a way to fake it by creating a very simple sort of “proxy” soft body object. You could create a simple cylinder, representing the spring, create an action constraint whereby the cylinder proxy is moved up and down as the lamp is pulled and pushed in and out. You could then vertex parent an empty to a vertex somewhere near the end of the cylinder and use the z motion of that empty (generated by the softbody simulation) to drive the rotation of Bone.002. Then you could adjust the springiness of the lamp by changing the softbody settings.

Two things I don’t get with blender are

  1. why when you make a softbody does it always wobble for the first few seconds like there was no gravity before frame 1, and is there anyway to stop this, or is it best just to start rendering a hundred or so frames after the softbody baking starts?

2.when you have dependency cycles often the rig works but its a bit jittery, or it puts the bones in a random place, but when you click on one of them it updates all the positions and seems to be fine. I like to try and sort them out, but often wonder if its just a waste of my time. Is there a way to get blender to iterate through its solving process a few times for each frame so the dependencies iron themselves out? And if an animation plays fine through once, will it always play through fine again? I know if you start skipping frames or scrubbing the timeline thats when dependency cycles rear their ugly heads and an armature starts to misbehave, but often playing through at animation pace the effect is barely noticeable. Are the calculations for where bones are placed at render time exactly the same as those for when you playback through in a viewport?

thanks again everyone whose helped so far

Nice rig.

I’ve been thinking of using Lux too. Have you tried using the ‘flex film’ format?

Anyways, I wouldn’t even try softbodies - I can never tweak them that much, they annoy me . I’d animate it by hand.
Good thing you spot and remove depsgraph issues. I’ve had them show up in renders - although that’s not set in stone.

yep, I’ve used flex, though I can’t say I really understand it fully! it seems to be very much trial and error. It lets you readjust the “gain” of your lightgroups which is great, but often I just can’t get the lighting results I want in the first place and trial and eroor is so slow in lux!