Solved Timeline is storing other plugins' morph params

SlimerJSpud

Invaluable member
Messages
1,083
Reactions
923
Points
143
I see a problem with a scene I downloaded recently. I don't want to name the scene or author yet, because I think this is a generic problem I don't know the answer to. When you're creating a scene in Timeline, and you store the Control node at various keyframes, there are morph params from other plugins that get stored in the timeline. More specifically, the Naturalis plugin now includes Bootymagic and Tittymagic. There are others like ShakeIt, and Joint Correct plugins. The point of these plugins is to dynamically adjust morph parameters based on the model shape, pose and so on. The problem is, if Timeline is storing the values of these other plugins, then those values are baked into the animation, which (I think) conflicts with the dynamic plugin. I believe that Timeline by @Acid Bubbles should not be storing morph values from plugins by @everlaster @CheesyFX and others. I don't know if there is a way to prevent this, or scrub the dynamic morph values from the timeline. I would love to be able to run something that scrubs the dynamic morphs out.
 
Solution
If Timeline uses poses with pose morphs in them, those poses will contain morphs applied by plugins:

1716785866921.png


Apart from that I don't think there's anything in Timeline that would automatically store morph values.

Indeed the best thing to do when saving poses that need to include pose morphs (or that include pose morphs by default as above) is to disable plugins that apply morphs.

Unfortunately there's no way to prevent plugin morphs from storing when the include pose morphs checkbox is checked, that I know of.

I just tested something that I hadn't thought of before - setting the morph float parameter's "isStorable" property to false. This works for other float parameters but sadly has no effect as VAM doesn't respect this...
I haven't explicitly tested this, but I never encountered anything like this. The Control node is just a FreeControllerV3 (almost) like any other controller. It doesn't include any morph information upon storage. Only the poses stored in timeline could include morph information you haven't explicitely added as a target. Do you have morphs included with your poses?
 
Upvote 0
I haven't explicitly tested this, but I never encountered anything like this. The Control node is just a FreeControllerV3 (almost) like any other controller. It doesn't include any morph information upon storage. Only the poses stored in timeline could include morph information you haven't explicitely added as a target. Do you have morphs included with your poses?
Thanks for the reply. It's not my scene. I didn't want to name it without exploring other possibilities, like plugins fighting each other. The morphs are in the timeline, but they are not listed separately as targets. Perhaps they are actually poses applied at those keyframes, but I'm not an expert on Timeline. If I pause the scene, and zero out those morphs, they come right back, even with the plugin disabled. That's what made me figure they were baked into the timeline.

So, is the only obvious way to prevent this to disable such plugins while developing the animations & poses? That's kind of inconvenient for the scene developer.
 
Upvote 0
Thanks for the reply. It's not my scene. I didn't want to name it without exploring other possibilities, like plugins fighting each other. The morphs are in the timeline, but they are not listed separately as targets. Perhaps they are actually poses applied at those keyframes, but I'm not an expert on Timeline. If I pause the scene, and zero out those morphs, they come right back, even with the plugin disabled. That's what made me figure they were baked into the timeline.

So, is the only obvious way to prevent this to disable such plugins while developing the animations & poses? That's kind of inconvenient for the scene developer.
No, disabling my plugins shouldn't be necessary. It's hard to debug for a scene that is neither your creation nor has a name you want to make public.
As I said, my morphs are not stored with traditional pose presets and I see no way how they would be included in timeline unless the author includes them either through poses or targets. I'd recommend doing some test runs on your own. The mysterious creator could have done anything.

Of course the morphs will come back after you zeroed them out. They are dynamic. But they shouldn't if you disabled ShakeIt beforehand. What exactly did you disable and what exact morph did you observe?
 
Upvote 0
No, disabling my plugins shouldn't be necessary. It's hard to debug for a scene that is neither your creation nor has a name you want to make public.
As I said, my morphs are not stored with traditional pose presets and I see no way how they would be included in timeline unless the author includes them either through poses or targets. I'd recommend doing some test runs on your own. The mysterious creator could have done anything.

Of course the morphs will come back after you zeroed them out. They are dynamic. But they shouldn't if you disabled ShakeIt beforehand. What exactly did you disable and what exact morph did you observe?
It was mostly the Bootymagic and Tittymagic morphs. They have prefixes BM_ and TM_ that make them easy to filter for. I tried removing the plugins from the scene, but those morphs came back at different times in the scene. The Shakeit morphs were benign, but the BM_ and TM_ morphs changed the appearance of the model after I swapped appearance presets. The scene was set up to accommodate different appearances, but it has these morphs baked in. I can see them in the scene json file.
 
Upvote 0
If Timeline uses poses with pose morphs in them, those poses will contain morphs applied by plugins:

1716785866921.png


Apart from that I don't think there's anything in Timeline that would automatically store morph values.

Indeed the best thing to do when saving poses that need to include pose morphs (or that include pose morphs by default as above) is to disable plugins that apply morphs.

Unfortunately there's no way to prevent plugin morphs from storing when the include pose morphs checkbox is checked, that I know of.

I just tested something that I hadn't thought of before - setting the morph float parameter's "isStorable" property to false. This works for other float parameters but sadly has no effect as VAM doesn't respect this setting when storing morphs. It would require an update to VAM itself for this solution to work.

There might some some other hacky way to create morph objects in plugins that are not storable but I haven't investigated that yet
 
Upvote 0
Solution
Thanks for checking. Now I see where it could have been prevented by the scene creator, but it wasn't.
 
Upvote 0
Back
Top Bottom