Forum Moderators: Staff
Poser Python Scripting F.A.Q (Last Updated: 2024 Sep 18 2:50 am)
I'm glad to hear you both want the very best for the final output of this script, please do'nt sacrifice any of that for my part!
I was just hoping to get alook at some bare bones if at all possible?
Sorry to hear you're having trouble with V2 ERC. At the risk of sounding redundant, I'd suggest putting that too off until other more important features are ready, like V3..?
Your Loyal Beta',
Angelouscuitry~
/me think I'd better stop cluttering this thread up, so that the master can keep busy!
= )
Along the same line (reducing memory usage), would it be possible to use the architecture of your script to write a script which spawn only selected bodyparts and create a partial Figure?
For exemple, let's say I want to make a portrait, only the top part of the body is needed. A partial Figure would reduce memory usage.
There are two ways to switch off IK on loading:
Poser is hardcoded to switch on IK chains for Left Leg and Right Leg on figure load. I've tried turning off IK in the cr2, but Poser just ignores the .cr2 setting. Only by renaming the chains (to LeftLeg and RightLeg, a small change appears to be enough) I could prevent Poser from automatically turning on IK.
As for not exporting other body part, it is possible. Would be a nice addition to the script. I'd have to create a CR2 Writer object, but it can inherit a lot of stuff from the PZ2Writer object. I'll keep it in mind.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
Dear SVDL,
I hope you don’t mind my asking, but have we made any headway with this script, it's been well over a month since last I queried?
Just today I directed three other members over here to this thread; one for Morph Reduction, one for INJ/REM, and another for clothing. These weren’t the first links to this thread I've posted, either.
I'm planning on testing out my new P4 Prescott 2.8Ghz, 4GB, ATX, with life sized renders, as soon as my V3 scene is complete, hopefully around mid-late summer, just to give you what kind of time frame I'm hoping for.
Any reply will be appreciated!
Sincerely,
Angelouscuitry~
= )
Hey there,
I just thought I stopped by here, heard so much about your new Python script and I can't wait what you have in store.
It would do INJ/REM poses on P6 and/or Figures (unlike Millenium 3 Figures)?
I'll stop by for more updates.
Thanks Angelouscuitry for linking me here.
Cheers,
JB
____________________________________________________________________________________________________________________________
Asus N50-600 - Intel Core i5-8400 CPU @ 2.80GHz · Windows 10 Home/11 upgrade 64-bit · 16GB DDR4 RAM · 1TB SSD and 1TB HDD; Graphics: NVIDIA Geforce GTX 1060 - 6GB GDDR5 VRAM; Software: Poser Pro 11x
Hello all,
I've been extremely busy at work these last few weeks, and I'll be busy for another four weeks to come. End of the school year (I'm a teacher). I just don't have any opportunities to work on the script for more than half an hour at a time.
I hope to have the script finished by July 20 ore thereabouts.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
Haven't been able to do much on the script, alas. Real life (work!!!) keeps on interfering...
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
I thought teachers had it easy in the summertime, have you taken on another job?
I spent last week exporting .OBJs one part at a time, sending Pythons after all my magnet, and stripping out my MTs with Morph Manager, and then reloading the .OBJs by hand.. I took V3 from 256MBs to a 12MB.RAR with all of the Inventory files! M2 was like 100MBs back! I'm just not sure where to look for INJ yet. The new Figure only have 1 MT per part, but it's not named after any DAZ MTs. Wouls SpawnCharacter be good for making an INK for me yet? Where would it be loading the MTs from, could I provide MTs, for it to load, if/when I diftribute the INJ file?
I bet SpawnCharacter.PY will have this process available within a few minutes someday! I just still believe you've bitten off a more than your stomach has given you eyes for?
= )
I'm seeing some wierdness with Aiko -- in particular, the resulting head morphs have her eyes translated forward and apart from each other so that they don't sit right in her sockets. I'm not too worried personally, since I mostly am planning on using the tool to produce a single channel body morph for use in "The Tailor". I can use Injection Magic to create INJ/REM files for "normal" usage.
@morphious: what Poser version do you use? For Poser Pro Pack and Poser 5 it'll be tough, since Tkinter is broken on Mac OS 10. Poser 6 uses wxPython for its user interface, and I think it's not too difficult to convert existing batch render scripts to a Poser 6 user interface.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
Poser 6? Then you're IN luck. Any Poser 6 script that does NOT rely on Tkinter (which means most of them) will work equally well on PC and Mac.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
Hi this sounds like a great script, ill try it out later! Is it possible to sell the morphs i create with this script. I read on Daz that the file for saleable morphs needs only to include delta info!
THanks again!
SVDL - People are requesting a fast and easy way to creat INJ/REM sets all the time, and my first thought is always SpawnCharacter! At some point somebody told me that the INJ'/REM sets, that SpawnCharacter creates, contains proprietary DAZ3D Morph Data; hence are not distributeable!
I IM'd you about this a couple weeks ago, but have not recieved a reply; is there any truth there, have you fixed the problem, or what is happening?
Does anyone know if there is a version of this that works on ApolloMax? I tried the version from the link here and it is not compatable. Also I see this thread has mention of "Consolidate Morphs." Is that available anywhere and will it work on Apollo? All I get with Apollo is the error message and no inj/rem is generated... Traceback (most recent call last): File "", line 221, in btnGenerateClick AttributeError: 'NoneType' object has no attribute 'SetValue' Yeah, I know...I read this and it says it's for Mill3 characters but I thought maybe to ask anyways. Thank you. :)
My brain is just a toy box filled with weird things
Man oh man this is tough stuff. Apollomax + Cole with Lee's JungleDude = 34mb large and I need to reduce all unused stuff out. Started at 10pm and it's now 3:30am and still no love. Morph Master 4 failed on him, the script from this page failed, the removemorphs script failed, attempting to export him as a .obj and recombine with Apollos stripped rigging failed(poser reorded verts again),... o_o; m(_ _)m ...no wonder I hardley play with poser anymore(it's always like this). Other thoughts-->Has anyone ever thought of making a independent python .obj importer/exporter for Poser? It borks it's own .obj exports way to often.
My brain is just a toy box filled with weird things
Thanks svdl, for your wonderful SpawnCharacterP6.py script. It has proved very useful.
I use it on V3RR, I don't know if V3 is the same, but V3RR has targetGeom channels in the eyes, unfortunatly the "CorneaBulge" and "IrisIn" channels are set to 1.000 by default. I wonder if you would concidder including an exclusion switch for eye morph channels in any future version? Whilst it is easy enough to zero these morphs, I keep forgetting to do so, with the result that I end up having to edit them out of the pz2.
Quote: "Working on a more user-friendly version. The current script should work on non-Millenium 3 figures too - including non-human figures."
Any news of the new version "ConsolidateMorphs". The ability to use this script on other figures would be a great advantage to me. I did use the SpawnCharacterP6 script on a mechanical figure once, but had to rename the actors and morph channels, then change them back after creating the pz2s, then edit the pz2s.
I realize this project would be a lot of work, so I don't blame you if you have dropped it, but I can't help hoping it's still in the pipeline.
As to the chained ERC, I would be happy to forgo support for that, as many figures don't use it, and the script would be very usefull for those figures that don't. It might even be usefull for figures that do use chained ERC, as I don't mind getting my hands dirty in a text editor to fix things.
I suspect that the best solution to many of the problems you face may be to have a list box (if that's the right phraise) with all targetGeom channels selected by default, the user could then deselect any morphs they don't want included in the consolidation and slaved to the valueParm, eg JCMs. If this could could allow the user to deselect a whole actor as well, all the better.
With scaling a simple checkbox to include or exclude scaling globally should surfice. The same for eye translations.
@Angelouscuitry
Quote: "At some point somebody told me that the INJ'/REM sets, that SpawnCharacter creates, contains proprietary DAZ3D Morph Data; hence are not distributeable!"
It depends. If you used any DAZ morphs (strictly speaking deltas), either by dialing them directly in the actors, or indirectly via FBM (valueParm) dials, then the injections will not be distributable, at least that's DAZ's position as I understand it. The best way to be sure you don't anger DAZ or anyone else, is to load your own custom murphs in a delta stripped version of the figure. DAZ provide such delta stripped versions for many of their figures, or you can create your own. There is nothing svdl can do to fix this, you either use other peoples deltas, in which case you can't distribute the morphs (unless you use RTEncoder or Objaction Mover, and a file containing the deltas as a seed), or you use your own deltas, in which case you can distribute. But no technical fix that svdl can come up with can turn DAZ's property into your property. Delta injections produced by SpawnCharacterP6.py are exactly the same as delta injections produced by any other means in this respect.
"Other thoughts-->Has anyone ever thought of making a independent python .obj importer/exporter for Poser? It borks it's own .obj exports way to often."
markschum has developed the Export side, in a thread entitled "Need a python script" And he has begun writing an other script, to do the importing; at a thread entitled "script to load morph geometry"
lesbently - Thank you very much for clarifying this. SVDL sent me an IM a few weels ago, which pointed out much of the same. Objaction Mover has sure been such a huge help, over the years!
A small update: here's a script that can make exclusion files for SpawnCharacter and ConsolidateMorphs. Uses my P6XML library (included in the zip).
The P6XML library is still in a beta stage - needs cleanup, and most of all, it needs documentation. So don't expect too much....
www.svdlinden.nl/webposerstuff/downloads/exclusionlist.zip
Extract to your main Poser root folder. The script can be found as :runtime:Python:poserScripts:ScriptsMenu:SVDL:SpawnCharBase.py
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
Both.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
About V4: I'm looking into that. V4.0 will work, V4.1 will require some experiments.
Had to recode a bit - the Python 2.2 in Poser 6 is missing some nice functionality that's present in the Python 2.4 of Poser 7
Here's some screen shots of the new user interface:
The base user interface:
The body part selector (for partial morphs):
I'd love some feedback on the user interface. Too cluttered? Better labels? Should I add a "Help" button? Let me know.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
By the way, this user interface works in both P6 and P7 (PC)
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
:tt1: I'm really impressed, again!
Thank you for your inout about V4, I've had members ask with regard to Spawncharacter! BTW, where can we see what Figures are supported currently?
I'm a little confused about a few things:
Are these wonderful screenshots all from the same script, which one?
I've never seen Consolidate Morphs before. It looks alot like Spawncharacter. Is it to replace Spawn Character?
And I've some even simpler questions:
Does the Exclusion list Editor have a "Exclude All", or "Keep All" button(s)?
If we are making a Figure, or an INJ Set, but not both; would both Folder Options's Locations still be asking for an entry?
:thumbupboth:
ConsolidateMorphs was like SpawnCharacter, but for figures without injection channels. The script I'm writing now will replace both ConsolidateMorphs and SpawnCharacter.
Supported figures: I'm striving for ALL. Including future unreleased figures. I'll have to research V4.1 and Apollo to find out if the script needs some extra code to work with them, but I can guarantee that the script will work with all stock Poser figures, V2,V3,V3 SAE, V3 NewGen, V4.0, M2, M3, Stephanie 1, Steph 3 Petite, David, Luke, Laura, Aiko 3, Hiro, Terai Yuki, Miki, Sara and Mayadoll.
The trick is that the script does not depend on any particular naming convention (except for heads - the script assumes that the figure will have a "neck" body part and a "head" body part.
So it'll probably even work on the Mil Horse and other non-human figures too.
Good idea, about those "Exclude All/None" and "Keep All/None" buttons. I'll add them.
The folder locations displayed are automatic defaults (they default to the root character/pose - and I'm ading props - folder of the main runtime) The user CAN change those locations, but doesn't have to.
If the user does change the folder locations, the script will (optionally) check if the new location is a character/pose/prop folder in a valid (external) runtime. The code to find out what runtimes are registered with Poser has already been tested - it works in both P6 and P7.
And yes, this is from one script.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
By the way, the new script will be able to handle multiple exclusion lists per character type.
And I just thought of something else: I'll add functionality so that the user can designate what body parts constitute the "head" for Head Morph Only. In human figures, this is usually head+neck (will be the default), but for other figures (horse, dragon) this might be different.
These data can be saved in a .INI file.
nickelshield: the scrollbars behave like the scrollbars in the standard P6 dialogs. Dragging the sliders works, clicking in the grooves works, and the mouse wheel scrolls vertically.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
Update on the user interface:
The option to save a magnet set to a Props folder has been added, including setting the correct folder:
And four buttons have been added to the Morph Exclusion/Magnet Exclusion dialog:
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
Wow, cool; thanks!
I think I did'nt iterate what I meant about the Folder Option's Locations; and now I have others, about them: Are they blank, by default? Lets say I just want to make an INJ set; would I fill in the Pose Folder Location with where I want the INJ set to be created within, my Active Runtime's Pose folder(RuntimePose?) And let's assume, again, that I just want to make an INJ Set(and that I knowwhat to write withig the Pose Folder Location field.) At this point the presence of the Figure FOlder Location field would throw me, becasue I would'nt know what to do with it? Could I just leave it alone, at that point?
I was surprised to see Magnet Options, and forgot mention mt delight! So INJ files can now be created without first converting magnets to a morph? And when a Magent Set is created, will it save each element, of each magent set?
Those folder locations default to the root figure, pose and prop library folders of your main Poser runtime. If you're not going to use Save Figure or Save Magnets, you can just ignore them - they won't be used.
So the defaults are NOT blank.
I'm thinking about a warning system: if you select 'Save Full INJ/REM poses' and you leave the Pose folder at its default, the system will come up with a warning that it would be wise to change the Pose folder location. If the user accepts the suggestion to change the folder, a DirChooser will automatically pop up.
If "Save Figure" is not selected, there will be no warning for the figure folder still being at its default value.
The same warning system will go for the Figure folder and Props folder.
As for the magnet set: ;yes, it will save each element from each set - excluding magnets that come with the main figure itself (for example, the V4 magnets). The idea is that the saved magnet prop can be applied to another figure (conforming clothes) from the generated library prop.
The "Define Head Parts" dialog has been isolated into a separate module, and can be run as standalone script, allowing the user to define head parts for a figure without having to start the full ConsolidateMorphsV2 script. The same will be done for the morph/magnet exclusion list dialogs.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
The same as in Spawn Character. The Figure folder is needed when the user want to save the spawned figure (useful for characters without injection channels), the Pose folder is needed when the user wants to save the INJ/REM morphs (for characters with injection channels), and the Magnet folder is needed when the user wants to save the magnet set.
Which folders will be actually used by the script depends on the checkmarks set in the 'Save Options:' panel
Think I'll have to write a user manual for this script?
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
How about 'Figure Destination folder', 'Pose Destination Folder' and 'Magnet Destination Folder'?
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
Update: Save magnet set works. The whole magnet set, smartparented and all, in a single .pp2 file.
Hmm. Maybe I should also make a standalone "Save Magnet Set" script, using this codebase. I seem to remember someone needed it...
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
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.
Update: I ran into some unexpected trouble with ERC.
The problem is chained ERC. A good example are the breast morphs of Victoria 2: the chest morph is controlled by a full body morph, while the corresponding collar morphs are controlled by the chest morphs.
Another example of chained ERC is EasyPose.
For the ConsolidateMorph script to work exactly right on all figures it must be able to handle chained ERC. And the only way to discover how the ERC chains work is scanning the original .cr2 and possibly even .pz2 files. That is a LOT of work, and a lot of figuring out to do.
This problem affects the ConsolidateMorph and MorphFromMagnet scripts. It does not trouble the MorphFromObject script.
Sorry for the delay.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter
My gallery My freestuff