I've searched everywhere but can't seem to find an answer to the question I have. I'm trying to create a rolling office chair that would move dynamically. I'm hoping to have the wheels move true to life, by which I mean, they rotate when the chair is pushed so that the wheels will end up following the direction of the chair itself. Since I'm trying to do this with dynamics ultimately, I can't really align it to a spline or anything. So, I don't know how to create a rig that would allow for the wheels to change directions naturally. I started trying to test it out, but am not good enough with Xpresso to be able to do this on my own. Here's the link for the preliminary attempt at a rig that I set up. Any help would be greatly appreciated!
PS - I'm working in R.18, if that helps.
Since when do office chair wheels ever line up with the way you want to move? - or shopping carts for that matter!
Anyway, I haven't looked at your file yet but if you can have a null be the parent of the chair and that null points in the direction of travel (either through a tag or through xpresso), its pretty straight forward in xpresso to output the H angle the null is on to all the wheels of the chair's H angle.
You should use the global rotation so that no matter what way the chair inside the null is pointing the wheels will be pointing where the parent null is going.
Having the chair be a child of the object that is being thrown around by forces means you can tweak the chair's animation to your liking and have the chair spin even while its traveling in a straight line, but the wheels will still be pointing where the null is going. and will counter rotate automatically to the body of the chair.
You may have to change the calculation order of the xpresso vs the tag vs the dynamics, so you may have to make the wheel rotation xpresso priority more than 1 or 2 (you can set it to 100 to be sure if you have other things going on). that way it gets calculated after all the dynamics and the direction tag get done figuring out what they have to do.
Steve could post a screen shot or c4d file illustrating this?
open for freelance work
Sure thing. Sorry for the delay. Been busy.
Here's a simplified Steno Chair project. You can animate the rotation of the chair separately if you like but of course the challenge is to make the wheel stick to the direction of travel and ignore what the chair is doing. This includes the Expresso set up and there are notes in each node under the basic tab of the node.
In this file the chair moves along the path based on the frame you are on. To see it work (no keyframes!) just drag the time slider. I've used easy math here so that at 100 frames the chair is 100% of the way along the path. To change the animation length just change the first "constant" node value in expresso. But you can also hand animate this or use a align to spline tag. The key is to get the percentage along the path value from the chair and path combo and then turn that into a vector which you pass to the wheels.
If you want to add wheel chatter, just bring in the wheel's parent to expresso (the null) and animate its rotation and then add that rotation (with a math node) to the value coming out of the matrix node before it goes to the wheel's node. You could also do this with a sin equation so again no keyframes to worry about or just put a constant node in there an animate that value (remember that C4D uses radians for rotation)
One thing that always trips me up when working with splines: you have to drag the spline in from the object manager and then add a spline node to expresso. The spline object feeds its object info to the spline node. It shouldn't matter, but I've never been able to use a spline object dragged in to expresso as a spline node and have everything work, so don't even bother trying anymore and just use this method.