Forgot to update 2 files, sorry for that.
An enhanced version of my plugin WorkOut is now included as a new module.
  • It adjusts the skin gloss value of the character based on movement he or she performes
  • There is a lot more going on under the hood than 'move -> increase' and 'stay still -> decrease'. In short:
    • For every given movement pattern (or pose) you'll reach a certain plateau regarding the gloss value
    • The value of that plateau increases the longer you perform that movement (exhaustion)
    • Higher values are less likely to be reached and the higher the gloss is, the faster it decays (evaporation)
  • The module is disabled by default to not mess with your skin settings
  • Whats new:
    • All new parameters driving an all new algorithm.
    • Physically accurate. The old version was driven by the accelerations, whereas the new version calculates the actual change in kinetic energy (dot product of m*v times a, which is the derivative of 0.5m*v^2 in respect to t (for you fellow physicists out there)).
    • It also takes the muscle flexing into account, leading to sweat buildup in static poses, if they are physically demanding.
    • It also drives the 'Gloss Texture Offset'. This is meant to be used with @WeebUVR 's sweat and gloss maps. I fiddled a lot to make it consistent across all gloss values. For that, the offset has to actually decrease after a certain gloss threshold with a certain rate (power of three). You can adjust these values, but I don't recommend that cause it probably will look worse. I don't know how it looks with other gloss textures.
If you have any questions regarding the parameters, feel free to ask. But I'm not sure if I can answer them - almost a year has passed since I wrote this ;)

So, now that this is done, I can hopefully put my focus back on my main project. I really like to model real life behaviours with algorithms, and the project I'm talking about has plenty of that:
  • Full body auto slapping with vocal and facial reactions
  • Pronounced automatic sex slaps
  • General (vocal) reactions specific to touches of any body region
  • Nipple stiffening based on touches (not just the nipple trigger)
  • Anus relaxation, gaping and twinking
  • Bulging
  • Reactions if you watch any body region for a certain amount of time (you'll need FocusOnMe for that)
  • All of this will have inbuilt reactions, but you can also trigger other things via native triggers (penetration depth/stretch, time looked at breasts, recent slap intensity and so on...)
After a quick chat with @everlaster I completely rethought the session plugin. Now you get an additional file "ShakeIt_SessionPlugin.cs", which loads a regular atom instance on every new person (if it has none).
But there's more:
  • The session plugin also let's you auto load
  • For both plugins you can decide on which gender you want it loaded (or none) and if it should be enabled after load
  • And, as a bonus, you can select a regular plugin preset for each gender that should also be merge loaded onto every existing or new person.
    Technically, you could also include ShakeIt in this preset, but if you use the inbuilt method it automatically loads the atom plugin that corresponds to the version of the session plugin. So it will always be up to date without having to adjust the plugin preset. It will also search for the newest version of HeelAdjust2 installed.
  • Benefits of the new approach with added atom instances:
    • Presets get loaded like usual
    • Data stored with the scene don't get overriden
    • You can adjust the settings for each person, or disable it altogether
    • FlexIt compatibility with HeelAdjust2 (heel collision)
  • Atom instances now auto reload if the gender ganges
  • New defaults for males: "UserDefaults" get loaded on every person, but if it's a male and "UserPresetsMale" exists, it will load this instead.
Please use the latest version of HellAdjust2 (v7+). It has additional features and I'm not sure if the session plugin will work with older versions.
FlexIt did not load correctly as an atom instance. Thanks to @wangleshijian for flagging.
Now you can use it as a session plugin (same file).
Things to consider when used as a session plugin:
  • It uses either "UserDefaults.json", if present, or the factoryDefaults on every person.
  • You can add and remove persons freely or switch genders without reloading.
  • You don't get an UI. Presets have to be created from within an atom instance.
  • You cannot manually add atom instances while a session instance is present. They'll load up disabled and can't be enabled. But the plugin label tells you why this happened.
  • If you add the session instance later on (not by a plugin preset on VAM startup), all atom instances currently present will be disabled.
  • Same goes, if you have a session instance running and load up a scene containing atom instances. They will be disabled. You can, however, still open the UI of the disabled atom instances to inspect their settings.
  • In short: Session and atom instances are mutually exclusive. They can not coexist!
I expect some bugs, so please report them!

Edit: Ah yeah, it won't recognize the heel collisions provided by HeelAdjust2 and relax accordingly. I'll take care of that later on.
Now you can use it on persons parented to things or in subscenes.
Use HeelAdjust2, grab your girl by the heels and see the muscles relaxing!
HOTFIX: Same error now also fixed for males.

Man, I wonder why out of the 9000 downloads of v23 I only got 2-3 (rather diffuse) error reports. It was totally broken!
Tell me if something is wrong, please! I'm lazy and I do not always test the var before releasing...
HOTFIX: Sorry, the var version of v23 was broken. There was no jiggeling at all if tension was enabled (default).
Pretty cool update I guess. I didn't do a lot of testing in actual scenes though. So it's a bit experimental.
  • The legs are now aware of the environment in regards of static flexing. I.e. if they are supported by a colliding object from below, they won't flex to hold that pose. Think of how a straightened leg on the bed is relaxed - but it would be fully flexed if the bed was missing because the model had to hold it by it's own muscles.
  • The tension system of ShakeIt now uses a combination of the original algorithm and the muscle flexion provided by FlexIt. It is more dynamic now. If FlexIt is globally disbaled, it falls back to the original.
  • Adjusted defaults (slight increase) to compensate the changes of v22.
To do:
  • Doesn't work with heel colliders right now. Tested with @Stopper's Shoe Helper. Don't add it, it messes something up.
  • Add other regions, mainly the torso.
  • Maybe extend the feature and adjust the flexing in regards of how much weight the limb is actually carrying.

Back
Top Bottom