View Full Version : joints. how the -redacted- do you FIX the arbitrary rotation axes in joints?

12-01-2012, 05:26 PM
just like the title says.

I've jumped into joints, because I'm trying to work my way past the poorly implemented skelegons and bones.
and I'm finding the same problems...
I don't think the joints' rotation axes are necessarily arbitrarily set, but they might as well be. They seem to all be exactly the same, and not what i need.

I found a rotate pivot tool in the modify tab... and guess what? it doesn't affect joints (even though it seems to)

so I need to know, and I'm having trouble finding information on how to : Control the Joint's axes. Because where LW put them is worthless, the docs are a little too quiet on the subject, and the obvious answers aren't correct.

12-02-2012, 12:35 PM
Hmmmm... I learned a ton of info through RebelHill here on the forums. He is prob the best source of all Bone and rigging related questions. His main website is here. http://rebelhill.net/index.html. But you can find a lot of his posts on the forums.

From what I can understand with your question, when I need to change the rotation axis of ANY bone (Joint or Z-axis types), I deactivate it (in bone properties menu, or uncheck it √ in Scene Editor), rotate it normally (no special tool), Record Pivot Rotation (Defult Shift-P), rest it (Default "r"). Do this all on frame 0.

12-02-2012, 12:43 PM

stuff here... http://www.youtube.com/playlist?list=PLFE2602D321EE2775
and here... http://rebelhill.net/html/rhrfree.html

12-03-2012, 04:03 PM
Thanks guys.

