• 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.
multi force manager

Plugins + Scripts multi force manager

Download [<1 MB]

bqbq

Well-known member
Joined
Apr 29, 2024
Messages
215
Solutions
1
Reactions
696
bqbq submitted a new resource:

multi force manager - force, multi force, force manager,

View attachment 534937

When you add individual force effects to each body part, the plugin list can get cluttered.
So I created a simpler plugin that makes management easier.


Of course, the functionality and UI behavior are pretty much directly adapted from the original Force plugin.
https://hub.virtamate.com/resources/force.25627/

Many thanks to dub...

Read more about this resource...
 
Thank you for this. I have had the problem of a long list of force plugins before.
I've played around with the settings a bit and couldn't find a way to create a constant force. Only cycles. Would this be doable? I like to use forces for animating reactions so it's not pose-dependent like animating with controllers is.
 
Thank you for this. I have had the problem of a long list of force plugins before.
I've played around with the settings a bit and couldn't find a way to create a constant force. Only cycles. Would this be doable? I like to use forces for animating reactions so it's not pose-dependent like animating with controllers is.
I’m having trouble understanding the difference between a constant force and a periodic force.
By ‘constant force,’ do you mean applying a single, one-off push rather than a repetitive motion, after which the body part returns to its original state?
 
It seems like it's not possible to add the head or any other node twice. I'd like to have 2 different torque actions on the head on different axes with different periods. This makes motion look more random. I can do this with multiple instances of dub.force. Am I doing something wrong?
 
So I made it support multiple instances.
I was considering designing it so that a single plugin could control one body part across multiple axes, but I’ll look into applying that after testing and review.

To keep the UI clean, I’d considered adding options like X+Y+Z, X+Z, X+Y, and Y+Z in the axis selection slot.

But since there are also reverse directions like −Z, −Y, and −X, the number of combinations gets large.

I need to think more about stability verification and how to represent all those combinations.

For now, I’ll use the plugin as it is in the scene I’m making.
I’m not sure I’ll improve it, but if I do, it will come in a later update.
It seems like it's not possible to add the head or any other node twice. I'd like to have 2 different torque actions on the head on different axes with different periods. This makes motion look more random. I can do this with multiple instances of dub.force. Am I doing something wrong?
 
I’m having trouble understanding the difference between a constant force and a periodic force.
By ‘constant force,’ do you mean applying a single, one-off push rather than a repetitive motion, after which the body part returns to its original state?
Almost. Yes a single push/torque that keeps being applied with the set amount of force until you turn it off or adjust the force factor. It's like being able to control the muscle tension directly.
It's something I've learned about through BodyLanguage. It has randomized "constant force" to create idle movements. But it can't be adjusted or triggered on command which I'd like to do.
 
So I made it support multiple instances.
I was considering designing it so that a single plugin could control one body part across multiple axes, but I’ll look into applying that after testing and review.

To keep the UI clean, I’d considered adding options like X+Y+Z, X+Z, X+Y, and Y+Z in the axis selection slot.

But since there are also reverse directions like −Z, −Y, and −X, the number of combinations gets large.

I need to think more about stability verification and how to represent all those combinations.

For now, I’ll use the plugin as it is in the scene I’m making.
I’m not sure I’ll improve it, but if I do, it will come in a later update.
What I do is apply force, usually torque, to the same body part, on different axes, and with different periods. Summing two axes would give them the same period.
 
That happens when the axis vectors overlap. If you want the axes to move differently—for example, X-axis move → return → Y-axis move → return—you need to change how each axis operates. I know this because I’m testing it right now to see if it’s stable.
What I do is apply force, usually torque, to the same body part, on different axes, and with different periods. Summing two axes would give them the same period.
 
What I do is apply force, usually torque, to the same body part, on different axes, and with different periods. Summing two axes would give them the same period.
I’ve tried repeatedly, and for now I think it’s not possible.

To avoid vector overlap, you’d need a process that restores the part exactly to its original position.
However, since the mini engine isn’t allowed, the system crashes as soon as the script is applied.
Even if that issue were fixed, during the rollback phase—when the body part returns to its position—the opposing axis forces would interfere, causing calculation errors and collisions.

