Trouble morphing, trying to include bones...

This is not a double-post, though it is also mentioned in a prior issue.

The issue: I am creating a morph that depends on the models prior weighting and bone-pivot/location. So, I have moved the bone, which moves the associated object, (an eyeball). I have exported the "Bone positions" as a "Pose", because that is the logical way to save and position bones after creating a morph-export-object, which does not save the bones. Then I load a fresh model, for the "morphing creation"... Create the morph, which places the morphed eye onto the default bone position, which is in the wrong location, as that is just the "shape" of the item on the bone. Then I load the pose, which moves the bone to the correct location, with the pose, and all looks good...

Except... I am told that I have to do an ERC Freeze, to get the actual "Morph" to remember the bones location. (The location the bone is in now, in the pose.)

I do that process... Using the default settings, as I am not sure what any of them actually do. Looks right to me... The modified bone shows as the modified object, and it is set with a value of 10...

Once the process finishes, the eye is 2x higher than normal, twice the distance from the bone it was just perfectly matched to. (Looks like the pose stacked with the morph-adjustment. Like stacked morphs when you apply a DForm, while the DForm tool is still present.)

Just for kicks and giggles, I saved it as a morph-asset, and it saves the whole stacked pose and ERC freeze, (Or the ERC Freeze is somehow stacking prior to the freeze, instead of removing the pose and Freezing from the default base model.)

So... What other way should I attempt to do this?

Funny that the only modification was a simple "Y-Translation", but it saves the whole Delta for the entire object, instead of just saving the "Y-Translate" of the bone, which was the only actual "Morph". (This was just a pre-test, before I actually add morphed objects into the mix. I wanted to be sure it handled the bone issue first, which, it apparently does not.)

Comments

  • JD_MortalJD_Mortal Posts: 760
    edited August 2015

    I am playing with a morph, it has a bone that needed adjusting, to keep the morph operating as it displayed, prior to exporting the "OBJ", which is the model without the rig.

    I saved the bone-adjustment, as a POSE, prior to exporting the OBJ shape.

    I loaded the "Morph", then loaded the "Pose"... Did the ERC thing, for that modified "Pose"...

    But it now is 2x higher than the set value. (Eg, it is doing the pose on top of the ERC correction/alignment. Just as setting transforms with the DFormer will stack the remembered deformity on top of the tools deformity.)

    So... How do I get rid of the "pose", which was needed to place the bone to match the morph, once it has been loaded into a character. It does not show anywhere, that I see.

    I am expecting to see a page of "Loaded poses" or "Loaded assets", where I can just remove them. However, there does not seem to be any such page. It just loads the pose, and you appear to be stuck with it, unless you reload the model from scratch. (Unfortuantely, saving the double-stacked pose over the morph, will save the pose into the morph-asset, which is not what I want. I don't want it doubled-up, as it breaks the whole thing. It is casting my "eyeball" twice as far as it should be, outside of the actual bone.)

    Clearing the model restores it to the value of 10 for X-Translation, for the eye, so I know the pose is still in there... Somewhere...

    Not sure why we can't just "Create a morph", and it remembers all this stuff in one shot... Rotations, translations, shapes, weights...

    Post edited by JD_Mortal on
  • JD_MortalJD_Mortal Posts: 760

    Note, it is not just "setting values" and then going away... (Well, it may be, but they values it sets become the items "Zero" or "Reset" values. When you reset, they go to that value, and all morphs and other translations happen from that new value, even if you manually set the value to 0.)

    So... That is why I am trying to "remove" whatever the "Apply pose" has "setup". It is causing issues with everything.

  • If the OBJ included the effect of pose then so does the morph. If you don't want that, if you want the morph and the pose separate, then you need to check the Reverse Deformation option for the morph when loading it with Morph Loader Pro.

  • Merged threads, since they are essenitally on the same topic.

  • Having read the first post I'm now unclear - is the bone moved in the morph, or is it in the default position? Perhaps you could show screenshots of the morph applied as imported (no ERC added), the pose applied, both applied, and the result of the ERC freze.

  • JD_MortalJD_Mortal Posts: 760
    edited August 2015

    The bone is moved, in the morph... (Well, it is moved prior to saving as a morph. Since the morph-creation process involves the "Eye" being relocated, but still on-axis. As opposed to moving the "eye-object", which would result in the eye being off-axis and no longer working correctly.)

    The "Test", was actually just moving the eye-bone, Y-Translate, to place it above the head. (Easy to tell if the morph fails to operate as an eye, because it will rise-up, but pivot off the old bone location, when it fails.)

    That was saved as the morph, the raised eye. (This requires "Exporting the model as an OBJ", which is the same model, but with one eye-ball above the head.)

    - Imported that OBJ, as the source of the morph. (The "bone-rig", was not adjusted on import, the bone was in the default location... So it "Isn't" reading the bones/rig, upon creating a morph. The tutorial and online forums, including your posts, indicate that the bone must be relocated AFTER importing the morph. Which is where the saved "Pose" comes-in, as it has the exact position required and moves the bone to the correct location, bringing the eyeball with it.)

    With the morph-only... the eyeball rises to the correct location, and returns to the correct location, but the bone remains where it was, in the default location. Thus, if you "Look down" as the eye-pose, it moves the eye from the top of the head, to the front of the head, as it is pivoting off the bone, which is still in the socket, way below.

    Desired operation, obviously is to have the eyeball look-down, rotating off the center of the eye, while it is resting on the models forehead, without moving off the forehead.

    (Well, that is not "what I want", just what I was using to "test" the morph and bone thing.)

    I will take a few screenshots and also the screenshot of the "locked pose values", which can't be zero or reset to any value below what the loaded pose is... Thus, indicating that the pose is "somewhere", in the scene... and can't be gotten rid-of, once added.

    Morphs need to be like animations. Save the morph and the bone... Not that difficult. (Though, the animations only save the "Morph-key and ID", but if animations can do it, morphs should be able to also.)

    The goal, once I get this to work, is to move the eyes further-apart, and lower on the face. Thus, the morphs that alter the eyelids and brow and cheek, will match, and the eyes will function with the other morphs, as expected. (There is a LOT of bones I have to move, along with the eye... Thus my reason for not attempting to "memorize" and manually re-position each of the 20+ bones start-end and new orientations. All in the eye-rig. When a simple "Translate" of each bone, and saving the pose, is the best logical method to "save the bone positions".)

    If I don't move the bones, the morphs do not function correctly. They NEED the models other weights and morphs, in addition to relocating the bones.

    Post edited by JD_Mortal on
  • OK, the pose is not "moving the bone" in the right way - the bone's zero point is in the same place as before the pose, and the pose offsets its current position from that zero position. What you need to do - manually with the Joint Editor tool or with Adjust Rigging to Shape - is move the actual bone in the rig to align with the new position of the eye, so that it is correctly placed with its translation, scale and rotation settings all zeroed (or 100% for scale). Then you use ERC Freeze to link the endpoint and origin offsets to the morph.

Sign In or Register to comment.