Tuesday, April 11, 2017

RR tutorial : OpenMouth plugin

Hi !

Please note : If you are experiencing issues after clicking on "Stop Animating Me" in the "Me" menu of your viewer and your gag stops animating you, you have to reset it (click on it when unlocked, Tools, Reset) and/or update it at Dark Wishes. See this blog post for details.

This plugin is meant to let you control how your mouth looks when you are gagged. Its power shows when you use a Bento mesh head such as Lelutka, Catwa, Ga.Eg or others, there are many out there, but it also opens the mouth of the standard avatar's head as well so a mesh head is not required.

To make use of this plugin, your gag must be v1.30 or higher and contain the "&OpenMouth" script (with the "&", otherwise it is the old script and not the plugin) and its "*OpenMouth config" configuration notecard.

Attention, if you own a mesh head that is not Bento, the gag will not open your mouth automatically. You will need to do it manually or buy one of the third-party plugins that call the head's built-in API to open the mouth when locked (the API depends on the head so I guess the third-party plugin you want depends on the head too). Third-party plugins not being developed by me (hence the name), they are beyond the scope of this blog post.

The "OpenMouth" plugin is the replacement of the old "OpenMouth" script that is common to all RR gags, and which was responsible for opening the mouth of the avatar whenever the gag was locked. Really, it was as simple as that. But now that we have Bento and many animations and mesh heads to choose from, this OpenMouth plugin lets you pick the one animation that looks best on you. The difference between a plugin and a script, in RR, is that a plugin offers a menu to let you control it, and gives access selectively.

See for yourself :

This is the RR ball gag used without a mesh head. As you can see the mouth is open but the lips are not really stretched.

The same ball gag but this time used with a Bento mesh head (in this case, Lelutka Simone v2), the lips are stretched thanks to Bento giving us ways to make facial animations.

Still the same ball gag locked in "Big", making the mouth stretched bigger.

And even bigger if you choose the "VeryBig" variant in the OpenMouth plugin ! Mmmph !

The RR ring gag now locked in "Tight".

The same ring gag locked in "Big" with the "Big" variant.

And with the "VeryBig" variant !

Why several animations you may ask ? Because different mesh heads are rigged differently so one animation looks good on one mesh head and not on another. And also because everyone has different tastes and different head shapes, so one animation looking good on one sub might look too big on another because she has a bigger mouth.

For example, with the RR ball gag locked in "Tight" with a Lelutka mesh head, here is the difference between "Narrow", "Normal" and "Wide" :

Narrow (it clips through unless I adjust the gag, but this is for the sake of demonstration)



Please note that the animations are high priority, therefore you will probably not be able to animate the lips with a smile, contrary to the system head animation which is not really an animation (it is technically a blend shape, meaning system expressions do not modify bone positions but vertex positions instead) and can be combined with smiles and other expressions. For this reason, these Bento animations do not animate the eyes so you can still trigger your own expressions if you like and they will partially show on your face. For example a surprised look, a frown, a glare, an eye roll etc. You won't see the lips, cheek and jaw move but the eyes and the rest of the face will respond.

In the case  of the RR ball gag and ring gag (other RR gags behave differently), the "Loose", "Normal" and "Tight" locks make one ball or ring show, while the "Big" and "Total" locks hide the first and make the other ball or ring show, which makes the gags change shape according to the lock. I could have made five balls and five rings (and three times as many straps) but that would really have been overkill and require too much resizing from you.