It might work under certain conditions, but in most cases, problems would arise.

As a fallback, you could remove the mini engine and instead let VaM’s own environment handle returning the body part to its controller position.

But that introduces another issue: the return speed varies depending on the spring and damper values, creating many possible cases.
Even if you proceed with this approach, you’d have to manually set the timing before moving on to the next axis, which is cumbersome.

And if the timing isn’t exact, vector overlap will occur again, causing repeated diagonal movements regardless of whether it’s fast or slow.
There’s a reason why all the cycle-force plugins so far have restricted motion to a single axis.


This was a dumb attempt that didn’t need any warning from anyone.
The outcome was so predictable that even a beginner like me could see the problems.
 
I’ve tried repeatedly, and for now I think it’s not possible.

To avoid vector overlap, you’d need a process that restores the part exactly to its original position.
However, since the mini engine isn’t allowed, the system crashes as soon as the script is applied.
Even if that issue were fixed, during the rollback phase—when the body part returns to its position—the opposing axis forces would interfere, causing calculation errors and collisions.

It might work under certain conditions, but in most cases, problems would arise.

As a fallback, you could remove the mini engine and instead let VaM’s own environment handle returning the body part to its controller position.

But that introduces another issue: the return speed varies depending on the spring and damper values, creating many possible cases.
Even if you proceed with this approach, you’d have to manually set the timing before moving on to the next axis, which is cumbersome.

And if the timing isn’t exact, vector overlap will occur again, causing repeated diagonal movements regardless of whether it’s fast or slow.
There’s a reason why all the cycle-force plugins so far have restricted motion to a single axis.


This was a dumb attempt that didn’t need any warning from anyone.
The outcome was so predictable that even a beginner like me could see the problems.
OK, thanks for checking. When I do this, I usually have a pose preset that sets everybody in the right positions, then a toggle that starts/stops the action.
 
bqbq updated multi force manager with a new update entry:

It supports multiple axes

View attachment 535572
In the default Vector mode, the axes can overlap, allowing diagonal movement.
In Cycle mode, each single-axis movement counts as one cycle. The sequence follows the order of the axis checkboxes you’ve toggled.
In Random Cycle mode, the sequence proceeds randomly.
I’ve also added a delay between cycles.

View attachment 535573
Also, the original Force plugin by Dub included a return-related function, so I used that as a reference and added the...

Read the rest of this update entry...
 
OK, thanks for checking. When I do this, I usually have a pose preset that sets everybody in the right positions, then a toggle that starts/stops the action.
I rebuilt the script by skeletonizing it, and it turned out the issue wasn’t with the mini engine but with the enum.
I fixed that, and now it supports multiple axes.
I also added a few extra features.
As for the return function, I found that dub original plugin already included something related—seems he was planning to add it in a future update.
If dub had continued his work, we might have seen a fully completed Force plugin by now.
 
bqbq updated multi force manager with a new update entry:

It supports multiple axes

View attachment 535625
In the default Vector mode, the axes can overlap, allowing diagonal movement.
In Cycle mode, each single-axis movement counts as one cycle. The sequence follows the order of the axis checkboxes you’ve toggled.
In Random Cycle mode, the sequence proceeds randomly.
I’ve also added a delay between cycles.



View attachment 535626

Also, the original Force plugin by Dub included a return-related function, so I used that as a reference and added...

Read the rest of this update entry...
 
Does it have a manual function like the old one? For example attach it to the depth plugin to trigger everytime the penis enters the vagina?
 
Great idea! I've been hoping for a plugin like this. Thanks!It'd be even better if it could save settings—I'd love to switch between them in the animation instead of tweaking one by one.
 
To make it activate each time the penis enters the vagina, you would need to set that up as a separate trigger. All of the functions are already listed in the receiver menu, so they can be easily controlled via external triggers.
Does it have a manual function like the old one? For example attach it to the depth plugin to trigger everytime the penis enters the vagina?
 
