Forum Coordinators: RedPhantom
Poser - OFFICIAL F.A.Q (Last Updated: 2025 Feb 15 11:01 am)
If it's any help at all, SVDL has a script that removes all unused morphs from a figure. It creates a REM pose file, and you can specify in an exclusion file any morphs that you want to keep (in addition to the non-zero ones).
"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)
Having recently looked into this myself out of curiosity:
http://www.renderosity.com/mod/forumpro/showthread.php?thread_id=2735605&page=2
Check LesBentley's discussion of inserting the appropriate channels via a python script. The morph channels for every body part have to be present, plus a master dial on the Body actor, before you can inject/remove deltas from a pose file. You can either add the channels to a CR2 by hand (as you already figured, and which is terribly painful) or use some CR2 editor.
Your best course of action may depend on which Poser version(s) this needs to work in, what you are trying to achieve, and whether the the morphs need to be distributable, or are just for your own use. The choice is between using P6+ PMD files, or normal delta injection.
The catch with normal delta injection is that the figure must contain spare targetGeom (morph) channels for the morphs to be injected into. It's not hard to create spare channels by text editing the figure, but this is probably not something you want to ask an end user to do. Here is how to create spare channels in any figure. You will need a text editor that can do a Search & Replace of multiple lines. I use the free EditPad Lite text editor.
First make sure the figure is saved in uncompressed cr2 format (not crz). Open the cr2 in a text editor. Do a Search (Find) for the string "actor BODY", find the second occurrence of this string. Scroll down a few lines until you come to the lines:
channels
{
Copy the above lines into a new text document. You should Copy these lines, rather than just writing them, because the indentation of these two lines should exactly match that used in your figure. Below these two lines construct the targetGeom channels, like so: channels { targetGeom MORPH-01 { hidden 1 } targetGeom MORPH-02 { hidden 1 } targetGeom MORPH-03 { hidden 1 }
In the above example I use the names "MORPH-##", but you can use any names you like. The 'hidden 1' line is there to keep the channel hidden until something is injected into it, that line is optional. Now back in the cr2 file, use what you have made as the Replace string, and use...
channels
{
... as the Search string. Execute a "Replace All". You now have three (or however many you made) spare targetGeom channels in every actor, that can be used for delta injection. Now you need to create the master valueParm (FBM) channels in the BODY actor. In the BODY actor only, replace every instance of "targetGeom" with "valueParm". Save the file back to disk. The job is done. You may like to add some more targetGeom channels to the head, as you will usually use more morphs in the head than in other actors, you may also like to add some more channels for the breasts and hip. The above assumes that you want to inject your own custom morphs into the figure. If on the other hand you just want to externalise the stock morphs that came with V2, there is probably not much point in creating the spare channels.
In that case you need to make a delta injection poses for all the morphs in V2, either one pose to inject all the morphs, or individual poses for each morph, or group of morphs, depending on what you want to do. Then just strip everything out of the targetGeom channels in the cr2, just leaving a shell like this:
targetGeom InternalNameOfChannel
{
}
I imagine it would be quite a lot of work. The free CR2Builder is the tool I would choose for that job. As to the delta injection poses themselves, you can just use whole targetGeom channels packaged as pz2 files, an example of such a delta injection file is:
{
version
{
number 3
}
actor head
{
channels
{
targetGeom MORPH-02
{
name Point Nose
initValue 0
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
static 0
k 0 1
}
interpStyleLocked 0
indexes 1
numbDeltas 3470
deltas
{
d 1514 -5.277533e-006 -0.001445413 0.03142137
}
}
}
}
}
An alternative to normal delta injection, if you have P6 or above, is to use PMD files. Personally I am not keen on using PMD technology, as I find it less flexible, and feel there is more scope for problems. However PMD can create new targetGeom channels in a figure, so it is worth considering in your case. For more information see this tutorial by Nerd: Poser 6 PMD Injection
Thank you, Les. That was a very clear explaination.
I think what I want is far more simple... I want to make a .pz2 from the copy of a .cr2 that will REM all the standard channels... the workflow would be this: Take a figure such as V2 that has all the channels loaded, dial my character, spawn a morph to all body parts and load a pose to empty and maybe hide all the standard dials except facial expressions. There would be no need for new channels for custom morphs. Right now I can use svld's remove morphs script but I have had trouble creating the exception file or I can use PhilC's remove morph from PTB but again I have to deal with the exception file. If I had to use an exception file I would so much prefer to just choose channels from a python selection UI. On the other hand if I or a script could generate a REM pose I could just dial up my character and use the REM to delete all the channels aside from the new one I had spawned for my character... an added bonus would be an INJ for basic facial but really I could add the expressions back in with MorphManager from an old fashion "carrier .cr2".
Using the SetUp room takes only a few seconds once you created the donor cr2.
(And no, this doesn't work with V4.2. DAZ in their eternal wisdom thought that they are above the basic rules of proper cr2 building, so if you run V4.2 through the SetUp room, some of her ERC gets broken.
And NO, it's not Poser's fault.)
which is why I think that the closest I'll ever get to using Daz figures is Tenten and Wiktorija. Posette and Judy answer just about allmy needs.
DPH
STOP PALESTINIAN CHILD ABUSE!!!! ISLAMIC HATRED OF JEWS
Sounds like what you really need is a py script to make the REM pose. Have you tried asking in the Python Forum?
If you can't find a py script, you could try this method to make your own REM pose. You will need a text editor that can replace multiple lines.
Load your figure in Poser. Save a pose file, click the "Select Subset" button, then, without making any changes, click "OK" to close the selection box, this will insure that the control props are not included in the pose. Then in the next step, use the option to include morphs. Open the resulting pose file in Morph Manager 4 (MM4).
Click the "More Options button" and select "Delete all channels from file", then use "Zero all morph targets in file". Save the file back to disk.
Open the file in a text editor. Set your search string as...
keys
{
k 0 0
}
... and your replace string as:
name -
initValue 0
hidden 1
keys
{
k 0 0
}
indexes 0
Execute a "Replace All". Delete any channels you don't want to REM, such as expressions. Save the file back to disk.
Hi, JoePublic and Les.
Thank you, Joe. I have been doing this method mainly but I don't always get things zeroed right and I can't keep any scaling, I was hoping a pose file as a work around.
LesBently, this is the info I was hoping to get, I don't understand it all but I am looking forward to trying it!!
I didn't bother with the script forum since over the years that has never really worked for me though you and ockham and svdl are generous folks who keep an eye on this forum :)
Python scripts can be wonderful things - when they work. I have often had problems with Python myself, so I understand your frustration.
Try the method from my last post. If you have problems with it, or don't understand exactly what to do, just save a pose that includes morph channels as described in my last post, and send it to me in an Internal Message. It should not take me more then 10 minutes to turn it into a REM pose, and full working example may help you understand what you need to do.
Quote - Thank you, Les. That was a very clear explaination.
I think what I want is far more simple... I want to make a .pz2 from the copy of a .cr2 that will REM all the standard channels... the workflow would be this: Take a figure such as V2 that has all the channels loaded, dial my character, spawn a morph to all body parts and load a pose to empty and maybe hide all the standard dials except facial expressions. There would be no need for new channels for custom morphs. Right now I can use svld's remove morphs script but I have had trouble creating the exception file or I can use PhilC's remove morph from PTB but again I have to deal with the exception file. If I had to use an exception file I would so much prefer to just choose channels from a python selection UI. On the other hand if I or a script could generate a REM pose I could just dial up my character and use the REM to delete all the channels aside from the new one I had spawned for my character... an added bonus would be an INJ for basic facial but really I could add the expressions back in with MorphManager from an old fashion "carrier .cr2".
If I read this right... (I skimmed through a part of it), Poser toolbox by dimension3D will do this.
this set of utilities:
http://www.renderosity.com/mod/bcs/index.php?ViewProduct=37406&Start=31&vendor=288865
Of course, they're not free... Personally, I can't do without them!!!
Hi, my namez: "NO, Bad Kitteh, NO!" Whaz
yurs?
BadKittehCo
Store BadKittehCo Freebies
and product support
LesBently, you are brilliant!
The process was easy and worked like a charm... my morphed M2 character went from 29.7MB to 3.48MB!!! Brilliant! I can not thank you enough. This beats all the complicated things I have been doing over the years. Now I can make REM poses for my Millennium 2 people and my figures by independent developers, even my custom morph heavy P4 People! God knows how many hours I have wasted over the years shaving down .cr2s one way or another and now I have a one-click pose to do it!!! It was so easy!
THANK YOU!!!!
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.
Can anyone tell me how to convert a figure such as Victoria 2 into an INJ system figure?
On the other hand, would anyone care to write a script that would generate INJ and REM poses for a figure and maybe spawn morph targets for all the body parts? I have been going through such convolutions to dial/magnet a character and then either strip the other dials or transfer the new shape to a stripped .cr2. It all makes me crazy and I often screw up. I just have such a lame old platform I can't work with figures that are not stripped to the minimum.