Since "Big" and "VeryBig" are variants (but there's no "Narrow Big", "Wide VeryBig" etc, because that would dramatically multiply the number of animations to make and test), you are free to choose the "Big" variant on the "Loose", "Normal" and "Tight" locks and the "VeryBig" variant on the "Big" and "Total" if you like, that's entirely up to you.

This plugin is accessible only by the wearer. This might change in the future if needed but since it is a customization plugin, there is no reason why the keyholder should have access to it, as it is meant to be used while resizing the gag and testing it, not really while playing. This is the kind of plugin you forget about once you are happy with the way it makes you look.

To access this plugin, touch your own RR gag or say "/77 gag", go to "Plugins..." then click on "OpenMouth". When you do you get this menu :

What's all this stuff ?

There are buttons to manage the brands of mesh heads, at the time of this writing there are three known brands : Catwa, Lelutka and "Other" (which means every brand except the aforementioned two). There might be more in the future if needed. I cannot guarantee that your particular mesh head will necessarily work look good with these animations, but I am reasonably confident that at least one of the animations will look good on you. If not, I will have to make more.

The "Autoref" button is the same as the one in the Anim plugin and in the "More" page of the main menu, it allows you to choose whether to animate the mouth or not. There are cases where you do not want to animate it, for example when you are wearing other brands of gags at the same time (say, a RR ball gag under a NGW hood, which expects the mouth to be closed). If you are wearing several RR gags (for example, RR ring gag + RR mummy gag), they negotiate among each other which one animates your mouth. The rules of this negotiation are the following :

- Ring gags override ball gags, which override tape gags (so from the most stretched to the least stretched).
- In case of ex-aequo, the gag with the higher lock overrides the others (so a ring gag locked on "big" overrides one locked on "normal").
- In case of ex-aequo again, the gag that was locked first overrides the others.

The "Brands" menu lets you choose between all the known brands of mesh heads which one you want to use. It might not necessarily be the one you own, I know a few girls who own Lelutka heads yet prefer the "Other" brand because it suits them better. To each their own.


The "Brands" menu

The "Variants" menu lets you adjust according to the shape of your mouth and your own preference. If your mouth is wide you will probably perfer the "Narrow" variant, and vice versa. You can also choose "Big" or "VeryBig" if you so desire, provided you resize your gag accordingly. "VeryBig" is the default for the "Big" lock on the ball gag and the ring gag, because I want new users to see how wide their mouth can open, but if it's too big they can select the "Big" variant instead. Please note that the Deluxe gag does not have a "Big" lock but still has the "Big" and "VeryBig" variants, because it gives you more options for customization. But this blog post is only about the OpenMouth plugin and how it animates your face, so let's not bother about that here.

The "Variants" menu

The "Overrides" menu lets you choose any other animation that is not a variant in a brand, say, when none of the variants satisfy you. If you select an override, no matter what brand and variant you have selected, the override will be used instead, hence its name.

The "Overrides" menu

When Autoref is on, meaning the current mouth animation is "refreshed" regularly to avoid being overridden or stopped by something else, like a pose ball that stops all your animations when you make it derez, the OpenMouth plugin tries to find the animation corresponding to the settings of the current lock. For example, if you selected the Lelutka brand and the Normal variant on the ball gag, it will try to find one of the animations containing the words "Ballgag", "Lelutka" and "Normal" in their names. If an override is selected, it will rather try to find the animation with the name corresponding to the one you chose, no matter whether a brand and variant is selected or not (hence the name "override").

You are free to select no brand and no variant either by clicking on "No brand" and "No variant" on the main menu of the plugin, or by clicking on the selected brand and variant in their respective menus. This will have the effect of not animating the mouth anymore as well, if no override is selected.

All these settings are per-lock, which means you can select "Catwa" and "Big" for one lock and "Lelutka" and "VeryBig" for another, and an override for yet another lock. If you wish to copy one configuration (brand + variant + override) from one lock to all the others, simply click on "To all locks".

The default settings are read from a notecard named "*OpenMouth config" inside the gag, you are free to modify it. In fact, you can save the current settings for later by doing this :

- Click on "Save notecard".
- Copy the output from the chat to the clipboard with Ctrl-C.
- Open the "*OpenMouth config" notecard contained inside the gag.
- Delete its contents and paste the clipboard with Ctrl-V, save and close.
- Click on "Load notecard" on the menu.

That's pretty much it !

If you can make your own animations or can buy some from other people, you can add them to your gag as well and reference them into the notecard yourself. This won't break the update process once you want to update your gag since the updater ignores inventory items that are not created by me. To do this, simply drop the anim into the gag (drop the gag on the ground first though, you can't add stuff into a worn no-copy attachment such as the RR gags) and edit the notecard.

If the animation is an override, just add it to the "overrides" line after a comma, no space. If it is a new brand, say you want to make animations specifically for Ga.Eg, you can add the brand name to the "brands" line and the variant to the "variants" line if it is a new variant as well. When all this is done, save the notecard and click on "Load notecard" on the OpenMouth plugin menu and you're good to go. The plugin does not re-read its notecard automatically whenever the inventory of the gag changes, on purpose so you don't lose your settings if they weren't saved.

Have fun !