Move rotations from hip to root while keeping figure in place?

I've asked about this before and IIRC the answer was "no," but I've reason to ask again, just in case. Is there a way to transfer the rotations on a figure from the hip node to the root node (thus un-zeroing the root node, and zeroing the hip node, obviously), without changing the figure's position in the world coordinate system?

I just discovered that I can rotate (but not translate, for some reason) multiple selected figures using the rotation parameters, if the parameters have the same name, so that they're consolidated. This has been a feature wish of mine for ages (I know I can parent objects to other objects and transform the parent, but I want something that doesn't depend on parenting, since "parent in place" doesn't seem to work in most of the cases I need it to).

Unfortunately, a good while back, when I started using hierarchical pose presets, I decided to make a standard practice of locking the root node of figures, and using the hip node for all rotations. And rotating multiple figures using the parameters only preserves the relationship between the selected figures if I use the root node, not the hip node. In other words, I think I'm going to change my standard practice.

Unfortunately, all of my many hierarchical pose presets were created using my previous standard practice. So I'm going to need some way to convert them all, and I don't think doing it by hand will be feasible.

Comments

  • JQPJQP Posts: 510

    Looks like I spoke too soon (I was so pleased :) ). After a bit of testing, it seems using parameters doesn't work, either.

    And after more testing, I really have no idea how this works. In the scene I first tried it in, it worked a treat. Then I loaded up stock versions of the same figures (G3F, G2M) and tried the same thing, and it gave me very different behavior (basically, there was an increasing amount of "drift" between the two figures, the more I rotated them). I loaded the first scene, played around a bit, and the figures are rotating together the way I want them to.

    It's nice that it works in that scene and all, but I need to understand why, so I can repeat the process at will.

    I really need some way to rotate (and translate) multiple figures, using a common pivot point, that doesn't involve parenting. Or if parent in place actually worked (i.e., parented figures didn't move in world space when you unparent them from rotated/translated objects), that would solve the problem, too.

    It seems like this should be pretty doable for the manipulation tools (universal tool, rotate tool, translate tool); when multiple nodes are selected, the figures/objects are rotated around a common point that is derived from an average of the pivot points of the selected nodes. It wouldn't replace anything worth keeping, since the current behavior is just wonky and useless.

  • I can't say I've noticed issues using Parent in Place, can you give a simple step-by-step that fails to leave the figure in it's position?

  • JQPJQP Posts: 510

    Sure. Parent figure to object. Rotate object. Unparent figure, watch it move. I need "unparent in place."

  • JQPJQP Posts: 510

    But what would be more convenient would be a command to give the effect of unparent in place, then reparent; transfer the transforms to the figures, without my having to go through the extra steps of parenting, then reparenting. Actually both would be nice, as I could see needing each in different circumstances.

    On the other hand, what I described for the transform tools would be best. Then I wouldn't need to go through the extra step of using parent objects as proxy to transform multiple objects simultaneously (biggest problem is messing with parent object's pivot point, so that parented objects rotate around needed point; tool that averaged the pivot points of selected objects would mean I wouldnt have to mess with this, and wouldn't have to worry about a parent object's pivot point being secretly moved by a preset or some other unknown process in DS, something that I find happens a lot).

  • I just tried that on one of my test scenes, which has Genesis 3 Female and a plane for light bouncing. I parented the figure to the plane, roated the plane a quarter turn, unparented the figure - and the figure stayed put.

  • wolf359wolf359 Posts: 3,764

    I just tried that on one of my test scenes, which has Genesis 3 Female and a plane for light bouncing. I parented the figure to the plane, roated the plane a quarter turn, unparented the figure - and the figure stayed put.

    I just parented the G3 female to a null and rotated the null 90 degrees.
    unparented the G3 female and she did not move
    the same result when I move the null on the Z axis
    she stays exactly where the null left her after unparenting.

     

  • JQPJQP Posts: 510
    edited June 2017

    Was this changed for 4.9, or something? I get totally different behavior from 4.8. Tested in a fresh scene with stock figures, using as parents everything from groups to nulls to primitives.

    Post edited by JQP on
  • JQPJQP Posts: 510

    K this is bizarre, now I tested again and it's working the way you describe. I guess I have to delve into some of my scenes and test this out so I can figure out what the heck is going on.

  • JQPJQP Posts: 510

    K I figured it out. As I said above, I made a standard practice of locking figures' root nodes (I forget why, but I think I had a pretty good reason - I'm sure I'll rediscover it soon, if so). Parent In Place keeps an unparented figure in place by applying transforms to the root node of the figure. Guess I'm switching up my standard practice after all. I should have figured this out yesterday, but I was already pretty fried by the time I made the thread.

    Thanks for the very helpful help folks. :)

Sign In or Register to comment.