I just updated it with preset save/load functionality. The resource should be approved soon.
Great idea! I've been hoping for a plugin like this. Thanks!It'd be even better if it could save settings—I'd love to switch between them in the animation instead of tweaking one by one.
 
I used a lot of dub force plugins, so I love the concept of your manager. :D

When I tried rebuilding some idle movement, I noticed a difference in the movement. You can see it in the video:




First, I turn on the old force plugin (settings on the right) which makes a subtle hip movement.
Then I turn that off and turn on your manager with the same settings as the other plugin.

The movement isn't as smooth as the other one. I think the settings are the same, but you can see and compare for yourself in the video. I scroll both down at the end to show the lower part.

Any idea what's going on here?
 
Thanks for letting me know about the problem.
I used a lot of dub force plugins, so I love the concept of your manager. :D

When I tried rebuilding some idle movement, I noticed a difference in the movement. You can see it in the video:


View attachment 546970

First, I turn on the old force plugin (settings on the right) which makes a subtle hip movement.
Then I turn that off and turn on your manager with the same settings as the other plugin.

The movement isn't as smooth as the other one. I think the settings are the same, but you can see and compare for yourself in the video. I scroll both down at the end to show the lower part.

Any idea what's going on here?
 
I used a lot of dub force plugins, so I love the concept of your manager. :D

When I tried rebuilding some idle movement, I noticed a difference in the movement. You can see it in the video:


View attachment 546970

First, I turn on the old force plugin (settings on the right) which makes a subtle hip movement.
Then I turn that off and turn on your manager with the same settings as the other plugin.

The movement isn't as smooth as the other one. I think the settings are the same, but you can see and compare for yourself in the video. I scroll both down at the end to show the lower part.

Any idea what's going on here?
Looking back, I realized there were some elements I intentionally changed compared to the original Force plugin. Especially the variance option — I redesigned it to simulate subtle trembling and to break up overly repetitive patterns. I wanted the force to fluctuate randomly within a safe range so the motion would feel more alive. Because of that, the behavior looks different from the original Force plugin.

That said, after watching your video, I noticed something I really wanted to improve: the Smooth option. Previously it only reduced the raw strength, which doesn’t actually make the motion feel smoother. So I changed the way it works.

The left side shows the original Force Manager plugin, and the right side shows the newly updated version.
 
Thanks a lot for looking into it and for your explanation. Now it all makes sense. (y)
The reworked smooth option looks promising on the stronger movement in your video. I will try with my subtle movements when your new version is online. :)
 
Thanks for your update. (y)
I tried my subtle movements with your new version. It seems I can't get it to work smoothly. It’s only smooth when I set the variance to 0. With any variance, it isn’t. But you said you changed the randomizing part, so yes, it seems that makes the difference. Maybe I'll try to work around it with different settings to make idle movements, or I'll just stick with the old forces for that.

One other thing: To me, it seems as if changing “Force Duration” doesn’t do anything, no matter what kind of movement. Don’t know if that’s just me. 🙈

Edit: I think I figured out the "Force Duration" now (it has to be shorter than "Period Ratio") and it works.
 
Last edited:
Thanks for your update. (y)
I tried my subtle movements with your new version. It seems I can't get it to work smoothly. It’s only smooth when I set the variance to 0. With any variance, it isn’t. But you said you changed the randomizing part, so yes, it seems that makes the difference. Maybe I'll try to work around it with different settings to make idle movements, or I'll just stick with the old forces for that.

One other thing: To me, it seems as if changing “Force Duration” doesn’t do anything, no matter what kind of movement. Don’t know if that’s just me. 🙈

Edit: I think I figured out the "Force Duration" now (it has to be shorter than "Period Ratio") and it works.
That's because I replaced the original behavior with a variance feature meant to express small spasms. It's not really suited for soft, gentle motion, so in the next update it might be better to add separate sliders for randomizing force and rotation.
 

Similar threads

Plugins + Scripts Force
Replies
2
Views
1K
Assets + Accessories Multi Pass
Replies
0
Views
263
Replies
7
Views
924
Back
Top Bottom