Having trouble making REM pose to restore default expression dial morph

duane_moodyduane_moody Posts: 132
edited December 1969 in Poser Discussion

For reasons I'll explain later, I have an INJ pose that replaces the morph created by MouthSmileSimple with one that doesn't try to move the mouth up into the nostrils. The pose to replace the default's deltas with my own works.

The pose to restore it back to factory settings does not, and I'm wondering what I'm doing wrong here.

The INJ pose is simple: it reproduces the format of :Runtime:Libraries:!DAZ:Victoria 4:Deltas:Base:InjDeltas.PHMMouthSmileSimple.pz2 except for having my deltas instead.

I'd hoped my REM pose file could consist of:


{
version
 {
  number 4.01
 }
readScript ":Runtime:libraries:!DAZ:Victoria 4:Deltas:Base:InjDeltas.PHMMouthSmileSimple.pz2"

}

Unfortunately it doesn't overwrite my morph the way my morph overwrites it and I can't tell why. Adding
readScript ":Runtime:libraries:!DAZ:Victoria 4:Deltas:Base:RemDeltas.PHMMouthSmileSimple.pz2"
before the InjDeltas line only removes the MouthSmileSimple dial, and making a modified version of it that doesn't hide the dial leaves the dial but doesn't appear to reload the Inj pose file.

Obviously if I'm distributing this as part of a character INJ pose, I can't redistribute the actual code of InjDeltas.PHMMouthSmileSimple.pz2 inside a REM pose, so I'm flummoxed as to what I'm doing wrong here.

(details: while testing a character I'm hoping to sell soon, I noticed that a number of expression packs dial up expressions that inadvertently age her by adding creases where a simple expression would be unlikely to. The facial geometry is fine, it's the expression morphs. Also, in the opposite direction, I might have aged characters where a simple smile would bring out wrinkles that there are currently no dials for)

Does anyone have any advice on how to restore dial morphs like this?

Comments

  • Richard HaseltineRichard Haseltine Posts: 100,888
    edited December 1969

    I'm not sure why your readscript is failing - it's a good old Morph Donor thing so it ought to work. However, the usual solution in cases like this is to add a corrective morph that adds the expression morph and then multiplies by the character morph, so that it kicks in only as needed, rather than replacing the base expression which may make it less mixable with other morphs.

  • duane_moodyduane_moody Posts: 132
    edited December 1969

    I'm not sure why your readscript is failing - it's a good old Morph Donor thing so it ought to work. However, the usual solution in cases like this is to add a corrective morph that adds the expression morph and then multiplies by the character morph, so that it kicks in only as needed, rather than replacing the base expression which may make it less mixable with other morphs.

    Where would I study how to do this in more detail, because I'm still at the "hack things and imitate existing things" stage.

    I'll risk how mixable it is or isn't; MSS is a frequently used dial that represents an anatomical impossibility and I'd like to see what happens when those sort of dials have their deltas replaced with equivalent yet plausible expression morphs. Poser gets a lot of flak for dial abuse but to be fair if some common default expression morphs are based on cartoon visual shorthand, this is not surprising.

    And yes, I know that this has the potential to require alterations to the various master-slave dials that other expressions have. I'm willing to work with that.

    In another example, when you open your mouth, the lip muscles round out the corners almost immediately, stretching them upward and inward horizontally and flattening out. The regular MouthOpen dial makes no changes to the corners of the mouth, but at higher limits the MouthOpenWide dial does attempt to display the lip corners contracting and flattening. I get that MouthOpen's default morph is probably used by other expression dials but I'd be interested to see what a more correct default morph would do.

    These are problems I can't fix just by restricting a dial's upper or lower limits.

  • duane_moodyduane_moody Posts: 132
    edited June 2015

    I'm not sure why your readscript is failing - it's a good old Morph Donor thing so it ought to work.

    I finally figured the REM pose out:
    
    {
    version
     {
      number 5.0
     }
    
    actor head:1
     {
     channels
      {
      targetGeom PHMMouthSmileSimple
       {
       name MouthSmileSimple
       hidden 0
       indexes 0
       numbDeltas 0
       deltas 
        {
        }
       }
      }
     }
    
     readScript ":Runtime:libraries:!DAZ:Victoria 4:Deltas:Base:InjDeltas.PHMMouthSmileSimple.pz2"
    
    }
    

    [edit: someone on Renderosity informed me that if indexes and numbDeltas were set to 0 things work just as well]

    Post edited by duane_moody on
Sign In or Register to comment.