Spawn Morph Target broken ?

  • In Poser 11, i created a magnet that affect the right thigh and the hip (custom parameters for Magnet, Zone and Base). Figure is zeroed on joints and position. When i use the Spawn Morph Target. The obtained morph is not morphing the same way as Magnet at all ...

    I tried it first on SASHA-16 and to be sure it's not linked to other morphs or Weight Map. I tried it on a blank V4.2 and i got the same problem.

    Is this a known bug or something i misunderstood/doing wrong ?

  • Try another figure to check if it is realy brocken. V4 is allways different because of its inj/rem technology. As V4, Sasha needs to have the morph channels activated. Follow the whole procedure Karina provided with the figure first, then try again.

  • Poser Ambassadors

    Did you use spawn morph target from the object menu, or spawn full body morph from the figure menu?

    If the morph affects multiple body parts then full body morph is what you want.

  • It's "Spawn Morph Target ..." from Object Menu.
    I think i found where is the problem : V4 Magnets ....
    I tried on James and i didn't get the pb.

    I need to disable them before doing so.

  • Question : anyone know a python script to remove or disable/enable the V4.2 magnets ? :)

  • SASHA-16 is V4 Magnets freed ! So the problem does not come from V4 magnets.

  • Did you make sure that really all morphs in the figure are zeroed?

    "Spawn Morph Target" works differently than when you create a new morph with the Morph Brush, or import a morph:
    The spawned morph target comprises all morphs that are active at the time you spawn the morph, thus making it a kind of "Full Actor" morph.

    There's a script in my "Toolbox/Python scripts" which will "Totally Reset All Dials" in a figure.
    Make it a routine to use it everytime before you use magnets to create morphs.

    B.t.w., I just tried and spawning new morphs from a magnet works without problems in PP2014 SR3.


  • Yes, i was currently checking all the morphs on hip and Thigh. I'm going to try your python script then.

  • B.t.w., if you want to create your magnet morphs on an already morphed character and don't want to lose the settings, do the following -> for each body part affected by the magnet:

    BEFORE you add the magnet, use the "Spawn Morph Target" from the object menu.
    Name that one "Inverse Morphs" or something like that. Leave the dial at zero!

    Now add your magnet(s) and morph away.

    When you're finished with the operation, and BEFORE you spawn the morph targets for the magnets, set the "Inverse Morphs" dials to -1!
    This will add the negative value to all morphs, so basically it will zero them all. Only those vertices moved by the magnets remain.

    Now spawn your actual morph targets for the magnet morphs!

    Delete the magnets, and also set the "Inverse Morphs" dials back to zero.

    Check if everything looks OK, and then you can delete the "Inverse Morphs"; they have done their duty.


  • @karina that's exactly the technique I've been using.

    I haven't checked to see if Sasha-16 still includes it, but V4 has always had a Deformers:Base:Strength dial on the Body actor, which, when set to -1 turns off all of the standard V4 joint magnets.

    The whole process could probably be effected by a Python script (though it would probably need a GUI to select which magnet you were trying to spawn a morph from) which could zero the morphing magnet influence, spawn and set to -1 an inverse and other deformer cancellation morph then reset the morphing magnet to 1 and spawn its morph target followed by deleting the cancellation morph. [Hmm, yet another project for the list of workflow streamlining tools ]

  • Oh là là!

    I'll have to read through your post again tomorrow because for today my brain is totally cheesed up.

    However, you don't have to care for #any# of the infamous V4 magnets, because SASHA doesn't use magnets except for those six to simulate the breast movement. These however are zeroed anyway in the default pose, so they don't really matter.

    A future goal is to eliminate those too and replace them by either ghost bones (probable) or JCMs (not so probable because of the tri-axis movements of the collars.

    Besides that, those magnets also simulate some of V4's breast movement dials, so this is a real beast to tackle.

    Later. Much later I'm afraid unless someone comes up with a viable alternative.
    You can't always have it all anytime. :(

    TBH, I'm simply drowned by handling all the requests, questions, error reports and suggestions coming my way.


  • Finally i found that there is really a difference between the spawned morph and the magnet :

    Here James :
    In (BLUE), James with Magnet that deform Right Thigh and Hip
    In (RED), the James version with spawned Morphs from Magnet

    You can see a difference.
    When you Duplicate James, the 2 BODIES are Fully covered, you see only one color. But once i dialed Morphs to 1 and Mags to 0, red parts appeared.

    On V4 it's more noticeable as she has more polygons.
    I can't succeed to get it works correctly.

    alt text

    here the MAGNET PP2 file, if someone want to test it :

    SO, i've decided to do with it and use the morph tool to correct it. Enough time lost :)

  • @barnardino said in Spawn Morph Target broken ?:

    Finally i found that there is really a difference between the spawned morph and the magnet :

    Here James :
    In (BLUE), James with Magnet that deform Right Thigh and Hip
    In (RED), the James version with spawned Morphs from Magnet

    You can see a difference.

    I'm not familiar with the mesh, but most of those are "stars" and "tris" or non-planar severely deformed quads. The other quad-centric reds could be group borders. But, also worth noting, some star formations and diamonds don't appear to have this deviation, perhaps because they aren't covered by magnet zones.

    IOW - It may be that magnet deforms have issues with stars and tris, which wouldn't be surprising in some cases.

    Note: Using the Figure menu for morph generation spanning multiple groups is the better solution, IMO. Also, Deformers acting on the base mesh sometimes have weird results when a morph is applied that has comparably radically displaced geometry, as if the magnet's zone is assigned to a specific bit of mesh, rather than a region. It may be that using the Rig Symmetry options or using the Joint Editor could help/reset that if it is, indeed, an issue.

  • @morkonan said in Spawn Morph Target broken ?:

    But, also worth noting, some star formations and diamonds don't appear to have this deviation, perhaps because they aren't covered by magnet zones.

    Wanted to add: It could also be because the non-effected polys have verts that are within an acceptable margin concerning their "coplanar'ness." :) IOW, the poly isn't as distorted from its major axis (just consider that its face) and whatever is considering this isn't confused, since its within an acceptable margin.

  • I think i found the key of the problem, it's not tested yet with magnet, but it's strongly probable that it comes from pre-transform/post-transform morph state.
    Since i was working on a morph linked to a joint rotation between hip and thigh.

  • Since this is about creating a fix morph for a bent joint, the morph must be #post# transform, i.o.w. it must come #after# the rotations entries in the .cr2 file (and after all the shape morphs as well).
    Best is to save the figure to the library and check that manually with PFE or something.

  • This post is deleted!

  • @karina in fact it's an option on morphs in P11, that tend to confuse me (and other people i think).
    You can convert a morph to pre-transformation or post transformation.
    When you create a morph with the morph tool, it's by default in post-transformation (you can select it to be a pre-transformation when creating it)
    That's good because this way you can morph parts that are bent. Once you finished you morph, the best thing to do, it's to convert it to pre-transform morph (at least, this way it will be usable w/ other poser <11)

    For Magnet, you can work in a posed position (so theorically post-transform), but as i much i could see, when you spawn morph it, it convert directly to a pre-transformation morph.

    So here i was, wondering if the result is really the one attended ...

  • Don't become confused over this "new" function to determine a morph to be "pre" or "post" transform.
    In fact this has always been there already.

    The only difference is that hitherto it had to be done manually by editing the .cr2 file, while P11 makes this a selectable option.
    "Bravo!" for that. If only they had described it in more detail what this does.

    The main (and most important difference) between pre- and post- transform is the way a vertex is moved in absolute coordinates.

    If you move (morph) the vertex first and #then# apply rotations or scaling, rotations and scales will be calculated from the current (morphed) position. This would be "pre".

    If you rotate or scale the vertex from it's original position and #then# move the vertex with the morph,, it may end up in a completely different absolute coordinate. This is "post".

    So it isn't a very good idea to transform a morph that was made on a posed figure ( = "post") to become a "pre" morph. Especially the results near the joints can be weird.

    Also, making a "pre" morph become a "post" morph might have the same weird results.


    1. Morphs made to the unposed, zeroed figure must always be "pre"
    2. Morphs like "fix" morphs which are made on the bended figure must always be "post".
    3. Never make a "pre" become a "post" morph, or vice-versa. No exceptions to this rule!


    are a particularly tricky beast.

    First of all you need to realize that they #ALWAYS# work with the original, unmorphed and unbent geometry.
    IMO this is one of the most annoying things about magnets.

    This is also the reason why morphs spawned from magnets are always "pre" transform (this time Poser does it correctly - well done!)

    However this also the prime reason why you should #never# use magnets to create morphs on an already morphed or posed figure: Your results will inevitable look different once you've spawned the morph.

    Using an external modeler program to create a morph won't help either:
    Depending on whether you used the original geometry or a posed one, you still must decide whether it's a "pre" or "post" morph, otherwise the results may look weird.

    This is probably also the cause for the many "Morph made in Blender (or whatever) doesn't work as expected". threads in the various forums.


    Always keep in mind what you're trying to achieve when creating morphs!
    Obey the "RULES" posted above.
    Keep your heart pills in reach... :D :D


    (I'll post another comment re. your particular script over at your thread in SASHA's forum in a few minutes)

  • in Fact SM give a workflow about how to create JCMs (page 785 of Poser 11 manual) :

    1. pose your figure
    2. paint your morph on posed figure as post-transform
    3. edit dependencies for JCM
    4. Convert morph to pre-transform.

    It appears that changing a morph from post<-to->pre transform is a real conversion of the "deltas" not just the change of a #flag.

    P11 have a new function in targetGeom called "afterbend". If you save a CR2 from P11, Afterbend is enabled to 1 for post-transform morphs, and disappear from CR2 for pre-transform morphs.

    For Blender they added a workflow and options too to work with GoZ for the pre/post transform states of morphs.

    For the magnet it should work the same way, i spawn morph from magnet then it becomes pre-transform morph, if i want to modify it with the brush, i need to convert it to post-transform morph before. once finished, i have to convert it back to pre-transform morph.

    I'm aware of the way the Magnet work on the original unmorphed and unbent geometry <-- this is the major problem !

    And/But !

    if your Magnet act on 2 parts of a body (ex: thigh/hip), so the bent party is in the zone of effect of the magnet on a posed body.
    You Spawn the Morph from the Magnet, the morph appear as pre-transform morph => the resulting morph has not the same deformation in the bent party.
    Now if you pose the thigh to ZERO pose and you convert the morph to post-transform morph : BINGO !
    Re-take the pose for the thigh, the morph gives exactly the same deformation as the Magnet !

    Now you can convert again the morph to pre-transform and all is correct .... this is the workaround !

    DO the test ! (more iterations will confirm)

    SM should add an option on spawning morph target for pre or post transform to resolve this issue !