it appears I was setting up joints improperly:
make new joint, Move it into place, make child joint, move it into place, repeat.
this makes all of your bones face the correct direction, but your joints are all facing right down the Z axis. in this situation you can't fix them as far as i know. and Up till the point at which I posted this thread... I hadn't ever gotten around to resting or turning on the bones. (i'm old hat with bones.)

this behavior goes against the intention of joints, all the white papers, and the rest of the industry. Whatever... LW does things differently, i see that now. I'll shy away from the sarcastic comments for the moment.

once I learned that, I setup bones by rotating them into place, and only translating them along the Z axis.
this is stupidly tedious. That's the best that can be said for it.

what i was trying to do originally, was to change the rotation of the joint axis, Not the joint itself. For instance, you have a joint chain, the joints are all in the correct position, but the rotation axes aren't facing the correct way...
the B axis is not co-axial with the Z axis of the bone, the P or H axis axis is Not in the correct plane for the kind of movement you need... that sort of thing.
so you need to realign the axes, without rotating the child bones.

I really needed to be able to do this with skelegons, no luck.
I needed to be able to do this with Bones, no luck.
The very reason we have joints in the general sense is to be able to do things like this, but apparently not in LW. Joints in LW just seem to be a vague implementation of something not completely understood.


12-03-2012, 05:11 PM
Bone Twist?

12-04-2012, 06:10 AM
I think u want the draw joints tool.

12-06-2012, 11:05 PM
dexter2999 - not enough axes in bone twist to fix the major F-ups Lightwave is putting into the joint rotation axes. I see quite a few rotation axis tools... like align pitch... but none of them help you avoid permanent gimbal lock if your parent joints are at wild angles to each other (say 90 degrees)

rebelHill - I just got through a session trying to use that tool.
the joint tools are poor. they do not allow you to adjust the position of the new joint after you create it, so you only get 1 shot at it, and on 1 plane. I'd be very happy if they allowed me to move a joint into the correct position along 2 or 3 axes instead of just the one, but someone forgot we were working in 3 dimensions when they built this tool. So I'm back to square 1. I have to rotate or translate the joints into place.

I have successfully done just that. I drew the joints, I rotated them into the correct plane, and then I translated them along the Z axis to get to the proper rest length. then I rested all of the bones. In this case, I selected a bone, hit "r" on the keyboard (resting the bone I believe, but I document it this way, because I suspect the process has changed somewhat), hit the down arrow, and repeated until i got through every bone. And do you know what happened? My model turned into chewing gum. It is probably because I translated and rotated the joints, and didn't hit some critical step that has so far eluded me in the "documentation." (3 pages on bone edit mode, and so far just 1 sentence on setting the rest rotation and activating the bones.)

this learning process would be much better if the guy who wrote this corner of LW was responsible for answering our questions.
I'd start with:
if you wrote the draw child joint tool so that the user can't actually move the joint right after creating it, but before committing it and moving onto the next joint... why on earth did you put a Translation manipulator on the active joint? What kind of sense does that make?

ogres are like onions, so is working with joints in LW. The system has layers and each one stinks.

12-07-2012, 08:54 PM
The only tools I ever use any more is "draw child joints." Once you get all of the joints created and positioned, I suggest you turn on rotation (y) and use the up or down arrows to step through the joints. You will probably see several different H, P, B values. I suggest you hit shift-P to zero out the rotations. Unfortunately, you must do this one joint at a time.

I usually "record the rest position (r)" for all of the joints at once. You can do this quickly by selecting one joint, then middle-mouse lasso all of the bones. I then test the rig. If I need to make adjustments at this point, I middle-mouse lasso to select all of the bones and then hit control-r to turn off the bones. I then fix any placement or rotation issues. After that, I always check the joint rotations again to make sure they are zeroed out. I hit shift-P if needed.

When using the old z bones, I sometimes needed to use bone twist to change the pitch and heading for the upper arm and lower arm bones. The upper arm is a problem if you do not use heading to raise or lower the arm and pitch to swing it forward and backward. With the lower arm, the natural rotation is sideways.

Ir you are using a standard T pose and you are looking at you rig from the back orthogonal view, you will want to see the entire green (pitch) circle on all shoulder/arm/finger bones except the upper arm and lower arm. The thing to remember is that you must zero out the rotation (shift-P) after using bone twist on the bone twisted and its child.

Using joints, I discoveredI really no longer need "bone twist." I can simply rotate the joint as needed with the normal rotation tool.

Don't know if that helps you. I am no expert. The rigging expert is Rebel Hill.

12-08-2012, 03:19 AM
Well... you can jump back n forth between Zbones and joints easy enought... so your best bet might be to lay things out with ZB, use the joint/tip move tools to fine tune as you're wanting, then convert back to joints. You're right though... LW hasnt added many tools for working with joints the same way you can with Zbones for some stuff. What would probably be most helpful would be an "orient joint" tool like you have in maya... to allow you to translate joints about, then "update" their parent rotations to"fit" with that new positioning. SHoudnt be that hard to make actually either... maybe Ill take a look if/when I get a chance.

12-09-2012, 08:25 PM
mdharman, zeroing out the joints... that doesn't do anything to the joint rotation. it just masks the difference between the value you want to be zero, and its real values (says so in the docs) so all you're doing when you do that, is making the values easier to get back to when you are animating. it doesn't for instance: fix gimbal lock, or unscrew up joints that LW has decided to make 2 axes co-Planar. I will try setting the rest position all at once, thanks, that might save me a few minutes.

I am not using a standard rig, or even one remotely like a standard rig. I require more joints, and angles that are not lined up with any axes, I refuse to break the model and the artistic intent in order to conform to the limitations of a short sighted rigging system. As, rebelHill implied: Maya has the proper tools already. Newtek simply had to read the white papers, UNDERSTAND them, and follow meekly where other have already cut the trail.

again. I have spent Hours on something that can be done in other apps, very quickly. And I still don't have a bone system that does anything. I'm reading the docs, I'm well versed in more than one rigging system in more than one other app, I have multiple years' experience with LW's jointing system, both skelegons and joints in layout. This should not be difficult. Newtek has had years of in house experts, freely accessible scientific papers on the subject, and real world examples of what to do and what not to do. At the very least, they could have made the documentation much better than it is. they didn't.

rebelHill, much appreciated. I think this is one of those cases where the tools just don't cover all eventualities. If you build that "orient joint" tool let me know. I had thought i found one early on. Its called "rotate pivot", which seemed to be a general tool that might solve my problem. it even gave the correct feedback, but it had no real effect on the joints. Guess joint pivots are not exactly real, and thus have implied values.

12-09-2012, 09:08 PM
made a pic illustrating how poorly the joint system is behaving.

shows the joint chain I am having trouble with, back, side and perspective.
there is a joint near the bottom highlighted by the bone twist tool.
the axes displayed by the tool are the same as the ones the joint uses.

you'll see an error in the joint rotation.


12-09-2012, 09:18 PM
I tried rotating the bones into place... the difference is more subtle, but error creeps in that way too.

12-09-2012, 10:05 PM
Can you post the scene file? Seems easy to fix. You are hitting the space bar once you use bone twist, right? Also, any time I use bone twist, I must hit shift-P to see the results.

12-10-2012, 07:40 AM
I went into Modeler and made a curving arm using Rail Extrude. I took that into Layout and tried to rig it. I see what you are talking about. Is the point of your post to state this weakness or find a solution.

I was able to rig it without too much effort by taking one of Rebel Hill's suggestions. I draw the first bone using Z bones and rotated into position. I used Bone Twist to line up the pitch as I wanted. I recorded the pivot rotation (shift-P). I then added the second bone by using Draw Child Bone; hit space bar to turn off the tool. I rotated it into position and hit shift-P. I continued and it worked fine. Once all of the bones were created, I used the middle-mouse bounding box to select them all. Hit P for properties and changed them from Z bones to joints.

I agree, it was a little painful. It would be nice for Newtek to make this easier. I tend to create more traditional human rigs.

If Maya works better, why not use it for this character? I love LW and use it 99% of the time, but if it works better in Maya, 3DS Max, Soft Image, or Blender, why not use the best tool for the project?

12-10-2012, 05:36 PM
I'm trying to get up to the level in LW I am already in, in maya. That's all. I haven't had much call for character work recently, so I hadn't touched joints. So, one day i said: might as well understand as much of LW as I can, and I sat down and started trying to learn. LW has this annoying trait of 90% = 100%. Newtek does almost enough work, delivers, and then forgets the promise. the feature falls under the development train, and never gets to 100%. Users get used to the quirks and eventually the feature either becomes useful, or ignored.

I'm trying to discover whether the joint system in LW is:

1. better than any of the other half finished bone systems
2. useful, or worth ignoring.

i suspect joints might have something to offer us, but right now, I'm down in the weeds, trying to find the things I need to get used to.

12-12-2012, 12:29 AM
I'm trying to discover whether the joint system in LW is:

1. better than any of the other half finished bone systems
2. useful, or worth ignoring.

Don't really feel qualified to comment relative quality on the first issue. As for the second, I'dve said "useful" and "the future" up until LW11, but now between recent events w.r.t. FBX, and certain shown aspects of Genoma, it seems like Newtek themselves aren't as "committed" to joints as they were. Seems like a bit of a shame, since joints don't seem to need that much work to be 'competitive' (numerous past threads on this, won't repeat), and still seem closest among LW's systems in that regard (IMO). Alas.

It really would be nice to get a conclusive answer from Newtek whether they intend to develop joints further (in short- to mid-term sense) or not. Genoma as shown seemed very bone-focused in component library, and while it may "also work with joints", remains to be seen whether it'll ship with as many joint-based components as bone-based ones. I guess we'll find out soon enough, I'd like to know too for reasons similar to yours.

12-12-2012, 03:24 AM
Im not sure what other half finished bone systems you're on about... but regarding joints...

They are most certainly useful, very much so as it happens. There are certain tricks you can pull off that make some effects very easy to achieve, the twist deformation being a great example. The "problems" you're having are also one of the great things about joints, the ability to have the axial alignment differ from the deformer alignment is a very useful thing in certain situations. You may find it handy to check out an old bug report vid of mine from a couple years ago which shows, pretty in depth, the differences going on between bones, joints, and joints in other apps, specifically maya...