JCM process creating duplicate formulas

mmdestinymmdestiny Posts: 77

Hi there,

I've followed WP Guru's JCM tutorial and gotten fantastic results on the bracelet I'm working on that has dangly bits I don't want clipping into the hand when bent.  However, at some point in my saving process I am getting duplicate formula errors after closing Daz and reloading.  Steps followed:

  1. Load G8F
  2. Import OBJ of bracelet
  3. Transfer Utility bracelet
  4. bend hand all the way, use Morph Loader Pro to load the JCM obj I scultped with reverse deformations checked
  5. Set lower limit of JCM morph to 0%, dial JCM up to 100%.
  6. Open Property Hierarchy and drag the Hand bone's bend into the JCM morph's Controller 1st Stage slot
  7. ERC freeze the Hand bend.  The morph now follows the hand perfectly.
  8. Save Figure/Prop asset for the bracelet.

If I close Daz and reopen, loading the bracelet into the scene throws the duplicate formulas error. In the log file: "Duplicate formula found linking armband_hand_jcm & ZRotate"

Also worth noting, after acknowledging the error, the JCM no longer interpolates with hand bend.  It just jumps straight to 100% for any non-zero value on hand bend.

Post edited by mmdestiny on

Comments

  • crosswindcrosswind Posts: 6,994
    edited October 2023

    Duplicate. formula error should not happen with such a single wearable unless there's an existing pJCM morph file (dsf) with the urI as same as the newly-created morph in the data folder of the 'bracelet' you made... Go to the data folder to have a check first...

    Besides, you should  use the default 'pJCMHandUp_80' and/or 'pJCMHandDwn_70' ( _L or _R ) to fix and update the corrective morph(s) on the bracelet rather than creating a new one (unless there's a solid need to do so... e.g. an MCM ), and no ERC Freeze is needed.

    Post edited by crosswind on
  • You are creating two formulas - first by drag-and-drop, then by ERC Freeze. That is why you are getting the error. If you are going to need JCMs for both fdirections then drag-and-drop is the way to go, if there is just the one JCM for bend then you can use either method - but not both.

  • Richard Haseltine said:

    You are creating two formulas - first by drag-and-drop, then by ERC Freeze. That is why you are getting the error. If you are going to need JCMs for both fdirections then drag-and-drop is the way to go, if there is just the one JCM for bend then you can use either method - but not both.

    Cutting out the Controller drag and drop step was enough to suit my needs, thanks.

  • crosswindcrosswind Posts: 6,994
    edited October 2023

    Richard Haseltine said:

    You are creating two formulas - first by drag-and-drop, then by ERC Freeze. That is why you are getting the error. If you are going to need JCMs for both fdirections then drag-and-drop is the way to go, if there is just the one JCM for bend then you can use either method - but not both.

    should not be that reason...there was only one corrective morph that he created, how could there be duplicate urI generated ?  Though that was not a standard way, I tried his procs. for times, no error was found.

    Post edited by crosswind on
  • crosswindcrosswind Posts: 6,994

    mmdestiny said:

    Richard Haseltine said:

    You are creating two formulas - first by drag-and-drop, then by ERC Freeze. That is why you are getting the error. If you are going to need JCMs for both fdirections then drag-and-drop is the way to go, if there is just the one JCM for bend then you can use either method - but not both.

    Cutting out the Controller drag and drop step was enough to suit my needs, thanks.

    Nope, you should use the correct way - drag 'n drop in Property Hierarchy that automates ERC links in b/t Controller (xyz rotations) and Sub-Component(s) (corrective morphs).

  • crosswind said:

    Richard Haseltine said:

    You are creating two formulas - first by drag-and-drop, then by ERC Freeze. That is why you are getting the error. If you are going to need JCMs for both fdirections then drag-and-drop is the way to go, if there is just the one JCM for bend then you can use either method - but not both.

    should not be that reason...there was only one corrective morph that he created, how could there be duplicate urI generated ?  Though that was not a standard way, I tried his procs. for times, no error was found.

    Drag-and-drop creates a link between the dragged property and the dragged-to property (or vice versa - I can't recall which the poster did). ERC Freeze with the dragged-to property as controller and the dragged property still non-zero also creates a link between them, Two links are two formulas, hence the error.

  • crosswindcrosswind Posts: 6,994

    Richard Haseltine said:

    crosswind said:

    Richard Haseltine said:

    You are creating two formulas - first by drag-and-drop, then by ERC Freeze. That is why you are getting the error. If you are going to need JCMs for both fdirections then drag-and-drop is the way to go, if there is just the one JCM for bend then you can use either method - but not both.

    should not be that reason...there was only one corrective morph that he created, how could there be duplicate urI generated ?  Though that was not a standard way, I tried his procs. for times, no error was found.

    Drag-and-drop creates a link between the dragged property and the dragged-to property (or vice versa - I can't recall which the poster did). ERC Freeze with the dragged-to property as controller and the dragged property still non-zero also creates a link between them, Two links are two formulas, hence the error.

    Oh, you meant ERC Freeze with dragged-to property, i.e. the corrective morph itself... but serious ? That'll be just like Drag 'n Drop twice which is impossible in DS, or write very same lines of formulae into the very same dsf file. I've never done that before so I tried in the latest General Release and Public Build, both of them crashed when ERC Freezing in that way.

    So I think there could be the very same formula in two different dsf files but it's not possible to do so in one dsf file with standard functionality in DS, unless one directly modifies dsf files. There was no crash on OP's side 'cause he / she ERC Freezed on Bend property of one Hand joint...

  • I meant with the joint bend - I couldn';t recall if the cotnroller was being dragged or the sub-componet. If you ERC Freeze the sub-component then you are creating a circular link, which should error out rather than crashing (so please report this).

Sign In or Register to comment.