Forum Coordinators: RedPhantom
Poser - OFFICIAL F.A.Q (Last Updated: 2024 Dec 18 2:45 pm)
Yes, it is indeed possible (manual editing).
A standard pose file that sets the appropriate morph values, with the readScript (see the internals of one of the files in the !V3 pose folders) lines that load the morphs listed either just above the first actor or after the last (above the second "}" from the bottom, with the same whitespace before it). Viola, "character" pose.
Easier done than... well... just easy. ;)
-Rob
That's a great point. I hadn't thought of that. It's easy to put the textures and morph injections in the same .pz2 file. You need to make sure you get the morph name exactly correct, but otherwise it's very easy to do. Here's the injection settings for EarAnimal1 with the SkinHead set to use DAZ's Berry Nice texture:
{
version
{
number 4.01
}
figure
{
material SkinHead
{
KdColor 1 1 1 1
KaColor 0 0 0 1
KsColor 0.0588083 0.0588083 0.0588083 1
TextureColor 1 1 1 1
NsExponent 30
tMin 0
tMax 0
tExpo 0.6
bumpStrength 0.700794
ksIgnoreTexture 0
reflectThruLights 1
reflectThruKd 0
textureMap ":Runtime:textures:DAZ:Characters:MilWom:V3Maps:V3MakeUp:V3hd_BerryNice.jpg"
0 0
bumpMap NO_MAP
reflectionMap NO_MAP
transparencyMap NO_MAP
ReflectionColor 1 1 1 1
}
}
readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:Deltas:InjDeltas.EarAnimal1.pz2"
figure
{
defaultPick BODY
}
readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:ChanVis:Unhide.EarAnimal1.pz2"
}
You'd have to set all the materials inside the block:
*figure
{
}*
area, but it does work. I haven't played with MOR files, but I'd assume that you could put it in the MOR file. You might also be able to have this MAT file run the MOR file with a readScript command. I'll have to try that and see if I have some success.
Cheers!
Or just call external MAT poses...
Example:
{
version
{
number 4.01
}
// Read pose from library location so as to inject and unhide the channel
readScript ":Runtime:Libraries:Pose:!V3 Head INJ:HdAfrican3.pz2"
// Read pose from library location to load texture for all
readScript ":Runtime:Libraries:Pose:!MAT V3 MapsHi:! V3NaturalHi.pz2"
// Read pose from library location to load texture for eyes
readScript ":Runtime:Libraries:Pose:!MAT V3 MapsHi:Eyes BrownHi.pz2"
// Read pose from library location to load tone
readScript ":Runtime:Libraries:Pose:!MAT V3 MapsHi:!Tone 7.pz2"
actor head:1
{
channels
{
targetGeom HdAfrican3
{
keys
{
k 0 1
}
}
}
}
}
-Rob
*If you want to copy/paste the example above as a pz2, it'll only work correctly if you have V3, the head morphs and the Hi-Res maps installed.
Well, I got the next step to work. Here's a MAT/MOR file that will put in 2 morphs, setting one of the morphs to a value of 2, and assign a skinHead texture. *************** { version { number 4.01 } readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:Deltas:InjDeltas.EarAnimal1.pz2" readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:Deltas:InjDeltas.EyesAlien.pz2" figure { defaultPick BODY material SkinHead { KdColor 1 1 1 1 KaColor 0 0 0 1 KsColor 0.0588083 0.0588083 0.0588083 1 TextureColor 1 1 1 1 NsExponent 30 tMin 0 tMax 0 tExpo 0.6 bumpStrength 0.700794 ksIgnoreTexture 0 reflectThruLights 1 reflectThruKd 0 textureMap ":Runtime:textures:DAZ:Characters:MilWom:V3Maps:V3MakeUp:V3hd_BerryNice.jpg" 0 0 bumpMap NO_MAP reflectionMap NO_MAP transparencyMap NO_MAP ReflectionColor 1 1 1 1 } } readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:ChanVis:Unhide.EarAnimal1.pz2" readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:ChanVis:Unhide.EyesAlien.pz2" actor head:1 { channels { targetGeom EyesAlien { keys { k 0 2 } } } } } *************** Now to try for the whole enchilada: a MAT file that runs a MOR file. This would allow smaller MAT files by not repeating the same information all the time. (I.e. you could have several textures for one character and not have each MAT file contain all the MOR settings for that character.) Wish me luck! ;-)
You can run a MOR file from inside a MAT file! I did this on P5, but I think it should run on P4. Could someone check this for me? Set up: I created a new Pose folder called !V3 MORs. I created my MOR file called "MOR-test3.pz2" with morph injections and morph settings in that folder. (Yes, it took me a few tries to get this to work.) ;-) I created my MAT file elsewhere. (It doesn't matter where the MAT file is saved if you run everything from the MAT file.) When clicking on the MAT file, Poser will apply the skinHead texture and run the MOR file. MAT file: { version { number 4.01 } readScript ":Runtime:libraries:Pose:!V3 MORs:MOR-test3.pz2" figure { material SkinHead { KdColor 1 1 1 1 KaColor 0 0 0 1 KsColor 0.0588083 0.0588083 0.0588083 1 TextureColor 1 1 1 1 NsExponent 30 tMin 0 tMax 0 tExpo 0.6 bumpStrength 0.700794 ksIgnoreTexture 0 reflectThruLights 1 reflectThruKd 0 textureMap ":Runtime:textures:DAZ:Characters:MilWom:V3Maps:V3MakeUp:V3hd_BerryNice.jpg" 0 0 bumpMap NO_MAP reflectionMap NO_MAP transparencyMap NO_MAP ReflectionColor 1 1 1 1 } } } ****** MOR file: { version { number 4.01 } readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:Deltas:InjDeltas.EarAnimal1.pz2" readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:Deltas:InjDeltas.EyesAlien.pz2" figure { defaultPick BODY } readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:ChanVis:Unhide.EarAnimal1.pz2" readScript ":Runtime:Libraries:!DAZ:Victoria 3:Head:ChanVis:Unhide.EyesAlien.pz2" actor head:1 { channels { targetGeom EyesAlien { keys { k 0 2 } } } channels { targetGeom EarAnimal1 { keys { k 0 2 } } } } } ********** (Friends don't let friends use AlienEyes at 2!)
Spit - it doesn't matter if you moved the individual morph injection files around. The examples above do not call up the files in the "Pose!V3 ..." folders created by the DAZ installer. These files are calling to scripts buried elsewhere in Poser. (":Runtime:Libraries:!DAZ:Victoria 3:Head:ChanVis:..." and ":Runtime:Libraries:!DAZ:Victoria 3:Head:Deltas:InjDeltas...." to be specific.) I moved all of the Pose!V3 ... folders to a different location and this worked without a hitch. I had to modify the file calls in the "!V3 All Morphs INJ" and "!V3 All Morphs REM" folders to look for the individual morph folders in their new location, but these MAT and MOR scripts are unaffected by that move. They call to the actual scripts elsewhere in the program, not to the pointers you see in the Pose folders. Hope this makes sense, Cres
Something to think about: If/when morph injection catches on, we may have a lot of folders strung all over the place with the morph information unless we come up with a standard place to put the morphs. Creating characters with morph injection instead of embedding the morphs in .cr2 files is a really cool concept and it would save library space by making just a MAT file that calls up textures, morphs, and morph settings instead of making .cr2, MAT and MOR files for custom characters. You could just have a MAT file call up the custom morphs needed for the character. Maybe we could put all the morph injection deltas someplace like RuntimeMorphs folder. Any thoughts on this?
Quoth Crescent: "Creating characters with morph injection instead of embedding the morphs in .cr2 files is a really cool concept and it would save library space by making just a MAT file that calls up textures, morphs, and morph settings instead of making .cr2, MAT and MOR files for custom characters. You could just have a MAT file call up the custom morphs needed for the character." In principle, maybe, in practical terms I'm not so sure. Once I get the morph injected I'll save the CR2 so I don't have to do it again. LOL. No really. I don't think space saving would be a valid selling point and it would just mean an extra step for most of the users. And having more files to put somewhere and keep track of would be more than a nightmare I'm afraid. As it is we have more than we can handle with MAT files unfortunately.
I don't see any reason this wouldn't work with non-V3 figures. I'll see about creating a morph tonight for V1 and see if I can get a morph injection to work. It doesn't look very hard to do. In fact, I'd always wondered if there was a way to keep the morphs out of the .cr2 to keep the .cr2 file size down. It might also cut down on crosstalk for P4 if you only inject the morphs you need per character. "Doesn't CL know how their own software works?" It's pretty standard for people to find ways to use/abuse software that the programmers didn't foresee. I've stumbled on to some weird stuff lately, like a way to quickly alphabetize the morph parameter dials while working on something completely different.
AFAIK, it's something that rbtwhiz has 'invented'. To my knowledge, it's never been heard of in poser up until now. Robert's a bit of a poser genius. He and Charles 'Nerd' Taylor were the first people to code and implement ERC in poser, and the smartest thing DAZ ever did was to hire him and Anton Keisel. "Doesn't CL know how their own software works?" That's not really the situation, volfin. At least 80% of current poser content (clothes, texs, etc), and about half the new ways of using poser (MATs, ERC, JCMs) came, not from CL, but from the users. CL made the prog, but I doubt if they have time to go hunting around inside the code looking for ways to tweak it like the users do. Anyway, Robert's evidently found some new trick in the cr2 format which involves the insertion of a 'readscript'. I'm seriously hoping that this will lead to more massive leaps ahead in poser coding. Am currently d/ling vicki now, and can't wait to have a look at the code. In fact, the only reason I bought her, since I never use figures in poser, was to find out what the heck Robert is up to now! mac
Well, I may be wrong, but I don't think the 'readscript' command ever existed. That's what I was trying to point out. I believe it's something that rbtwhiz invernted, NOT CL. I may be way off here, but I've certainly never heard of it in a poser cr2. Unless it's something hidden in poser's code? As I say, correct me if I'm wrong. How could CL know about it if that's the case. Perhaps Robert would like to clarify? mac
In order for poser to understand what the code does, it must exist in some fashion already.
The use of "readScript" is the result of me being my inquisitive self. As was the case with ERC, I took existing code and gave it a different purpose. ERC (and previously, EMC along with Charles) began as a re-purposing of existing code for full body morphs within a cr2. The code was placed in a specific location to produce a specific result... and not the one intended by it's [poser's] creators.
MAT poses (also mentioned in this thread), something this community has grown to love, is an innovation by Micah Henrie during development of Victoria 2; which came to be... much the same way.
"Geometry Swapping", an innovative approach and re-purposing of previously existing code for poser hands (version 2) to work in other groups... thanks to Anton.
"readScript" isn't any different. The code exists in at least one of poser's native files (it must)... I just adapted it to my purposes. The initial file I was looking at when it occurred to me? "Runtimefiguresdefault.figure"
See, it was originally used to load the default figure for the factory settings of poser. By changing the reference to the cr2, you could change the figure that loaded upon launch. Well, I figured... if "readScript" can tell poser to load a figure from a specific location on startup, certainly I can make it point to a file of my choosing and have it load that instead. So I changed the path to load a prop vice a figure. It loaded. Hmmm... well if that worked, then perhaps I could place it in a cr2 (with the proper formatting) and have it load a pose, or hair, after it loaded the figure. It worked. Okay, interest is peaked now... I bet if I put it in a minimalized pz2 (brackets, version, etc.) I could make it call another pose and apply IT as if I selected IT from the library. I did... and it worked. Ok then... from what I've gathered so far, theoretically I should be able to insert it into just about any poser ascii file (they're all derivative of pz3's anyway) and have it call a plethora of other files. I did. It worked. ;)
And there you have it. A peek into my thought process and how Victoria 3 came to utilize another innovation by a inquisitive individual. And to think, as a kid I used to get in trouble for taking things apart :) (I always put them back together, without extra parts, and they always worked as well as they did before I touched them! I swear it! ;)
-Rob
Thanks robert, I just got the same answer in a mail this evening from VK, who told me that the 'readscript' command was in the default figure file. I had opened it to look and was coming here with hte info when I saw your post. LOL. Well, congratulations. That's a very creative use of poser's internal abilities! mac
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.
Does anyone know if it's possible to create and recall MOR poses for V3 that will also load and set the required morphs for creating the desired character? This wouldn't be necessary for people who have their Victoria 3 fully loaded with all morphs, but it's well over 100 meg with them all injected. It would be nice if we could save pose files with different morph adjustments and then when applied to a blank V3, the morphs used would automatically be injected. Of course, easier said than done... ;) Anyway, it's just a thought. Thanks, take care. SnowS
my DeviantArt page: http://snowsultan.deviantart.com/
Â
I do not speak as a representative of DAZ, I speak only as a long-time member here. Be nice (and quit lying about DAZ) and I'll be nice too.