Jump to content

More impactful vagina physics for 3BA?


Recommended Posts

Posted (edited)

I'm playing with 3BA + SoS and have set the options to big schlongs. The default physics config doesn't seem adjusted for them, since the vagina rarely deforms enough, and just keeps flapping around most of the time. Are there any good configs that would help? Also, should I use CBPC or SMP?

Edited by Omnishade
  • Omnishade changed the title to More impactful vagina physics for 3BA?
Posted

Dont know if its what you're looking for. But I can point you to Softbody. https://www.nexusmods.com/skyrimspecialedition/mods/152103 If you are already using CBPC, then you dont need to switch full smp with this mod. It's run SMP only on genitals not clothing so its perfomance friendly. It looks nice, works with SOS and TNG. You could give a go.  First time I played with it, it caught me by surprise that it even simulated the  cum inflation on my char's uterus.

 

Other option. You could check on tullius channel. Sometimes an user uploads their CBPC config and they can come up with some nice breast,penis and genital collision presets.

Posted (edited)

The reason why CBPC doesn't react properly to large things (if its configured for smaller things) is that VaginaOpeningMultiplier is a multiplier for the displacement of the collision shape when its collided with. It doesn't take into consideration weightpainting. What I did to fix this in my build of CBPC was to apply an exponent to it as well. I find that 1.5 is quite good for 3BAv2's weightpainting. You can get decent results with just VaginaOpeningMultiplier and no code edits if you configure it for medium sized things, i.e. instead of trying to get a perfect fit for everything (which is impossible without the exponent) try to get something like a troll or gargoyle to fit perfectly, then frost giants and rabbits will be ok-ish.

 

The "flapping around" you're seeing is most likely because SOS (preset might have been from 3BA) and ABC uses collision spheres for their collisions. Its basically a string of beads. You need to convert these to collision cylinders. Also if you're not using the pelvis node for vag collisions then I recommend switching to it. Trying to do "real" collisions with CBPC, especially if there's any gaps between collision shapes, is not going to work without twitching.

Edited by traison
Posted
19 hours ago, Pavlovian Afterdark said:

Dont know if its what you're looking for. But I can point you to Softbody. https://www.nexusmods.com/skyrimspecialedition/mods/152103 If you are already using CBPC, then you dont need to switch full smp with this mod. It's run SMP only on genitals not clothing so its perfomance friendly. It looks nice, works with SOS and TNG. You could give a go.  First time I played with it, it caught me by surprise that it even simulated the  cum inflation on my char's uterus.

 

Other option. You could check on tullius channel. Sometimes an user uploads their CBPC config and they can come up with some nice breast,penis and genital collision presets.

 

I've tried it before. The schlongs bend so much that they go outside of where they should be, and it's very much an issue with the mod itself making the shafts too soft. They don't need to bend much at all, and should't if it was aiming to be realistic.

Posted
13 hours ago, traison said:

The reason why CBPC doesn't react properly to large things (if its configured for smaller things) is that VaginaOpeningMultiplier is a multiplier for the displacement of the collision shape when its collided with. It doesn't take into consideration weightpainting. What I did to fix this in my build of CBPC was to apply an exponent to it as well. I find that 1.5 is quite good for 3BAv2's weightpainting. You can get decent results with just VaginaOpeningMultiplier and no code edits if you configure it for medium sized things, i.e. instead of trying to get a perfect fit for everything (which is impossible without the exponent) try to get something like a troll or gargoyle to fit perfectly, then frost giants and rabbits will be ok-ish.

 

The "flapping around" you're seeing is most likely because SOS (preset might have been from 3BA) and ABC uses collision spheres for their collisions. Its basically a string of beads. You need to convert these to collision cylinders. Also if you're not using the pelvis node for vag collisions then I recommend switching to it. Trying to do "real" collisions with CBPC, especially if there's any gaps between collision shapes, is not going to work without twitching.

 

Which file should I do this in? In my CBPCollisionConfigFemale I have VaginaOpeningMultiplier=3.

Why beads? That seems really dumb. Where can I find these collision and which program should I use to edit them? I know outfit studio and blender if I need them.

Posted (edited)
6 hours ago, Omnishade said:

Which file should I do this in?

 

Thing.cpp, Thing::CalculateDiffVagina(...)

 

float halfOpening = pow(opening, 1.5f) * 0.5f;
...
collisionDiff = NiPoint3(thing_vaginaOpeningMultiplier * -1.0f, 0.0f, thing_vaginaOpeningMultiplier * 0.3f) * halfOpening;
...

 

CollisionDiff is calculated for all 4 sides, and that halfOpening variable should be applied to them all. The example above is just for the left side. If you want to do the back door as well while you're at it, it's handled in the function below this one. 1.2f seems like a decent exponent for that, but(t) more testing might be required.

 

