Wed, Dec 18, 3:04 PM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Dec 18 2:45 pm)



Subject: Is this possible? (Q for Vicky 3 technical people)


SnowSultan ( ) posted Sun, 22 December 2002 at 2:54 PM · edited Thu, 28 November 2024 at 12:26 PM

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.


rbtwhiz ( ) posted Sun, 22 December 2002 at 4:08 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


AlleyKatArt ( ) posted Sun, 22 December 2002 at 4:11 PM

It sounds completely possible, but it also sounds like a big pain in the rear, to me.

Kreations By Khrys


quixote ( ) posted Sun, 22 December 2002 at 4:14 PM

!

Un coup de dés jamais n'abolira le hazard
S Mallarmé


PabloS ( ) posted Sun, 22 December 2002 at 4:15 PM

Daz promised some tech info on injection poses. Perhaps once that's released you combine that with what you want to do. (I think I read it in their FAQ)


rbtwhiz ( ) posted Sun, 22 December 2002 at 4:34 PM

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"

actor head:1
{
channels
{
targetGeom HdAfrican3
{
keys
{
k 0 1
}
}
}
}
}

-Rob


Dave71 ( ) posted Sun, 22 December 2002 at 4:35 PM

I have been fooling with this lately and it is definently possible, but all manual work... Good job for programmers HINT


rbtwhiz ( ) posted Sun, 22 December 2002 at 4:38 PM

You can also include any MAT pose settings... like changing color, applying maps, etc. -Rob


Crescent ( ) posted Sun, 22 December 2002 at 4:46 PM

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!


lesbentley ( ) posted Sun, 22 December 2002 at 4:55 PM

Rob, I have never come across readScript and INJ before, are you talking P4, Pro Pack, or P5?


rbtwhiz ( ) posted Sun, 22 December 2002 at 5:02 PM

les, Any... all three. Look under the hood of V3's pose files, you'll see what I've done. ;) -Rob


Letterworks ( ) posted Sun, 22 December 2002 at 5:03 PM

!


rbtwhiz ( ) posted Sun, 22 December 2002 at 5:09 PM

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.


Spit ( ) posted Sun, 22 December 2002 at 5:25 PM

Even more of a reason for people not to mess with moving these folders around I suspect. Great info.


Crescent ( ) posted Sun, 22 December 2002 at 5:26 PM

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! ;-)


Crescent ( ) posted Sun, 22 December 2002 at 5:46 PM

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!)


rockets ( ) posted Sun, 22 December 2002 at 5:50 PM

~

My idea of rebooting is kicking somebody in the butt twice!


Crescent ( ) posted Sun, 22 December 2002 at 5:57 PM

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


Spit ( ) posted Sun, 22 December 2002 at 6:09 PM

Ah....thanks! makes sense!


maclean ( ) posted Sun, 22 December 2002 at 6:18 PM

Wow! Inserting huge bookmark here. I may even buy the bimbo to see this stuff in action. mac


KattMan ( ) posted Sun, 22 December 2002 at 8:31 PM

Hint to programmers huh. Well this may be an item of interest for version 2 of the P-Wizard!


Crescent ( ) posted Sun, 22 December 2002 at 8:56 PM

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?


milamber42 ( ) posted Sun, 22 December 2002 at 10:38 PM

:-)


Tashar59 ( ) posted Sun, 22 December 2002 at 10:53 PM

Can we use Mat Pose Edit to do all this? Tashar 59


Chailynne ( ) posted Sun, 22 December 2002 at 11:45 PM

Not sure I like the idea of a MAT file calling a MOR file myself. Not that I understand all this technical stuff but... Most of the time when I am working on a piece I use MAT files to load the face/skin textures but I make my own face/body.


Spit ( ) posted Mon, 23 December 2002 at 3:32 AM

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.


PabloS ( ) posted Mon, 23 December 2002 at 6:06 AM

"I don't think space saving would be a valid selling point..." It may be valid to folks that are pushing the limits of their systems and/or want to use multiple characters


c1rcle ( ) posted Mon, 23 December 2002 at 6:56 AM

bookmark :)


c1rcle ( ) posted Mon, 23 December 2002 at 9:28 AM

I'm wondering does readscript only work if you have V3 installed or can it be used for the rest of us?


c1rcle ( ) posted Mon, 23 December 2002 at 9:29 AM

for the rest = by the rest I will learn to type in proper English one day :)


volfin ( ) posted Mon, 23 December 2002 at 9:36 AM

If the ability to do these things has been present in poser all along, why are we just finding out about it now? Doesn't CL know how their own software works?


hogwarden ( ) posted Mon, 23 December 2002 at 11:06 AM

Bookmark!


Crescent ( ) posted Mon, 23 December 2002 at 11:28 AM

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.


volfin ( ) posted Mon, 23 December 2002 at 3:32 PM

I understand what you are saying Crescent, But then I have to ask, what was the readscript command originally used for? Is it somthing that was undocumented until now?


maclean ( ) posted Mon, 23 December 2002 at 5:06 PM

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


PabloS ( ) posted Mon, 23 December 2002 at 6:12 PM

...but CL should have known about the "ReadScript" command which is what I think volfin was talking about.


maclean ( ) posted Mon, 23 December 2002 at 8:13 PM

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


PabloS ( ) posted Mon, 23 December 2002 at 9:04 PM

It's been years (decades really) since I've done programming but it seems to me if the 'readscript' command wasn't inherent in Poser, it wouldn't execute from a cr2/crz (a text file). In other words, how does Poser know what to do with the 'readscript' command?


rbtwhiz ( ) posted Tue, 24 December 2002 at 12:01 AM

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


c1rcle ( ) posted Tue, 24 December 2002 at 3:43 AM

Thanks a lot Rob, I can get started on fiddling with it now I know where to look :) CL should have snapped you up first you really are a genius.


volfin ( ) posted Tue, 24 December 2002 at 10:10 AM

That is a great explaination and exactly what I wanted to know, Rob. CL obviously didn't forsee how useful such a command would be. Glad you did! *8-)


maclean ( ) posted Tue, 24 December 2002 at 2:14 PM

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


macmullin ( ) posted Wed, 25 December 2002 at 10:38 AM

bookmark


mabfairyqueen ( ) posted Sat, 11 January 2003 at 5:27 PM

!


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.