This plugin was originally developed by Extraltodeus - if you're reading this, thanks for your awesome work!
Update - Everlaster has made quite a few changes to this resource. Thank you Everlaster!

Usage tips

The built in presets should be useful as starting points for custom presets. You can save your own presets and load them with triggers during a scene's playback.

Use Glance by acidbubbles for realistic eye movement and better blinking

You can randomize the plugin's parameters with FloatParamRandomizerEE by everlaster, making the expressions even more dynamic.

You can also combine multiple ExpressionRandomizers on the same atom, as long as they're adjusting different morphs.

The better morphs you have available, the better results you will get. You can use morphs from morph packs or create custom morphs with Morph Merge and Split by ceq3. See Using custom morphs below.

Creating a good expression preset
Since the plugin randomizes morph values, it's important to set the Minimum value and Maximum value such that you don't randomly get an overly distorted expression when all morphs happen to hit a very high or very low value. The plugin applies expressions in loops, and at the start of each loop, each morph gets a different random target value within the min-max range.

Here's a workflow that might be useful:

1. set min and max to the same value, e.g. both to 1.00
2. turn off random chances for transitions

Now all morphs that are selected get a new target value at every loop, and always adjust to the same value since min and max are equal. The expression you get now is the most extreme possible expression. If this looks ugly, adjust the max value and toggle morphs on/off until you're happy.

You can also do the same with the min value if you intend to apply negative values on the selected morphs. For most morphs, extreme negative values don't work well since the morphs are designed to be used at positive values. But in theory you can set both min and max to the same negative value and see what the most extreme negative-valued expression is, and again if that looks bad then increase the min value, and/or select different morphs.

With this above method you can pretty easily calibrate the min and max values, so that any expressions that you get with randomization between those min and max is not going to be too extreme.

Using custom morphs

The plugin searches for morphs from regions that contain "Pose" or "Expressions" (partial match, case sensitive). To get custom morphs to show up in the plugin, just make sure the region contains one of these two, and not any of the below excluded regions.

Morphs don't technically have to be flagged as pose morphs, but it's recommended that they are. Just set "isPoseControl" to "true" in the morph .vmi file.

Morphs whose region contains one of these (partial match, case sensitive) are not recognized by the plugin:
"Arms"
"Body"
"Chest"
"Finger"
"Hip"
"Legs"
"Neck"
"Feet"
"Waist"
"Torso"
"Hands"
"Eyes Closed Left"
"Eyes Closed Right"
"Mouth Smile Simple Left"
"Mouth Smile Simple Right"
"Pose Controls/JCM"
  • Plugin.JPG
    Plugin.JPG
    359.5 KB · Views: 0
Top Bottom