PDA

View Full Version : Reset Rotate pivot as well as rotation axes to 0, 0, 0?



Cageman
03-06-2007, 01:58 AM
Hi.

Is there a way to make both Pivot rotation and the H, B and P channels to become 0, 0, 0?

I've attached a simple examplescene. Open the scene and target the bone to the the null called Target. As you can see it will flip. This is because when I created the bone I rotated the Pitch -90 to get it standing, I also recorded the Pivot Rotation, making the bones 0, 0, 0 instead of 0, -90, 0. By recording the Pivot Rotation, the Pivot is now rotated 0, -90, 0 and that is why the bone is flipping when targeting the Target null.

The reason I want to have the Bone rotation rested in 0, 0, 0 is to be able to have more flexible controll of the baked motion when targeting things (ie, I want to take the resulting H channel and but it in the B channel instead). And I also want to be sure that Zero is Zero whatever channel I decide to copy/paste...

Anyone have any ideas?

evenflcw
03-06-2007, 03:53 AM
I'm sure you already know the answer, but the pivot rotation and actual rotation can't both be <0,0,0> if you want this single bone to point anywhere but down the Z axis. What you can do is give it a parent bone, and let this parent bone take over the role of the pivot rotation. Rotating this parent bone will naturally offset it's children by the same amount. So if you rotate the parent to point up the Y axis, so will it's children with both pivot and actual rotation still at <0,0,0>. This is the technique used by those not fans of pivot rotation (self included).

Another option would be to ditch targeting altogether and use IK instead. IK really does a better job nomatter what the case. It's generally more predictable, offers more control and respects/communicates better with other modifiers (well as good as it gets in LW anyways). Just add a bone to the existing bone and setup a regular IK chain. It should not have the same problems with pivot rotation as targeting has.

I don't quite understand why you want "to take the resulting H channel and but it in the B channel instead" though and if that is something that needs to be taken into account when trying to provide a solution. Is this for export to another program with different evaluation order or where Y axis doesn't point up?

Cageman
03-06-2007, 04:16 AM
Thanks for your answer.

Everything needs to be baked to bones. This is just a simple example of what I want to do in order to have a result very fast. Lets say I have a null that has a nice secondary motion (created out of a SoftFX object, giving a fast and good looking sec.motion based on the character or vehicle motion). The bone, wich is a part of the characters hierarchy, controlls an object, giving it some nice bumpyness once the bone is targeting the Null. Baking this to the bone, gives motions to the H and P channels, but in most cases, moving the H into B and delete the H channels, gives the object a dangling effect (instead of a "rotating effect") Damn, this IS hard to describe in words, and I can't show anything :).

Keeping the H channel will rotate the object wrong. That is why I need to have "clean" rotation channels that doesn't affect other axis when rotating a single channel; thus I can copy/paste between channels knowing that it will not screw up the other channels rotation.

All bones needs weightmaps; creating parent bones that really doesn't deform anything leads to a new set of problems.

evenflcw
03-06-2007, 05:21 AM
OK, got it. I saw your car-antenna-mini-tutorial and I can see how something might look more dangly rather than just springy if you cut and paste the baked H into B. Clever technique aswell as adaptation. Gotta try that myself someday.

Unfortunatly I don't think I can offer more suggestions on this. Hopefully others will offer their solutions. I also have too little experience to understand why an extra bone might cause trouble and what one might do to prevent/circumvent it. Still, hoping whatever you're working on will be shown to the public once it's done.

Dodgy
03-06-2007, 06:51 AM
Thanks for your answer.

Everything needs to be baked to bones. This is just a simple example of what I want to do in order to have a result very fast. Lets say I have a null that has a nice secondary motion (created out of a SoftFX object, giving a fast and good looking sec.motion based on the character or vehicle motion). The bone, wich is a part of the characters hierarchy, controlls an object, giving it some nice bumpyness once the bone is targeting the Null. Baking this to the bone, gives motions to the H and P channels, but in most cases, moving the H into B and delete the H channels, gives the object a dangling effect (instead of a "rotating effect") Damn, this IS hard to describe in words, and I can't show anything :).



Could you use my Springythingy plugin instead to give you the wobbly motion? You attach it to an IK target and then make that target wobble around a goal you set in springy thingy.That way you can point the bone in any direction you want to get the motion out.

Cageman
03-06-2007, 07:12 AM
Could you use my Springythingy plugin instead to give you the wobbly motion? You attach it to an IK target and then make that target wobble around a goal you set in springy thingy.That way you can point the bone in any direction you want to get the motion out.

The method using SoftFX does the same thing as your Springy Thingy plugin, with the difference that Springy Thingy was somewhat unpredictable. We found that SoftFX does the setup much more easier, especially when using more bones. Also, SoftFX has presets which are easy to save out and share with the rest of the team, so we can have presets for different kind of objects.

Cageman
03-06-2007, 07:15 AM
Still, hoping whatever you're working on will be shown to the public once it's done.

Hehe... just make sure to buy World In Conflict (http://www.worldinconflict.com/index.html) once it is released! ;)

Cageman
03-08-2007, 01:22 PM
I've found a workaround to the problem. I can create a simulation rig and place it at the exact same spot as the bone that deforms. The simulation rig consists of two bones, the first working as the pivot rotation, the child (which has both the pivot AND rotation at 0, 0, 0) targeting the null (these two bones are turned off because they shouln't deform anything). Then I Orient Constrain the deform bone to the second bone of the simulation rig. Now I can tweak the simulation bone freely and when I'm happy I just use Motion Baker on the deform bone and I'm set. :)

EDIT: Do not record the pivot rotation on the deform bone if you want to use this technique...

Cageman
03-08-2007, 02:20 PM
Funny... just tried the technique here at home with a simple colored cube and it didn't work out the way it did at work... *lol* Need to doublecheck at work to see what it was I did. I'm pretty sure I was using the Orient constrain. Here at home I got it working using a similar technique but instead I first recorded the pivot rotation on the deform bone and then I applied Follower (H, B, P only) to follow the SimRig bone... oh well...