adp001 opened this issue on Dec 27, 2019 · 92 posts
adp001 posted Sun, 23 February 2020 at 2:55 PM
The script gives you the difference of what you exported from Poser (including poses, dialed in morphs, weightmaps in action, etc) and the work you did actually in you modeller.
If you output a figure with a morph dialed in, this morph is visible in Z-Brush, but will not be part of the new imported morph. The reason for that is being able to make morphs based on another already existing morph/deformations.
Starting from a base figure: Do morph one. Name it "One". Don't export again from Poser, don't change "morphname" until you are satisfied with the imported morph. For the next step name your morph "Two" (change morphname). Export the figure from Poser with morph One dialed in. Make your modifications in ZBrush as in part one. You will see the effect from morph One in ZBrush, but it will not be part of the new exported morph. The next export-result imported into Poser is only what you modified in the second step.
This process does not take care of deformations cased on poses (PCM, weightmap) or dialed in other morphs. Your new morph is exactly the result from the exported figure (Poser's export) minus your export from the modeller.
This way you are able to create a set of morphs in an external modeller and each morph plays nicely with the other morphs.
If you plan to make a complete "full-bodymorph" (that is one with one single name) part by part, use the same Poser-exported mesh on each session.
Name of the new import channel is always what you typed in into "morphname".
On import into Poser each vertex is checked if it differs from the exported mesh this new import is based on. If yes (even minimal), a morphchannel is created inside the actor this vertex belongs to. So, if you find a morphchannel in an actor unexpectedly, check your modifications made in your modeller.
I have no plans to work further on this script as long as it does what I need it to do. It's kind of a proof-of-concept for me. It's free code. Anyone can take it and make it work for non-programmers or extend/mofiy it for special cases.
For the "real thing" we need a module inside the modeller. The Poser side has too mutch restrictions. This is the case why my next step is developing a modul for Blender. A direct-connection based on RPC, reflecting anything important from Poser in Blender – nearly in realtime. And it will work fine with Poser2014 and lower :)