Controller properties not controlling

I made 15 "both" property sliders for a product that had only individual L and R property sliders, but I can't get them to persist. If I open a 2nd instance of Studio, they are available on G8F but don't do anything.

I created the new, empty "both" property, went to the left and right properties in the Property Hierarchy pane, and added the "both" slider to the left and right properties as a controller. Everything works. The one slider controls both L & R just like I want.

But when I open a new instance of Studio and load G8F, the sliders are all there but they no longer affect the L/R properties.

I tried doing an ERC Freeze on them and then saving them as Modifier Assets (both with and without the original L/R properties.) In the past I've used "Save as Morph Asset" for this kind of thing, but that's no longer an option. I have 2 questions:

  1. Which step am I missing?
  2. Is there something I have to do individually for all 15 properties, or is there a way to get them all in one go?

TIA

Comments

  • Richard HaseltineRichard Haseltine Posts: 109,151
    edited March 5

    Check each link's properties in the Property Hierarchy pane - one option is the Save With, I suspect it is currently set to the cotnrolled property 9which of course already exists and you aren't saving) not your new controller.

    Post edited by Richard Haseltine on
  • jim_doriajim_doria Posts: 133

    Thanks Richard! You were correct. So I went into the hierarchy editor (on a zeroed G8F) and under the left property I went to Controllers -> 1st stage -> ERC [DeltaAdd]: both property -> Attributes -> Save With: and I changed it from left property to both property. I did the same thing on the right property.

    Then I did an ERC freeze on the both property, Under Freeze Properties the list was a bunch of seemingly irrelevant properties like PHMEyelashesLengthUpper and BoneFillOpacity, so I unchecked those as none of them were related to the properties I'm trying to control. I also unchecked Restore FIgure and Restore Figure RIgging.

    Once the freeze was done, I saved as a modifier asset, checking the group that includes all of my both properties and all the left and right properties they are controlling.

    Opened a new instance of Studio, loaded G8F, and it's the same outcome. The both properties all appear, but the sliders do nothing to the values of the left and right properties.

  • ElorElor Posts: 3,480
    edited March 6

    Is your controller's type set as 'Modifier/Shape'?

    I remember having problem when I forgot to set it the type of a controller to that (either a controller to dial both the head and the body of a character or a controller that should automatically dial a corrective morph when a character body shape and the morph corrected where dialed on a piece of clothing).

    Maybe it's the same problem in your situation.

    Post edited by Elor on
  • lilweeplilweep Posts: 2,788
    edited March 6

    jim_doria said:

    Thanks Richard! You were correct. So I went into the hierarchy editor (on a zeroed G8F) and under the left property I went to Controllers -> 1st stage -> ERC [DeltaAdd]: both property -> Attributes -> Save With: and I changed it from left property to both property. I did the same thing on the right property.

    Then I did an ERC freeze on the both property,

    If youre already in hierarchy properties, you can just drag the Left Property and Right Property into the 1st Stage component, rather than ERC freezing.    Or alternatively, drag the Both propery to the 1st stage controller on the Left Propery and Right Property.

    ERC freezing just does that for you.

    Under Freeze Properties the list was a bunch of seemingly irrelevant properties like PHMEyelashesLengthUpper and BoneFillOpacity, so I unchecked those as none of them were related to the properties I'm trying to control. I also unchecked Restore FIgure and Restore Figure RIgging.

    Once the freeze was done,

    you need to actually check it is working before saving...

     

    I saved as a modifier asset,

    Does this mean that you left the controller in the Left Property and Right Property .dsf files too?  You should Save Modified Assets and resave out the Left Property and the Right Property too, because you just changed both of those properties but didnt save out their changes.

    checking the group that includes all of my both properties and all the left and right properties they are controlling.

    Opened a new instance of Studio, loaded G8F, and it's the same outcome. The both properties all appear, but the sliders do nothing to the values of the left and right properties.

    What you need to do when you load fresh scene is:

    Go into Both Property > gear icon > Subcomponents

    Do you have subcomponents for the controller?

     

    If no, the one problem you could have is that you have multiple versions of your Both Properties in your content library. One you may have saved without ERC subcomponents set up. Daz will only load one thing of the same name, and it will be kind of at random. So that one might be being loaded in preferentially and blocking the one with correct subcomponents.   (This is how the G8.1 expression blockers work on blocking the G8 expressions)

     

    How do you know if  this is the case?

    - search your content libraries for Both Property

    - move one  out of the library and then reload the scene and check if that made a difference

    - read the details of the dsf in a text editor etc etc

     

    Post edited by lilweep on
  • crosswindcrosswind Posts: 9,704
    edited March 6

    jim_doria said:

    Thanks Richard! You were correct. So I went into the hierarchy editor (on a zeroed G8F) and under the left property I went to Controllers -> 1st stage -> ERC [DeltaAdd]: both property -> Attributes -> Save With: and I changed it from left property to both property. I did the same thing on the right property.

    No, that was not correct. You should've just done it on the Controller property (i.e. the Both property) rather than Left / Right properties... > Save with Both property per se. Then the settings in Sub-component properties will be automatically modified. If you only do Save With on the Sub-component properties, the Controller properties won't be changed. 

    So, if you do this job with Property Hierarchy, always set ERC Links on a Controller property, drag other properties to its Sub-Components > 1st stage, then modify Save With. Or, directly do it with ERC Freeze.

    Then I did an ERC freeze on the both property, Under Freeze Properties the list was a bunch of seemingly irrelevant properties like PHMEyelashesLengthUpper and BoneFillOpacity, so I unchecked those as none of them were related to the properties I'm trying to control. I also unchecked Restore FIgure and Restore Figure RIgging.

    You just have set ERC Links in Property Hierarchy, then you don't need to do ERC Freeze ~~.

    Edit: Besides, you also can check the DSF file of the controller property from the path in Parameter Settings. Open it with Notepad++, if you can find formulas pushing values to the target properties, that means you've made it.

    Once the freeze was done, I saved as a modifier asset, checking the group that includes all of my both properties and all the left and right properties they are controlling.

    Opened a new instance of Studio, loaded G8F, and it's the same outcome. The both properties all appear, but the sliders do nothing to the values of the left and right properties.

    Post edited by crosswind on
  • jim_doriajim_doria Posts: 133
    edited March 6

    @Elor - Thanks! I had the paramter type set to "None" so I changed it to Shape/Modifier. However nothing changed. The parameters being controlled are Modifier/Pose type, so I also tried setting mine to match that. Still didn't work.

    @lilweep

    you need to actually check it is working before saving...

    Yes, in the instance of Studio where I created the properties it is working exactly as intended. The controller both property adjusts both the left and right properties.

    Does this mean that you left the controller in the Left Property and Right Property .dsf files too?  You should Save Modified Assets and resave out the Left Property and the Right Property too, because you just changed both of those properties but didnt save out their changes.

    If I load a new Studio instance / G8F and check the path of the individual L/R parameters, they point to the folder of my new product. (The both DSFs are there too.) So it seems they are being saved out as modified? The original L/R properties DO work in the new instance, so they haven't broken. But there's no occurrence of the text "both" in the individual L/R DSFs, so if they were supposed to be modifed to include info about the new controller property, that's not happening. 

    What you need to do when you load fresh scene is: Go into Both Property > gear icon > Subcomponents. Do you have subcomponents for the controller?

    No. This is the problem. They don't appear and are not working. My changes from Type: None to Type: Modifier/Pose DID get saved however, and show up in the new instance. I also checked the property names and they ARE unique.

    @crosswind:

    In the original instance where everything is working, if I go to the individual L/R peroperties, the both property appears under Controllers -> 1st Stage. If I go to the both property, the L and R properties appear under Sub-components -> 1st stage. I believe this is how it's supposed to work. Opening a new instance, none of these connections appear.

    Edit: Besides, you also can check the DSF file of the controller property from the path in Parameter Settings. Open it with Notepad++, if you can find formulas pushing values to the target properties, that means you've made it.

    I don't see this. If I open the DSF file for a both property, it seems like a skeleton. There's no mention of either the L or R properties. Just what looks like basic property definition stuff.

    Thanks to everyone for your helpful suggestions!

    Post edited by jim_doria on
  • ElorElor Posts: 3,480
    edited March 6

    I checked how Daz set some controllers (like 'Left Hand Fist') and I just tested the following process to create a 'Left and Right Hands Fist' controller to get both hands in a fist pose:

    1. Switch the Parameters Panel to Edit Mode.
    2. Create a New Property, here I called it 'Left and Right Hands Fist' and defined its type as 'Modifier/Pose' and I adjusted the minimal limit to 0 (because the poses controlled have this limit).
    3. Right Click on the new property to select 'Show in Properties Hierarchy'.
    4. Drag and drop 'Left Hand Fist' and 'Right Hand Fist' from the Parameters Panel to the the 1st stage of the Subcomponent of 'Left and Right Hands Fist' in the Properties Hiearchy'.
    5. Change their Save with value to 'Left and Right Hands Fist'.
    6. Save it as a modifier asset.
    7. Reload Genesis 8

    And voila, my new property was loaded and is working as intended. The final state is there:

    poses_controller.jpg
    1871 x 880 - 181K
    Post edited by Elor on
  • jim_doriajim_doria Posts: 133

    @Elor - Yes, thank you! This works for me was well. My problem isn't creating the properties and getting them working, I've done that.

    The problem is, if I close Studio and re-open it, the new properties I created appear but don't work. They no longer control the L/R properties like they did when I first created them.

    I could just re-connect them all from scratch each time using the Property Hierarchy, but there are 15 of them so it's a bit of effort. It's not something I want to repeat everytime I load a new G8F if there's a better way.

  • ElorElor Posts: 3,480

    Sorry then, because I don't know what's not working on your end.

    I tested and closed Daz Studio: after re-opening it and loading Genesis 8, the controller still worked as it did when I just reloaded Genesis 8.

  • jim_doriajim_doria Posts: 133

    Update: Not sure but this seems fixed. Loading up a default G8F in a new instance of Studio still doesn't seem to be working, but when I loaded a previously saved scene with a G8 character the both sliders were all working as they should. Good enough, since that's what I wanted at the beginning! Thanks again for your time everyone!

  • Richard HaseltineRichard Haseltine Posts: 109,151

    jim_doria said:

    Update: Not sure but this seems fixed. Loading up a default G8F in a new instance of Studio still doesn't seem to be working, but when I loaded a previously saved scene with a G8 character the both sliders were all working as they should. Good enough, since that's what I wanted at the beginning! Thanks again for your time everyone!

    That means theya re embedded in the scene, did you save it before saving the controllers as support assets?

  • lilweeplilweep Posts: 2,788

    jim_doria said:

     

    Does this mean that you left the controller in the Left Property and Right Property .dsf files too?  You should Save Modified Assets and resave out the Left Property and the Right Property too, because you just changed both of those properties but didnt save out their changes.

    The original L/R properties DO work in the new instance, so they haven't broken. But there's no occurrence of the text "both" in the individual L/R DSFs, so if they were supposed to be modifed to include info about the new controller property, that's not happening. 

    Okay, it's good then.

    My concern was you had originally saved out your controller to the individual Left and Right .dsf (as that is how you originally set it up), and then you said changed it later so tthe controller was to be saved out with the Both Property instead.  That would have meant that the controller was saved in the Left and Right dsf AND the Both dsf files.  Which would cause duplicate formula error.

    But you arent getting duplicate formula error so it's fine. Just ignore that.

    What you need to do when you load fresh scene is: Go into Both Property > gear icon > Subcomponents. Do you have subcomponents for the controller?

    No. This is the problem. They don't appear and are not working. My changes from Type: None to Type: Modifier/Pose DID get saved however, and show up in the new instance. I also checked the property names and they ARE unique.

    @crosswind:

    In the original instance where everything is working, if I go to the individual L/R peroperties, the both property appears under Controllers -> 1st Stage. If I go to the both property, the L and R properties appear under Sub-components -> 1st stage. I believe this is how it's supposed to work. Opening a new instance, none of these connections appear.

    Edit: Besides, you also can check the DSF file of the controller property from the path in Parameter Settings. Open it with Notepad++, if you can find formulas pushing values to the target properties, that means you've made it.

    I don't see this. If I open the DSF file for a both property, it seems like a skeleton. There's no mention of either the L or R properties. Just what looks like basic property definition stuff.

    Thanks to everyone for your helpful suggestions!

     

    Honestly just delete it/move it out of content library.

    Reload daz on fresh scene, check is it gone? (do not skip this step)

    If so, then good, remake it, ensuring you save it properly (make sure it is set to saved out with controller property)

Sign In or Register to comment.