Forum Coordinators: RedPhantom
Poser - OFFICIAL F.A.Q (Last Updated: 2025 Jan 26 2:05 pm)
By the way: it ends with 3 } and is NOT working for me, so yah.... I need some help if anyone can...
This may be of help...
----------------------------------------------------------------------------------------
The Wisdom of bagginsbill:
"Oh - the manual says that? I have never read the manual - this must be why."hi wandw,
actially i am trying to make a binary morph inj, not a pmd inj... i need it to be used in daz when im done. so unfortunatly this isnt what i need.
can anyone see what might be wrong with the pasted portion of my inj file?
In the line "targetGeom PBMCC_01"
the name PBMCC_01 must exist in your figure, in DAZ characters it normally do exist unless they are old, but in other characters do not exist.
You must use the nanme of a channel that exist, if this name do not exist the morph will not load.
If this name exist the injected morph will replace the one that exist in the figure.
For example, in the classic P4 Nude Woman you have
actor head:1
{
channels
{
targetGeom RoundFace
{
name RoundFace
initValue 0
hidden 0
forceLimits 4
min -100000
max 100000
trackingScale 0.016176
keys
{
static 0
k 0 0
}
interpStyleLocked 0
indexes 1564
numbDeltas 3470
deltas
{
blah, blah, blah
}
}
}
Now you want to inject a new face and so you must do
actor head:1
{
channels
{
targetGeom RoundFace
{
name MyNewFace
initValue 0
hidden 0
forceLimits 4
min -100000
max 100000
trackingScale 0.016176
keys
{
static 0
k 0 0
}
interpStyleLocked 0
indexes ....... new value
numbDeltas 3470
deltas
{
new blah, blah, blah
}
}
}
Injecting your new morph will destroy the original RoundFace morph and replace it with your new face.
As for the master dials
valueOpDeltaAdd
Figure 5
BODY:5
Smaller 1
deltaAddDelta 1.000000
The name "Snaller" also must exist as a name of the value Param channel in the BODY, and the story is the same as with the actors.
You can inject all morphs you want and to any body part with only one pz2 and if you want you can include materials and poses too. The only thing that you cannot do is inject something that already doesn't exist in your figure.
Stupidity also evolves!
Quote - hi wandw,
actially i am trying to make a binary morph inj, not a pmd inj... i
I suppose I should have read the whole post before posting, as I presumed from your title you actually were doing a binary morph. Silly me...
A big advantage of binary morphs is that they can create injection channels, but as you point out, they can't be used in Studio without a plug-in...
----------------------------------------------------------------------------------------
The Wisdom of bagginsbill:
"Oh - the manual says that? I have never read the manual - this must be why."Hi phionix, To my mind what you are trying to make is not a binary morph, but a normal delta injection. In Poser a binary moprph is a pmd file.
Quote - Can I add more than one actor PER file, if so, how do I link that up?
Yes, you can have as many actors as you like in the file. The syntax for adding actors is the same as in any normal pose file, eg:
{
version
{
number 3
}
actor BODY
{
channels
{
# individual channels go below this line.
}
}
actor hip
{
channels
{
# individual channels go below this line.
}
}
actor rThigh
{
channels
{
# individual channels go below this line.
}
}
}
Quote - The second question is.... How to I then make FBM dials to use these INJ / REM files once I have them done?
kawecki makes an important point when he points out that the channel must exist in the figure before you can inject into it. In P6 and up you can use "createFullBodyMorph" in your delta injection file to create the master channel, eg:
{
version
{
number 3
}
createFullBodyMorph Smaller 1
#The rest of the file goes here.
}
In earlier versions of Poser you are limited to using channels that already exist in the cr2. I don't know if D|S supports "createFullBodyMorph", probably not. The type of channel used as a master for a FBM is usually "valueParm", but a "targetGeom" or in fact any channel type can be used as a master. P.S. I'm guessing, that this might be a small breast morph. I hope so, because I am a big fan of small breasts!
Thank you so much for all the info kawecki...
I guess then when making my custom character I needed to make these blank PBMCC channels.......
**lesbentley: ** Awesome (i was told before that taking the binary data from the pmd and putting it into the inj pz2 was called a binary inj file, I guess thats just a good old delta then?)... now I just need to know how to make these blank channels in my character so I can put these 2 methods together.
Can anyone tell me how this is done or show the way to a tutorial to make these blank channels??
It's always something isnt it?
So I figured out how to add channels one by one in poser file editor........ Is there any way to speed up the process not to have to add them one by one for each body part??? THis will take forever!!
Also, I tried editing my pz2 INJ file like you guys said. The FBM dial works great! BUT I could not get them (the inj files) to work all in one file. Can you see what I screwed up?
This is the end of one morph and the beginning of another...
d 13000 -1.369976e-006 2.294779e-005 -1.991168e-005
d 13001 0 5.841255e-006 -4.969537e-006
}
blendType 0
}
}
actor lNipple:1
{
channels
{
targetGeom PBMCC_01
etc..............
The channles I added were all called PBMCC_01. And yes it does have rigged nipples....:P
I've tried playing around with it and still cant get more than one INJ to work per file...
So for now I've made a readscript file so all can be injected from one pose file. I would still LOVE to include all binary information into one simple file for all 3 actor bodyparts.
So, if anyone can see where I've gone wrong in the script above please let me know!!
A blank channel is something simple as
targetGeom PBMCC_03
{
name -
hidden 1
keys
{
static 0
k 0 0
}
indexes 0
numbDeltas 0
deltas
{
}
}
It can be used also for removing a morph from a figure
You needn't use readscript for injection morph, what injects a morph is a pose file (pz2).
Readscript what only does is to call one or several pose files and it can also call other things as a prop (pp2).
Daz always use readscript without any need complicating something that is much more simpler.
Readscript can be useful in case when you have a general package of morphs and several different figures that use diferent subsets from the general morph package, so you needn't to repeat the same delta information for every different figure that use it.
If you want to inject only one morph is a complete nonsense to use readscript..
Stupidity also evolves!
hi kaweki
thank you for your help, but i dont think you read my last 2 posts... can you see why my file woildnt be working?
ive added the channels in the figures cr2 file and am trying to get more than one actor to inject in the same pz2. it wouldnt so im using a read script pz2 to do the same thing. i would still like to know why mines not working. do you see were the 2 actor sectons meet? is there anything wrong with the brakets??
A full body pose
{
version
{
number 4.01
}
actor BODY:1
{
channels
{
valueParm PBMBody1
{
name Body1
initValue 0
hidden 0
forceLimits 1
min 0
max 1
trackingScale 0.004
keys
{
static 0
k 0 1
}
interpStyleLocked 0
}
}
}
actor hip:1
{
channels
{
targetGeom PBMBody1
{
name Body1
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 1
BODY:1
PBMBody1
deltaAddDelta 1.000000
indexes 1279
numbDeltas 1279
deltas
{
bla,bla,bla
}
}
}
}
actor abdomen:1
{
channels
{
targetGeom PBMBody1
{
name Body1
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 1
BODY:1
PBMBody1
deltaAddDelta 1.000000
indexes 2253
numbDeltas 2362
deltas
{
bla, bla, bla
}
}
}
}
actor chest:1
{
channels
{
targetGeom PBMBody1
{
name Body1
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 1
BODY:1
PBMBody1
deltaAddDelta 1.000000
indexes 899
numbDeltas 3914
deltas
{
bla,bla,bla
}
}
}
}
actor rCollar:1
{
channels
{
targetGeom PBMBody1
{
name -
initValue 0
hidden 1
forceLimits 1
min 0
max 1
trackingScale 0.004
keys
{
static 0
k 0 0
}
interpStyleLocked 0
indexes 0
numbDeltas 0
deltas
{
}
}
}
}
actor rShldr:1
{
channels
{
targetGeom PBMBody1
{
name -
initValue 0
hidden 1
forceLimits 1
min 0
max 1
trackingScale 0.004
keys
{
static 0
k 0 0
}
interpStyleLocked 0
indexes 0
numbDeltas 0
deltas
{
}
}
}
}
actor lCollar:1
{
channels
{
targetGeom PBMBody1
{
name -
initValue 0
hidden 1
forceLimits 1
min 0
max 1
trackingScale 0.004
keys
{
static 0
k 0 0
}
interpStyleLocked 0
indexes 0
numbDeltas 0
deltas
{
}
}
}
}
actor lShldr:1
{
channels
{
targetGeom PBMBody1
{
name -
initValue 0
hidden 1
forceLimits 1
min 0
max 1
trackingScale 0.004
keys
{
static 0
k 0 0
}
interpStyleLocked 0
indexes 0
numbDeltas 0
deltas
{
}
}
}
}
actor rThigh:1
{
channels
{
targetGeom PBMBody1
{
name Body1
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 1
BODY:1
PBMBody1
deltaAddDelta 1.000000
indexes 1701
numbDeltas 1701
deltas
{
bla,bla......
}
}
}
}
actor rShin:1
{
channels
{
targetGeom PBMBody1
{
name Body1
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 1
BODY:1
PBMBody1
deltaAddDelta 1.000000
indexes 1016
numbDeltas 1778
deltas
{
bla, bla,bla
}
}
}
}
actor lThigh:1
{
channels
{
targetGeom PBMBody1
{
name Body1
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 1
BODY:1
PBMBody1
deltaAddDelta 1.000000
indexes 1701
numbDeltas 1701
deltas
{
bla,bla,bla
}
}
}
}
actor lShin:1
{
channels
{
targetGeom PBMBody1
{
name Body1
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 1
BODY:1
PBMBody1
deltaAddDelta 1.000000
indexes 1016
numbDeltas 1778
deltas
{
bla, bla and bla bla
}
}
}
}
}
Stupidity also evolves!
Quote - So I figured out how to add channels one by one in poser file editor........ Is there any way to speed up the process not to have to add them one by one for each body part??? THis will take forever!!
Every actor has a part that reads:
channels
{
If you have a text editor that can do a multiple line search and replace (I use the free EditPad Lite), you can make use of this fact to add PBMCC_## channels to every actor. Use... channels {
...as the search string. Then, as the replace string, use: channels { targetGeom PBMCC_01 { name - initValue 0 hidden 1 forceLimits 1 min -10000 max 10000 trackingScale 0.02 keys { static 0 k 0 0 } interpStyleLocked 0 indexes 0 numbDeltas 0 deltas { } blendType 0 } targetGeom PBMCC_02 { name - initValue 0 hidden 1 forceLimits 1 min -10000 max 10000 trackingScale 0.02 keys { static 0 k 0 0 } interpStyleLocked 0 indexes 0 numbDeltas 0 deltas { } blendType 0 }
I have only added two channels in the example, but you can add as many as you like. Next go to the BODY actor and replace every instance of the string "targetGeom" in that actor, with "valueParm", this gives you the master FBM channels. If your figure has channel groups defined, the new channels will have been placed above the grouping information. As the final step, load the cr2 into poser and re-save it to the palette, this will put the 'groups' in the correct place above the new channels.
Quote - Also, I tried editing my pz2 INJ file like you guys said. The FBM dial works great! BUT I could not get them (the inj files) to work all in one file. Can you see what I screwed up? This is the end of one morph and the beginning of another...
d 13000 -1.369976e-006 2.294779e-005 -1.991168e-005
d 13001 0 5.841255e-006 -4.969537e-006
}
blendType 0
}
<span style="color:rgb(255,0,0);">}</span>
actor lNipple:1
{
channels
{
targetGeom PBMCC_01
etc..............
You added an extra brace at the end of the channel (in <span style="color:rgb(255,0,0);">red</span> above), delete that.
Thank you Lesbentley, This is exactly what I'm looking for.. I will try it later today. One too many }
I'll give you the good news when it works!!
Quote -
I think rigged nipples are an excellent idea, I'm surprised no one has done it before (as far as I am aware)
Kawecki did them for V4-they are in the MP. I don't have them, so I cant' speak about their utility...
----------------------------------------------------------------------------------------
The Wisdom of bagginsbill:
"Oh - the manual says that? I have never read the manual - this must be why."Yah, I figured who wants a bunch of morphs to make the breasts bounce when I could just add bones to do the same thing. Now I realize if you want to make them smaller or larger it's more difficult cause you have to move the bone to the new center and axis of the breast.... no fun! I can still make a pose to correct it, but that will be later!
I appreciate all the help, but it's still not working for me. I removed the extra } from the file. I have pasted the entire file,minus the actual delta data................ I am lost on what is wrong. Help!!
{
version
{
number 4.01
}
createFullBodyMorph Smaller 1
actor chest:1
{
channels
{
targetGeom PBMCC_01
{
name Smaller 1
initValue 0
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
static 0
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 5
BODY:5
Smaller 1
deltaAddDelta 1.000000
indexes 7954
numbDeltas 13183
deltas
{ ....................................................................
}
blendType 0
}
actor lNipple:1
{
channels
{
targetGeom PBMCC_01
{
name Smaller 1
initValue 0
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
static 0
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 5
BODY:5
Smaller 1
deltaAddDelta 1.000000
indexes 1299
numbDeltas 1299
deltas
{.................................................
}
blendType 0
}
actor rNipple:1
{
channels
{
targetGeom PBMCC_01
{
name Smaller 1
initValue 0
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
static 0
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 5
BODY:5
Smaller 1
deltaAddDelta 1.000000
indexes 1299
numbDeltas 1299
deltas
{...........................................................
}
blendType 0
}
}
}
}
Sorry phionix. I made a mistake when I told you to delete the brace, you were correct in the first place, and should not have done that. Below is the text of the INJ as it should look. If you paste your deltas into it, it should work. The red lines are comments, and should not be included in the final file. The numbers in the "indexes" lines are specific to the morph you are injecting, and represent the number of delta (d) lines in the morph. The numbers in the "numbDeltas" lines are specific to the actor you are injecting into, and represent the number of vertices in that actor (I know this sounds the wrong way round, but that's how it is). I have taken those numbers from your file, and assume them to be correct.
If you have added the PBMCC channels, including 'valueParm' channels in the BODY, you do not need the "createFullBodyMorph", as you can use the "valueParm PBMCC_01" for the FBM dial.
{
<span style="color:rgb(255,0,0);"># "Smaller 1.pz2"</span>
version
{
number 4.01
}
actor BODY
{
channels
{
valueParm PBMCC_01
{
name Smaller 1
hidden 0
keys
{
static 0
k 0 1
}
}
}
}
actor chest
{
channels
{
targetGeom PBMCC_01
{
name Smaller 1
hidden 0
keys
{
static 0
k 0 0
}
valueOpDeltaAdd
Figure
BODY
PBMCC_01
deltaAddDelta 1.000
indexes 7954 <span style="color:rgb(255,0,0);"># This number is specific to the morph you are injecting.</span>
numbDeltas 13183 <span style="color:rgb(255,0,0);"># This number is specific to the actor you are injection into.</span>
deltas
{
<span style="color:rgb(255,0,0);"># deltas go here.</span>
}
}
}
}
actor rNipple
{
channels
{
targetGeom PBMCC_01
{
name Smaller 1
hidden 0
keys
{
static 0
k 0 0
}
valueOpDeltaAdd
Figure
BODY
PBMCC_01
deltaAddDelta 1.000
indexes 1299
numbDeltas 1299
deltas
{
<span style="color:rgb(255,0,0);"># deltas go here.</span>
}
}
}
}
actor lNipple
{
channels
{
targetGeom PBMCC_01
{
name Smaller 1
hidden 0
keys
{
static 0
k 0 0
}
valueOpDeltaAdd
Figure
BODY
PBMCC_01
deltaAddDelta 1.000
indexes 1299
numbDeltas 1299
deltas
{
<span style="color:rgb(255,0,0);"># deltas go here.</span>
}
}
}
}
}
In some cases it doesn't work and makes Poser crazy, I have tested many years ago to discover Poser's format.
In many places in Poser files you can add things and lines and Poser will ignore these extra items as Poser4 ignores all the shader trees and new instructions.
In these case it doesn't matter if it begins with # or nothing, Poser will ignore it, but..., in some places you cannot put extra things and Poser will not ignore and will do wrong things and # solved nothing.
As # didn't work and Poser's files are in C style my guess was that comments must begin with // and it worked in any place.
Don't remember if /* .... */ works too.
Stupidity also evolves!
I still dont know where the hitch is.... I'm going to try it on a new file and see... Wish me luck!!
I got my second file to work.... In the end it WAS one too many } in between each of the seperate body actors!
Thanks for everyones help!!
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.
Hey all,
I'm making my first binary morph targets by "hand", as in, no script to help me, using cr2editor and a txt.... This is for a custom figure and NOT for a DAZ figure.
I have the real meat of the process I think. My real question, the 1st one I can think of is....
Can I add more than one actor PER file, if so, how do I link that up? Or what would I add / take away when pasting them back to back?
The second question is.... How to I then make FBM dials to use these INJ / REM files once I have them done?
Any and all help appreciated!!
Here is when I have at the top of the INJ files.........
{
version
{
number 4.01
}
actor chest:1
{
channels
{
targetGeom PBMCC_01
{
name Smaller 1
initValue 0
hidden 0
forceLimits 1
min -100000
max 100000
trackingScale 0.02
keys
{
static 0
k 0 0
}
interpStyleLocked 0
valueOpDeltaAdd
Figure 5
BODY:5
Smaller 1
deltaAddDelta 1.000000
indexes 7954
numbDeltas 13183
deltas
{
d 0 0.0006536203 0.000600636 -0.002998779.............................etc
My Store My Gallery Contact