Edit: The reason why the code above probably doesn't look exactly like the original code is because I've also modified the multipliers for how much each side opens.

 

6 hours ago, Omnishade said:

Why beads? That seems really dumb. Where can I find these collision and which program should I use to edit them? I know outfit studio and blender if I need them.

 

Using something other than simple primitives would require far too much computation. SMP does the same thing, but the difference is that it places these beads on every triangle or every vertex, depending on configuration.

 

Edit again: Also I believe these (ABC and SOS) configurations were made before CBPC 1.5.7 where we changed it to only consider the largest collision shape instead of adding them up. This basically means that double penetration is no longer supported, but you can have multiple collision shapes hitting at once without the opening going wild. This allows for the beads to be much closer to eachother, and for the cylinders to overlap, and thus the issue with the opening closing between beads (i.e. "flapping around") is reduced or removed. So unless the configs for these mods have changed in the somewhat recent past, they're probably still trying to avoid these double-collisions.

 

The documentation for collision shapes is in the CBPC mod description.

 

Measure the offsets, radii and lengths using NifSkope for instance. I imagine blender could work too. Usually what I do is attach a new generic NiNode to the node I'm working on, then I position it using transforms. These offsets can be used as-is in the CBPC configuration. Expect to spend maybe a week or even a month perfecting this, if you're only just starting out converting dongs to cylinder primitives.

 

Edit: I was considering creating a 3D app for quickly placing CPBC collision primitives, but since this pretty much only has to be done once, I decided it made more sense to just endure the current clumsy process.

Edited by traison
Posted (edited)
14 hours ago, traison said:

 

Thing.cpp, Thing::CalculateDiffVagina(...)

 

float halfOpening = pow(opening, 1.5f) * 0.5f;
...
collisionDiff = NiPoint3(thing_vaginaOpeningMultiplier * -1.0f, 0.0f, thing_vaginaOpeningMultiplier * 0.3f) * halfOpening;
...

 

CollisionDiff is calculated for all 4 sides, and that halfOpening variable should be applied to them all. The example above is just for the left side. If you want to do the back door as well while you're at it, it's handled in the function below this one. 1.2f seems like a decent exponent for that, but(t) more testing might be required.

 

Edit: The reason why the code above probably doesn't look exactly like the original code is because I've also modified the multipliers for how much each side opens.

 

 

Using something other than simple primitives would require far too much computation. SMP does the same thing, but the difference is that it places these beads on every triangle or every vertex, depending on configuration.

 

Edit again: Also I believe these (ABC and SOS) configurations were made before CBPC 1.5.7 where we changed it to only consider the largest collision shape instead of adding them up. This basically means that double penetration is no longer supported, but you can have multiple collision shapes hitting at once without the opening going wild. This allows for the beads to be much closer to eachother, and for the cylinders to overlap, and thus the issue with the opening closing between beads (i.e. "flapping around") is reduced or removed. So unless the configs for these mods have changed in the somewhat recent past, they're probably still trying to avoid these double-collisions.

 

The documentation for collision shapes is in the CBPC mod description.

 

Measure the offsets, radii and lengths using NifSkope for instance. I imagine blender could work too. Usually what I do is attach a new generic NiNode to the node I'm working on, then I position it using transforms. These offsets can be used as-is in the CBPC configuration. Expect to spend maybe a week or even a month perfecting this, if you're only just starting out converting dongs to cylinder primitives.

 

Edit: I was considering creating a 3D app for quickly placing CPBC collision primitives, but since this pretty much only has to be done once, I decided it made more sense to just endure the current clumsy process.

 

*Confused* Many questions arise after that somewhat hard to interpret explanation.

 

When you say thing.cpp, did you actually mean thing or just a placeholder? Because there is no such file anywhere in my entire mod folder. Here is what's in CBPC though(I probably have that for the vagain since I only installed SMP for the breasts):

Untitled-1.png.03ecf020e28658b1d8ffe663a99824c1.png

 

The last part sounds too complicated and time consuming. Isn't there something existing to download for somewhat better collision with SoS? It's not something exteme or niche I'm looking for. Just something that makes the labia bones stretch more, if that's possible without going overboard.

 

I've installed one from this mod https://www.nexusmods.com/skyrimspecialedition/mods/127626, and an option that is similar to my preset(it's a modified preset), but I don't see much of a difference. Some animations don't even have collisions, am I right?

Edited by Omnishade
Posted (edited)
9 hours ago, Omnishade said:

When you say thing.cpp...

 

https://www.nexusmods.com/skyrimspecialedition/mods/21224?tab=files&file_id=462412

 

9 hours ago, Omnishade said:

Isn't there something existing to download for somewhat better collision with SoS?

 

