Wed, Nov 20, 4:39 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 20 4:32 am)



Subject: Question re Saving Morph Targets


mathman ( ) posted Sat, 05 July 2003 at 6:20 PM · edited Wed, 20 November 2024 at 4:37 AM

Attached Link: http://www.renderosity.com/freestuff.ez?Form.Contrib=3Dream&Topsectionid=0

Hi all, A recent freebie (link attached) is a set of morph targets that transforms Don into a completely different person. The readme file has instructions to set this up in the Poses library. Its quite a laborious process, where you have to load numerous morph targets. Is there a way to save all of these morphs into a one-click process ? I'm fairly much a beginner still .... is it a MOR pose that I need to create ? ... if so, how do I do it ? Thanks in advance. regards, Andrew


lesbentley ( ) posted Sat, 05 July 2003 at 9:18 PM

One thing you could do is after following all the instructions that came with your download, is to save Don back to the Figures pallet with a new name. Next time you load this new character it should be in exactly the same state you saved it in.


mathman ( ) posted Sat, 05 July 2003 at 9:37 PM

Thanks, I'll try that. The only thing is - when you create a new character, doesn't it take up a lot of space on your hard drive (this is what I've heard)...? Is there a better way ? Andrew


Jaager ( ) posted Sat, 05 July 2003 at 10:47 PM

Morph injection is more efficient. That is a one click process. It also requires that you have some understanding of the way Poser handles morphs and be willing to do some text editing. A MOR pose just sets the dials for morphs that are already in a CR2. Your could put the morphs your got into the regular Don CR2 that you use - as just add-in - and have a MOR pose that sets them to generate the character. This keeps you to one CR2. (link) I see what you are talking about. Actually - there is only one morph - the head morph. The eye morphs are a really complicated way of duplicating what is already in the figure. Each eye has an X/Y/Z trans. The problem with using them by setting the dials: every pose you use has values for these dials and almost always sets these dials back to zero. What you use is a pose that LOCKS these dials in the new position - that means the max=min=the new value. This can be a separate pose - or a part of the MOR pose that sets the face morph. When you do this, you also need a pose to unlock - or make sure every other character face you have has its own settings to lock the eyes for it - even if the location is zero.


mathman ( ) posted Sun, 06 July 2003 at 12:03 AM

Thanks for replying, Jaager. I am now totally confused ... I didn't really understand what you have just said. Furthermore, I tried to save it as a Pose from within the Poser interface, but when I re-loaded Don, and double-clicked the saved pose from the library palette, it did nothing. I'm pretty comfortable about updating CR2 and PZ2 files in a text editor, so maybe you could tell me what to do in those terms ? Andrew


Jaager ( ) posted Sun, 06 July 2003 at 3:48 AM

Open a pose file - a PZ2 in a text editor - one without the morph channels option - a position pose (POS) Note that every actor has six channels that have keys. Keys are what Poser calls the dial settings. k 0 1.0 is a dial settings of "1" The first number after the "k" is the frame number for animation. For the eyes: think about what happens to dial settings for translateX xtran that you have set when you apply a pose that has a different value? Your value is changed to the one in the pose. Every POS file has these six channels - The only way to set a dial and keep poses from changing them is to set something that a regular POS file cannot affect = the limits - the max and the min If you make them your value - the key is irrelevant - If your have Use Limits set - the channel must be the value of the limits. About your MOR pose The part the connects a pose file to the CR2 is the channel name: rotateY yrot is the Y rotation a morph channel name: targetGeom (NAME) Unless the CR2 has a targetGeom (NAME) that is identical to the one in the MOR pose, nothing will happen. Look at the CR2 you are using Does it have the new targetGeom "DON" ? Does the MOR pose have that channel? If nothing happens with the pose, then: The MOR pose does not have that targetGeom data or The key = k 0 0 or The CR2 does not have that targetGeom Look at a morph channel in a CR2: apart from the formatting everything else is a variable a MOR pose just changes one line of it k 0 _ but, all the lines are subject to change by a pose file including the whole thing - complete. The part that must be constant between the two is the channel name - that must always match You can substitute one morph for a different one using a pose file - as long as the channel name in the pose file is that of the one in the CR2 you want to use. That is all morph injection is. A pose file can change as much or as little as you choose. The rule to follow though - if you are not affecting a line - leave it out. For the eye trans: actor leftEye:1 { channels { translateX xtran { forceLimits 4 min 0.00045 max 0.00045 } This - in a pose file will: make sure limits are used here forceLimits 4 (0 = limits off/ 4 = limits on/ 1 gets changed to 4 by Poser) sets the min min 0.00045 sets the max max 0.00045 with both the same value, the channel cannot be anything else. It is Locked. I used to have the keys { k 0 0.00045 } Until I realized it was not needed. Look at the channel in the CR2 translateX xtran { name GetStringRes(1028,12) initValue 0 hidden 1 forceLimits 4 min 0 max 0 trackingScale 0.001 keys { static 0 k 0 0 } interpStyleLocked 0 } "name" is formatting GetStringRes(1028,12) means Poser pulls the name you see on the dial from a list - the list is different for every language Poser is published in. If you make a pose file that has: name Gomer " Gomer " will show as the dial name initValue 0 - then you hit "Restore Figure" - 0 - will be the value the dial takes. initValue 1 - hit Restore and the dial is set to - 1 - hidden 1 - the dial does not show hidden 0 - the dial shows (morph channels will not hide as they open - if they have anything about deltas - including the word " deltas " which is formatting and which Poser puts in for you when you save a CR2 - after you open a CR2 and if you apply a pose that sets the line to - hidden 1 - the channel will hide - for that session, but it will not stick if you save the CR2, when you open it, the morph shows. You can text edit a CR2 in the Library every morph to - hidden 1 - and they will all show anyway - Poser does something as the file opens that makes them show. (This makes things complicated for V3. The figure has morph channels that are only there to provide a name for a pose file to use. targetGeom PBMCC01 { hidden 1 ) A pose file with a full morph called - targetGeom PBMCC01 - can fill in the place between { } (Morph Injection) but, if you save the V3 CR2 yourself, Poser fills in all the formatting - including the numbDeltas line and the deltas line and the damn channel shows - even though nothing is there as far as a real morph goes. - The DialCleaner program takes the nasty words from the empty channels, so that they can be hidden.) trackingScale 0.001 - forget it Poser has it in its own little mind about how fast a dial changes values - we have not been able to make our choices stick. interpStyleLocked 0 - has something to do with animation. The unique part of a morph channel: indexes 10041 numbDeltas 10041 deltas { d 0 -8.073804e-005 -0.0005910993 0.001672249 indexes (#) had better be the number of ' d ' lines numbDeltas (#) has better match the number of verts for the group (actor) When you apply a morph (as OBJ) in Poser - it checks to see that this number matches between the OBJ and the geometry. That is why you cannot apply a lShldr morph to lCollar they have a different number of verts. You can apply a lShldr morph to rShldr and Poser will let you - they are mirrors of each other and the numbers are the same. The morph does not work - it shatters the group - but Poser has no internal check. When you go the hacking, you can paste a morph for one figure into a pose file for another, but you won't do it but once. You can do it, but you will not get a desirable result.


mathman ( ) posted Sun, 06 July 2003 at 3:57 AM

Thanks, Jaager. You've gone to a lot of trouble to give me this detailed information, its much appreciated. I'll try and digest this over the next day or two, and let you know how I go. cheers, Andrew


Jaager ( ) posted Sun, 06 July 2003 at 5:20 AM

I am hoping that by showing you the overview and the rules, you can figure out the details. I think a lot of users fool themselves into thinking it has to be more difficult to do than it really is. On thing though: Poser does not forgive mistakes with { } pairs. You leave one of a pair out, the whole file usually fails. The message is usually something about not being a valid poser file - I forget the extact wording - or nothing happens. This sort of mistake is a bitch to fix. Most of us usually scrap the file and start over - that is faster. All this follows a pattern. Look at existing files and see how they work. One other part - MM4 is usually faster for copying deltas (morphs) into pose file templates. It is also an easy way to generate an empty template It has batch functions if the files are *.pz2 - or if you are using a *.cr2 as a source, if the file slot has been 'primed' by opening a *.pz2 first and immediately overwriting it with a *.cr2. Get a good text editor - EditPad Lite is a good one. NotePad is too limited and WordPad and especially MSWord are treacherous in adding formating - which will poison a file.


dirk5027 ( ) posted Sun, 06 July 2003 at 6:48 AM

Boy that was nice of these people to type all of that out, myself i'm not comfortable messing with cr2's.. I add morphs and save the entire character, remember, if you save the character with no textures, clothes, hair or anything, the files aren't really that large. Also think about the future, with poser you are going to be gathering up tons of files, so if you are worried about hardrive space, maybe think about getting a bigger hardrive (when you can), boy you collect so much stuff so fast it's amazing, before you know it you have 10 gigs of stuff, a lot of people here have a lot more than that.


mathman ( ) posted Mon, 07 July 2003 at 7:23 AM

Jaager, On the basis of your informative rundown of the structure of CR2 and PZ2 files, I did the following : (1) Set the Toned, Thin and Young dials to 1. (2) Clicked the plus button at the bottom of an appropriate sub-category of the Pose library palette. (3) When prompted for a name for the pose, I typed in "Emaciated". (4) When prompted for whether I wanted to include morph channels, I selected "Yes". (5) Closed, and re-opened Poser. (6) Selected Michael 2. (7) Applied the new "Emaciated" pose. Nothing happened !! ..... so I looked in the Emaciated.PZ2 file that was created, and noticed that the settings for the Toned, Thin and Young morph channels were "k 0 0". So what am I doing wrong ? ... after all, I did set the morph channels when creating the pose file. regards, Andrew


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.