• Hi Guest!

    We are extremely excited to announce the release of our first Beta1.1 and the first release of our Public AddonKit!
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. For access to the Public AddonKit you must be a Creator tier member. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
  • Hi Guest!

    VaM2 Resource Categories have now been added to the Hub! For information on posting VaM2 resources and details about VaM2 related changes to our Community Forums, please see our official announcement here.
Expression Randomizer 2

Plugins + Scripts Expression Randomizer 2

Download [<1 MB]

VamTimbo

Well-known member
Featured Contributor
Joined
May 11, 2020
Messages
222
Reactions
3,616
VamTimbo submitted a new resource:

Morph Randomizer 2 - New and improved

This is a re-write of the original Expression Randomizer - I did a re-write instead of an update to preserve settings and scenes people already created with the original plugin. This new version has been drastically re-designed - so I thought it best to start a new hub posting rather than update the existing. Special thanks to: Everlaster (coded the original plugin), Acid Bubbles (Some code I used is inspired by TimeLine), Hazmhox, Juno, and VamFantasy (all of them helped me debug...

Read more about this resource...
 
@VamTimbo
Awesome job! This looks great, I have to check it out.
Question: Does this version fix the issue with non-preload morph packs?
For example, when you load a scene/expression randomizer preset and have Preload Morphs option off for say some of the AshAuryn packs, those morphs don't get automatically loaded.
 
@VamTimbo Excuse me

Why is it that when there are two different targetType entries in formulas, the morph cannot be read?

"formulas" : [
{
"targetType" : "RotationX",
"target" : "lowerJaw",
"multiplier" : "15.34057"
},
{
"targetType" : "OrientationX",
"target" : "lowerJaw",
"multiplier" : "-1.933971"
}
]
 
@VamTimbo Excuse me

Why is it that when there are two different targetType entries in formulas, the morph cannot be read?

"formulas" : [
{
"targetType" : "RotationX",
"target" : "lowerJaw",
"multiplier" : "15.34057"
},
{
"targetType" : "OrientationX",
"target" : "lowerJaw",
"multiplier" : "-1.933971"
}
]
Can you provide a little more context? I’m not sure what I’m looking at here.
 
Can you provide a little more context? I’m not sure what I’m looking at here.
Example: Editing Expressions in AshAuryn’s Expression Pack

Take AshAuryn’s Expression Pack as an example.
For the 2022 Worried expression, there are two files: a .vmb and a .vmi.

The .vmi file contains a formulas section where you can add or modify parameters to adjust expression details.

Example from AshAuryn.AshAuryn's_2022_Expression_Pack_3_Nauseous.2.var:
AA 2022 Worried.vmi
{
"id" : "AA 2022 Worried",
"displayName" : "AA 2022 Worried",
"group" : "AshAuryn",
"region" : "AshAuryn/Expressions/2022 Promo Packs",
"min" : "0",
"max" : "1",
"numDeltas" : "3900",
"isPoseControl" : "true",
"formulas" : [
{
"targetType" : "RotationX",
"target" : "lowerJaw",
"multiplier" : "1"
},
{
"targetType" : "RotationX",
"target" : "tongueBase",
"multiplier" : "0.5"
},
{
"targetType" : "RotationX",
"target" : "tongue01",
"multiplier" : "0.1"
}
]
}


As long as all the targetType values are the same (for example, all set to "RotationX"), the plugin can usually recognize them without any issues.
h7lll.JPG


However, if there are mixed types (e.g. one is "RotationX" and another is "OrientationX"), the plugin will not recognize them.

Example of a problematic case:

{
"targetType" : "RotationX",
"target" : "tongueTip",
"multiplier" : "1"
},
{
"targetType" : "OrientationX",
"target" : "lowerJaw",
"multiplier" : "1"
}


When this happens, in the main UI Morphs, the expression will display with a red gear icon and the warning:
“Has bone morphs. Animation not recommended.”
h6lll.JPG

That’s the behavior I’ve observed so far.
 
Last edited:
I am having issues with morphs activating at the same time. I assume morphs that are closely related will activate together. Is there a way to restrict it to one morph active at a time?
 
It may be my vam is so bloated now that's why I'm struggling with this, or just don't have the right morph vars enabled, so what morphs packs do we need to get this to work please? Thannnnks!
 
It may be my vam is so bloated now that's why I'm struggling with this, or just don't have the right morph vars enabled, so what morphs packs do we need to get this to work please? Thannnnks!
There are a bunch of expressions on the HUB, I mainly use AshAuryn's and sometimes Asco's morphs. Just set the category to Morphs and search for "Expression" on the HUB. If somehow they still don't show up in the plugin, you could extract the VARs and place them into the custom folder, though then you'll have duplicates so you'll need to delete the VARs.
1758386891178.png
 
@VamTimbo Hello! The plugin works really well so far, though if possible it would be amazing if all the functions' triggers were exposed to in-game triggers, so all features could be used in Acid Bubbles' Timeline or just in normal triggers.
So, for example having the "Zero selected" or perhaps a "Zero expressions" trigger exposed to Timeline's own triggers, so that expressions could be reset between different poses or scenes.

It would also be super useful to have more save slots and a separate button to modify morphs instead of having to CTRL+CLICK because that's a bit inconvenient in VR.
 
I am having issues with morphs activating at the same time. I assume morphs that are closely related will activate together. Is there a way to restrict it to one morph active at a time?
You can give the “chance to trigger” option different values per morph. That should mix things up.
 
There are a bunch of expressions on the HUB, I mainly use AshAuryn's and sometimes Asco's morphs. Just set the category to Morphs and search for "Expression" on the HUB. If somehow they still don't show up in the plugin, you could extract the VARs and place them into the custom folder, though then you'll have duplicates so you'll need to delete the VARs.
View attachment 527102
I thought you have to also select the wanted individual morph as favorite to see it in the plugin or is this incorrect?
 
I thought you have to also select the wanted individual morph as favorite to see it in the plugin or is this incorrect?
No, favorites aren't necessary in this plugin.
 
@VamTimbo Hello! The plugin works really well so far, though if possible it would be amazing if all the functions' triggers were exposed to in-game triggers, so all features could be used in Acid Bubbles' Timeline or just in normal triggers.
So, for example having the "Zero selected" or perhaps a "Zero expressions" trigger exposed to Timeline's own triggers, so that expressions could be reset between different poses or scenes.

It would also be super useful to have more save slots and a separate button to modify morphs instead of having to CTRL+CLICK because that's a bit inconvenient in VR.
I did all of these in the latest update. Thank you for your suggestions!
 
@VamTimbo Hello! The plugin works really well so far, though if possible it would be amazing if all the functions' triggers were exposed to in-game triggers, so all features could be used in Acid Bubbles' Timeline or just in normal triggers.
So, for example having the "Zero selected" or perhaps a "Zero expressions" trigger exposed to Timeline's own triggers, so that expressions could be reset between different poses or scenes.

It would also be super useful to have more save slots and a separate button to modify morphs instead of having to CTRL+CLICK because that's a bit inconvenient in VR.
Completed these items.
 
Back
Top Bottom