Heads Up - Poser 11 Breaks ERC content to DS



  • Just wanted to let you guys know that I recently found out something. This is probably not on everyone's road map but if you make content in Poser and try to move it to DS, the way it writes ERC, even if you load a prop or figure with old ERC and save it out (like to update materials for Superfly), it gets basically destroyed going into DS.

    It now writes a strength value, even if you didn't specifically re-wire anything, that causes all manner of weirdness in DS. Like dials barely move and if they do, scales get multiplied and rotations can move backwards.

    An example:

    Simple ValueOp ERC is something like this:

    valueOpDeltaAdd
    Figure 1
    BODY
    PBMBendRArm
    deltaAddDelta 75.000000

    Poser now writes this on save:

    valueOpDeltaAdd
    Figure 1
    BODY
    PBMBendRArm
    strength 75.000000
    deltaAddDelta 75.000000

    Even when writing a strength value might not be necessary.

    Now this isn't about "DS should update this or that", which they probably could, but more about warning folks that there is at least one serious issue for cross-compatibility to be aware of. Don't start a war here.


  • Poser Ambassadors

    Good find Joe, did you file this to SM too? Please do sir.
    Best regards, Tony



  • I will. Yeah, it's seriously bad news and I theorize that if strength came after deltaAddDelta, it might not be an issue. I think it would be fine if it wrote that value if you add a value Op via the new Dependent Parameters and you need to include a strength value. But changing EVERYTHING that already exists, even if you aren't asking for it is not a good assumption for the program to make.

    I've already written a routine in File Optimizer in my ToyBox to optionally remove this "creature". However, it could be better handled and users who might be trying to work with content in both programs should be aware of this.



  • @Netherworks What exactly does the strength value do?



  • I'm not exactly 100% sure and I'm asking now for clarification.

    It is obviously (in my opinion) not necessary for older ERC (valueOpDeltaAdd, valueOpDivideBy, etc), which it is now inserted into. Poser 11 still reads the old ERC without it, so it would be safe to remove it. I wrote something in File Optimizer to fix it. My fix ignores valueOpKey, which are Poser 8+ dependencies that DS can't read anyways, so it should be okay to leave there but still not be utilized by Poser 8 through 10.

    It "could" possibly be a way to give older ERC a value (besides valueOpDeltaAdd) that doesn't have one. However, it shouldn't be required to create dependencies. It could be something unfinished as well.

    Older versions of Poser would ignore it anyways but DS doesn't really know what to make of it. I'd prefer that it not be present in older tech. Of course it's perfectly cool to add new things to Poser's Dependency system but to go in and rework Poser 3-ish tech, no.

    Footnote: it doesn't "seem" to affect valueOpDeltaAdd at all. I changed a strength value from 1 to 3 and there was no effect. valueOpDeltaAdd is the ERC that is used 99% of the time. It is the same code that connects PBM to Full Body Morphs. If you use Poser's dependency editor, this is considered to be "keyed" so instead you get valueOpKey.