Character Splitter

2»

Comments

  • I meant THANKS barbult ! Guess I was more tired than I realised when I posted that! But, yeah, thanks Gordig, too, lots of helpful posts! / peace

  •            Hi Mike3D, Sorry I haven't tried version 3 yet. But I thought I should mention some things now. It's a lot but I'll try to compress it. My previous success with splitting was because I was exporting the morphed figure ( smaller than the base ) which I had scaled up so that the shoulders were the same height as the base figure and then loading it to a base figure with MLP - then splitting with "normalise". The reason I scaled it up was that it became evident that the manual scaling used to create the character was being lost. I guess it's a D/S thing. If I export a dial spun character as an obj. and load it just as a regular obj. it looks identical. But when loaded in MLP on a base figure at 100%, that manual scaling is gone ( typically I manually scale the limbs and parts of the torso ). Strangely, to me, scaling it up KEEPS the manual scaling from the original ( limbs etc. ). I had this realization in the process of baking the smoothing. Exporting as an obj.( scaled up ) loading in MLP, turning on the smoothing, then in the bake smoothing dialog unchecking the main node and then somehow finding and checking the MLP node. (why is there no "bake currently used" ?)frown Anyway, when I asked you the way to add a complex character to your script I was expecting to proceed that way but actually I've been just using the 1 smoothing baked, full body morph in MLP. And, when I saved the comlpex morphs as a shaping preset, double clicking it and proceeding as instructed, with "normalise" or unchecked, again, somehow my manual scaling is gone. I'm pretty sure this was the same issue I had with Shape-Splitter. I'm exporting then loading MLP with the default Daz settings. If I don't scale it up it loses the manual scaling, so I scale it up put it in MLP at 100%, use normalise, and your script splits it perfectly! Thanks for reading all this!coolHave a good 1!!!!!/ peace

  • Mike3DMike3D Posts: 25

    Scaling is handled by the controller (at least in the recommended workflow). If need be, you can edit the generated controller file and set the scale as you please. Alternatively you can use a WYSIWYG export.

  • Hi Mike3D, thanks for the reply. I haven't been creating a controller cause I don't need complete characters on one slider. What you're suggesting sounds interesting, maybe that would fix things, but don't know if I could edit the file correctly. And I'm not sure I'm being clear about the issue. In the process of dial spinning a new character, I also manually scale individual parts of the base figure ( legs, pelvis, lower and upper stomach, lower and upper chest, pectorals, collars, shoulders, arms, lower and upper neck, everything except the extremities and the head ( which distort when manually scaled ). What I have observed is, if the character is not as tall as the base figure, at least some of this manual scaling is lost, i.e., after exporting it as an obj. and loading it in morph loader pro on a fresh base figure at 100% ( when the exported obj. is actually identical, containng all the manual scaling.) When using WYSIWYG, ( by unchecking "normalize" ) the same issue is happening (what I get isn't what I see). I'm not saying there's an error in the script, rather I don't understand why D/S does this and I assume your script must be affected by this behaviour. And, the stumbled upon solution, has been to, scale up the whole spun figure ( not any individual parts ) to match the base BODY height, either as an initial export or to scale up the figure right in the scene before running the script, and then all the previous manual scaling seems to be there! Does that make any sense? surpriseAs mentioned before, saving and loading the character as a shaping preset loses the manual scaling also. / Wishing you all the best!laugh/ peace

  • Mike3DMike3D Posts: 25

    I've done a quick test using a toon character (way smaller than the base figure), with arms heavily scaled on the Y & Z axis, and the scaling is preserved (in both modes).

    You'll have to narrow down your issue so that it can be replicated (or find the step in your worflow that breaks things). Take note of everything you're doing, then start with the most simple thing and gradually add layers of complexity until it breaks.

  • Mike3D Hey, thanks very much for trying to replicate my issue! I'll definitely try your suggested trouble shooting approach. I'm also gonna post my question about the unexpected difference from the original morph when saving as a shaping preset or loading an exported obj.( the exact copy, including the manual scaling) into MLP and then the manual scaling is not there. To me, that seems like the initial problem. Anyway, have a great day!smiley/ peace

  • Mike3D  Just a quick update. I posted that question and got a reply from crosswind. When testing, crosswind didn't replicate my issue with loading in the MLP, however, did clarify the use of the shaping preset. And to my surprise, it doesn't save manual scaling. QUOTE: As for Shaping Preset issue, Scale belongs to Pose rather than Shaping..., so Shaping Preset won't work. You should save it as a Properties Preset with both Shaping and Pose (Hip + General nodes at least) checked.  I would need more info before saving as a property preset. I made G1 unusable for a while by saving a character as a morph asset incorrectly. Which reminds me how great it is to have the clear instructions for saving in your script - knowing I can't mess things up and how to easily delete unwanted morphs - thanks for making it so user friendly! yes / peace

  • Mike3DMike3D Posts: 25

    Yes, Properties preset is what suits your workflow. It's a combination of :

    - a Shaping preset, which saves the value (in range 0 to 1 or 0% to 100%) of the morph targets that have been applied. Note that if you've applied unsaved morphs, for example using MLP, they can't be saved as they only exist temporarily

    - a Pose preset, which saves the transforms (location, rotation and scale) that have been applied

    - a Material preset, which saves the surfaces that have been applied

    You can "break" a base figure by saving any of its properties (morph, transform, material, render setting...) default value to something different than the base figure. For example, if you save a morph with a default value of 100% (or 1 if not using percent), it will be applied whenever you're loading the base figure. If you do this inadvertently, you can easily fix it by checking "Currently Used" properties in the Parameters panel to find the culprits, change their default to 0 and save them. This will permanently reset their default value to zero.

  •                       Mike3D Thanks for the tutorial! QUOTE: Note that if you've applied unsaved morphs, for example using MLP, they can't be saved as they only exist temporarily.  That info could really help to avoid some confusion! And that very important point about how you can "break" the base (etc.) by saving the default value to anything other than zero - and how to fix it. 'Pretty sure that's how I messed up G1. And as I recall, it's also important to choose "modified" when you have that option (saving as a morph asset? I haven't done it right yet). I've saved things that wound up being huge, like 2 gig, probably cause they include every one of the installed morphs for the figure.surprise I did have a question: In one session, can you use the script to save only the head or body?(like when you have a good head but need to redo the body). That would create less unwanted files to delete, and avoid file naming confusion. Thanks very much for your support / HappyheartDay ... HappyheartDay everyone! / peace

  • Mike3DMike3D Posts: 25
    edited February 15

    Currently you can't save only the head or the body. However, before closing the script once finished :

    - go to the last tab : you will notice that the Head, Body & CTRL names are already filled

    - press "Find Morph(s)"

    - uncheck the morph(s) you want to keep (head or body). For the head, don't forget to also uncheck separate related morphs (Eyelashes, Tear, Eyes, Mouth, Eyebrows)

    - press "Delete Morph(s)"

    Alternatively :

    - go to the last tab

    - remove the morph to keep (eg. remove Head name if you want to keep the head)

    - press "Find Morph(s)"

    - press "Delete Morph(s)"

    Post edited by Mike3D on
  • Mike3D said:

    Version 3 available laugh

    Changelog:
    - excluding head bones for body morph and body bones for head morphs
    - addded tutorials for D-Former creation and 'Reference Vertex' use
    - added checks for mandatory plugins on startup
    - added checks for D-Former number of vertices matching base figure
    - 'normalized' becomes the default mode (previously 'WYSIWYG')
    - updated user manual (added plugins page)

    A great tool and really simple to use, I have converted about 20 characters until now (with v2) and always without problems. yes

    But it seems, there is a small issue with Genesis 8.1 - function SetRefVert() doesn't have a conditions for the 8.1 base. If you convert a character based on 8.1, the Vertex field on Body tab remains empty. Your lines in the script:

    else if (n.lastIndexOf('Genesis3F') === 0 || n.lastIndexOf('Genesis8F') === 0) v = '3127';
    else if (n.lastIndexOf('Genesis3M') === 0 || n.lastIndexOf('Genesis8M') === 0) v = '2926';

    I added G8.1

    else if (n.lastIndexOf('Genesis3F') === 0 || n.lastIndexOf('Genesis8F') === 0 || n.lastIndexOf('Genesis8_1F') === 0) v = '3127';
    else if (n.lastIndexOf('Genesis3M') === 0 || n.lastIndexOf('Genesis8M') === 0 || n.lastIndexOf('Genesis8_1M') === 0) v = '2926';

    And now G8.1 also works without issues.

  • Mike3DMike3D Posts: 25

    Good catch @stefan.hums yes.

    Repo updated, many thanks for reporting the issue and for the feedback, greatly appreciated.

  •                         Mike3D   Thanks for the reply, that workflow idea helps! / yes peace                                                                                                                                                                                                                             Currently you can't save only the head or the body. However, before closing the script once finished :

    - go to the last tab : you will notice that the Head, Body & CTRL names are already filled

    - press "Find Morph(s)"

    - uncheck the morph(s) you want to keep (head or body). For the head, don't forget to also uncheck separate related morphs (Eyelashes, Tear, Eyes, Mouth, Eyebrows)

    - press "Delete Morph(s)"

    Alternatively :

    - go to the last tab

    - remove the morph to keep (eg. remove Head name if you want to keep the head)

    - press "Find Morph(s)"

    - press "Delete Morph(s)"

Sign In or Register to comment.