Sun, Feb 2, 2:05 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2025 Feb 01 9:10 pm)



Subject: Free morph delete tool


Trollzinho ( ) posted Tue, 29 December 2009 at 8:07 PM · edited Sun, 02 February 2025 at 2:01 AM

Hi all,
I'm making a freebie called MorphDel. Its a Python script for Poser that lets you delete morphs from your figures. So far it works. I tried on a few test scenes and in a very large scene, and the morphs are gone and the scene continues to work just fine. But >> its still in beta stage <<.

What it does is: You open a PZ3 file with it and then enter a morph name to search for. "morph_02" for example. It will then search your PZ3 for the blocks targetGeom and valueParm that contains "morph_02" in its name. So if it finds, for example, a block nammed "targetGeom Test_Morph_02" or "valueParm Test_Morph_02", it will tell the user once: "Will remove morph: Test_Morph_02". It will not repeat that name to the user though, even if it find more stuff about it. And finally, it'll also lock on lines "parmNode Test_Morph_02" and mark them to be removed.

Anyways... at the end, it'll present the user a list of what will be done and ask for confirmation. Here's what it presents the user:

--------------------------------------------
[when you run the script]
MorphDel v0.9

HOW TO USE IT: Save your scene and close it before using this program; it modifies on your PZ3 file and not your open scene. Your PZ3 file must've been saved with 'Use file compression' and 'Use external binary morph targets' disabled under Poser's 'General Preferences'. Please verify it.

Please browse for your PZ3 file. [file browsing window presented to the user]

Making a backup copy of your file...
A backup copy of your PZ3 file has been saved as:
E:ScenesS1.pz3OLD

Search for: _ [text input box presented to the user]*

Searching for morph names containing: "morph_02" (case insensitive).
Average wait: 30 seconds on small scenes, 2 minutes on large scenes.
Please wait...*

Will remove morph: Test_Morph_02

*Please review what will be done:

  1. The morphs listed above will be removed.
  2. Those morphs were in 90 body parts. All will be removed.
  3. Global morph dials to be removed: 1
  4. Other group dials to be removed: 2
    Total: 93 entries to be removed.
    Confirm: Execute those changes? YES / NO: _* [YES/NO box presented to the user]

Well, my question is, am I missing something? Is it really all I gotta do to remove custom morphs? (remove the targetGeom and valueParm blocks, and the parmNode lines for that morph). The script seems to work fine, but it might be causing damage to the file and I can't see it.


Acadia ( ) posted Wed, 30 December 2009 at 6:50 AM · edited Wed, 30 December 2009 at 6:51 AM

That sounds really interesting.

Can it also remove the actual morphs and not just, hide the morph dials that are set at zero?  

For example when you  load a figure and inject all of its morphs so that you can morph up the figure,  unless you have used every single dial, you are left with a large number of them with a zero value. 

Those morphs that haven't been used add a great deal to the over all size of the file.

What I've been looking for for years is a tool that will search out and delete all of the  morphs from the figure where the dial has a zero value, while keeping the morphs  that have actually been used.

So far I've yet to find a tool that does that.

"It is good to see ourselves as others see us. Try as we may, we are never
able to know ourselves fully as we are, especially the evil side of us.
This we can do only if we are not angry with our critics but will take in good
heart whatever they might have to say." - Ghandi



Trollzinho ( ) posted Wed, 30 December 2009 at 10:31 AM

This one you search by the morph name. It doesn't know if its dial is 0 or if it has a value. It will completely remove the morph as if it never existed in the first place, though.


IsaoShi ( ) posted Wed, 30 December 2009 at 3:54 PM · edited Wed, 30 December 2009 at 3:55 PM

Attached Link: http://www.renderosity.com/mod/forumpro/showthread.php?message_id=3496553&ebot_calc_page#message_3496553

For Acadia... see this thread.

Read down the thread about putting the required exclusion file in place.

"If I were a shadow, I know I wouldn't like to be half of what I should be."
Mr Otsuka, the old black tomcat in Kafka on the Shore (Haruki Murakami)


Believable3D ( ) posted Wed, 30 December 2009 at 3:57 PM

So if I have to know the morph name etc...

what would be the advantage of using your script rather than just deleting it from the parameters palette, other than not needing to have the scene open?

Just trying to understand what you're aiming for here.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Trollzinho ( ) posted Wed, 30 December 2009 at 4:06 PM

Because you won't have to remove the morph from each separate body part. What was happening to me was that, using Poser's Morphing Tool, even though I was only morphing the chest area, the morph would always spam 90 body parts. And it was a pain to remove them one by one using the parameters palette.

I also tried that MorphRemove script IsaoShi posted up there, but it leaves blocks of settings about the morph inside the PZ3 file, even though it removes the delta information.


Believable3D ( ) posted Wed, 30 December 2009 at 4:11 PM

Ah, okay. Thanks for the explanation.

So is this a script that can run from the Python Scripts window, then?

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Trollzinho ( ) posted Wed, 30 December 2009 at 4:14 PM

You can add it to your script library, but what I do is just File / Run Python Script.

I can post it here now under the understanding that it's in beta stage and that it can malfunction... and eat the livers off your figures...


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.