Not that I'm aware of, but I'm not really keeping track of these things either. I report the edits I make that don't require major config changes to the CBPC author but unfortunately it seems for the past year or more there hasn't been any official progress.

 

Here's a build of CBPC 1.6.3 for 1170 with hardcoded exponents in it, nothing else. 1.5f for the front, 1.2f for the rear. It also includes all ABC collision configs, measured and converted to cylinders. The ABC files have also been cleaned of superfluous values, and several errors have been fixed. Some creatures that shared configs but should have had their own files now do. "CBPCollisionConfig.txt" is for human males and contains the SOS collision config, also measured and converted to cylinders. Set VaginaOpeningMultiplier = 1.2, and adjust the remaining collision shapes to work with the new formula.

 

Edit: dll not tested.

 

Edit again: looks like dll works.

 

omnishade_cbpc.7z

Edited by traison
Posted
4 hours ago, traison said:

 

https://www.nexusmods.com/skyrimspecialedition/mods/21224?tab=files&file_id=462412

 

 

Not that I'm aware of, but I'm not really keeping track of these things either. I report the edits I make that don't require major config changes to the CBPC author but unfortunately it seems for the past year or more there hasn't been any official progress.

 

Here's a build of CBPC 1.6.3 for 1170 with hardcoded exponents in it, nothing else. 1.5f for the front, 1.2f for the rear. It also includes all ABC collision configs, measured and converted to cylinders. The ABC files have also been cleaned of superfluous values, and several errors have been fixed. Some creatures that shared configs but should have had their own files now do. "CBPCollisionConfig.txt" is for human males and contains the SOS collision config, also measured and converted to cylinders. Set VaginaOpeningMultiplier = 1.2, and adjust the remaining collision shapes to work with the new formula.

 

Edit: dll not tested.

 

omnishade_cbpc.7z 3.16 MB · 1 download

 

Thanks a lot! That's a big improvement. Should have been like this by default imo.

Posted

Been fixing issues with the files I posted previously as I've been trying to switch entirely into using an exponent instead of a multiplier. I now have collisions working with a multiplier of 1.0 where it should be. While doing this I noticed some creatures weren't yet using cylinders: gargoyles and scribs I think. Additionally, some form ids were absolute instead of relative, so if your load order of the LE DLC is different than mine, those creatures won't work.

  • 3 months later...
Posted
On 8/18/2025 at 6:26 PM, traison said:

 

https://www.nexusmods.com/skyrimspecialedition/mods/21224?tab=files&file_id=462412

 

 

Not that I'm aware of, but I'm not really keeping track of these things either. I report the edits I make that don't require major config changes to the CBPC author but unfortunately it seems for the past year or more there hasn't been any official progress.

 

Here's a build of CBPC 1.6.3 for 1170 with hardcoded exponents in it, nothing else. 1.5f for the front, 1.2f for the rear. It also includes all ABC collision configs, measured and converted to cylinders. The ABC files have also been cleaned of superfluous values, and several errors have been fixed. Some creatures that shared configs but should have had their own files now do. "CBPCollisionConfig.txt" is for human males and contains the SOS collision config, also measured and converted to cylinders. Set VaginaOpeningMultiplier = 1.2, and adjust the remaining collision shapes to work with the new formula.

 

Edit: dll not tested.

 

Edit again: looks like dll works.

 

omnishade_cbpc.7z 3.16 MB · 28 downloads

This should be part of the ABC and 3BA page in a pin, very based

Posted
On 8/19/2025 at 3:26 AM, traison said:

 

https://www.nexusmods.com/skyrimspecialedition/mods/21224?tab=files&file_id=462412

 

 

Not that I'm aware of, but I'm not really keeping track of these things either. I report the edits I make that don't require major config changes to the CBPC author but unfortunately it seems for the past year or more there hasn't been any official progress.

 

Here's a build of CBPC 1.6.3 for 1170 with hardcoded exponents in it, nothing else. 1.5f for the front, 1.2f for the rear. It also includes all ABC collision configs, measured and converted to cylinders. The ABC files have also been cleaned of superfluous values, and several errors have been fixed. Some creatures that shared configs but should have had their own files now do. "CBPCollisionConfig.txt" is for human males and contains the SOS collision config, also measured and converted to cylinders. Set VaginaOpeningMultiplier = 1.2, and adjust the remaining collision shapes to work with the new formula.

 

Edit: dll not tested.

 

Edit again: looks like dll works.

 

omnishade_cbpc.7z 3.16 MB · 28 downloads

hello traison, this file work with 1.5.97.0?

Posted
On 12/22/2025 at 2:22 PM, alranteesi said:

hello traison, this file work with 1.5.97.0?

 

This one should though. Built from 1.5.7 sources. Does not contain the altered config files that the previous archive has.

 

Not tested, as usual.

alranteesi_cbpc.7z

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...