Jump to content

Procedural Penis Animations/Collision [Beta]


Recommended Posts

Posted
On 3/7/2026 at 1:11 AM, asdt123123 said:

Update 3:

  • For the actor selector and what not, it just uses raw vertex data now. All the skyrim systems have annoying limitations. 

Obviously a lot heavier to raycast against a literal mesh, but I doubt it'll be noticeable since it's only for selecting actors. 

 

Lmk if it works for SE and VR. I only tested for AE. Should be pixel precise now (Ignores hair though). You can select a bow string even now. 

 

In terms of the voice system, when it's officially released. It will be a separate mod entirely that just uses PPA. Hopefully people will create some cool voice packs. Sexlab is side by side with OStim these days now. 
 

PPA - Penetration Physics v0.0.31.zip 6.93 MB · 2 downloads

 

The voice system is working well so far. When it eventually become its own mod, there are a few things I think would be nice to have:
- A way to control which actor will have which voice set.
- Automatically assign set voice set to specific race or NPC, using a separated config file, like how Mu Dynamic Normal Map does it. 

Posted

For some reason, on version 0.31, the Adjust animation speed keys make the game stutter a bit when pressed, nothing too annoying but noticeable. On previous versions this stutter did not occur. Any idea ?

Posted

If there would be option for choosing voice type - it would be amazing.

Then everything thats left - wait for someone to make a mod for breast phys. and collisions (sadly softbody is a framerate killer)

Posted
6 hours ago, Strager said:

wait for someone to make a mod for breast phys. and collisions

 

We've had that for about a decade.

Posted (edited)
48 minutes ago, Strager said:

And all of them are quite shitty

If u mean a mod that handles & adjusts hand to breast collisions without depending on body weight / Bodyslide template. I agree 100% with you.

After what this mod author did with PPA, anything is possible.

Edited by nichio
Posted
28 minutes ago, nichio said:

If u mean a mod that handles & adjusts hand to breast collisions without depending on body weight / Bodyslide template. I agree 100% with you.

After what this mod author did with PPA, anything is possible.

Yep, also sagging from gravity depending on pose and so on.

Posted
3 hours ago, Strager said:

Yep, also sagging from gravity depending on pose and so on.

 

This admittedly requires code changes to get it working; took me a few weeks to bend CBPC to have gravity that actually points down.

Posted (edited)
9 hours ago, traison said:

 

We've had that for about a decade.

He meant without using SMP.  I do not know what you've been working on since the last time we talked about CPBC, but the last custom version of CBPC i saw from you did wonders in the bounce department, but was just as glitchy as stock CBPC when it comes to collisions. The friction-mode essentially just works like somebody put magnets in tits and buts, and the elastic mode is... unusuable to put it mildly. Now to be fair, much of this could be the result of us not having ingame visualization of CBPC spheres, so users cannot make accurate configurations. But even if the configs were accurate, and CBPC collisions not glitchy as fuck, there still would be the limitation that spheres do not scale with morph sliders, so it will all be inaccurate ingame, unless all NPCs have the exact same cupsizes and so on.

 

Quote

After what this mod author did with PPA, anything is possible.

"Every sufficiently advanced technology is indistinguishable from magic."

 

Reality check: This mod does not do anything about the morph issue. Instead it sidesteps the issue, by solving problems that are not affected by morphs (or very little, so that workarounds like TipExtension are feasible).

 

Edited by bitnuke
Posted (edited)

On a completely different note: I thought about the role of this mod a bit yesterday, and realized something.

 

To this day, inflation and pregnancy mods have no way of knowing "where the load went" in group anims, or "who's the father". This mod is the first one that could actually provide this information. Of course i am not proposing that this mod adds pregnancy/inflation features. Instead i am suggesting: You already have the information as part of what this mod does, so why not make this information accessable to other mods?

 

Here's another case of "You already did all the homework. Use it": I remember you added CBPC butt-bounce on bottoming out a few days ago. I'm not seeing it, but could be because of my CBPC config. Anyways, why not do the same for breasts, and make the intensity multiplier configurable? Why breasts you ask? Simple: The way animations and skyrim physics work, breasts often do not bounce in animations when they should. Well one kinda cheaty workround would be, to do the same with breasts what you did with butts: Send an "impulse" when bottoming out? If the impulse multiplier is configurable, people could make it subtle enough in their setup to look believable.

Edited by bitnuke
Posted
1 hour ago, bitnuke said:

To this day, inflation and pregnancy mods have no way of knowing "where the load went" in group anims, or "who's the father".

 

This is a weird shortcoming in SexLab yes. I managed to get quite decent results in my own FHU, but it's still just "guesstimating". It works as long as you don't have to know which specific actor was where, i.e. as long as you're not tracking per-actor parameters. This is thanks to another shortcoming of SL, which is that creature races can't be mixed. You can't have a horse and a dog at the same time. Code is available if someone wants to implement.

 

1 hour ago, bitnuke said:

Well one kinda cheaty workround would be, to do the same with breasts what you did with butts: Send an "impulse" when bottoming out?

 

The issue I see with this is the same as when animators started adding belly bulging into the animations themselves because (presumably) people couldn't get a decent enough effect with the config files in existing physics systems. Ruined the party for the ones that had working configs. If we add the concept of bottoming out to PPA, it will heavily conflict with animations that already portray this in the animation itself.

 

As long as it's adjustable (i.e. can be turned off) it's fine. Best of both worlds.

 

1 hour ago, bitnuke said:

...why not make this information accessable to other mods?

 

If I had to throw in a guess here, I'd say Papyrus interface is coming. Maybe it's last before a "1.0" release. There's a bit too much going on here to ignore this potential. This is why I didn't want PPA to have voices and lipsync. It now overrides SL voices and we already have people asking for different voices for different NPCs. Had this been pushed to Papyrus as an event or a pollable statistic like pump frequency, it could quite easily have been wired directly into SL's voice timer to sync it. Granted there would have been the issue of Papyrus latency, but I have a feeling it wouldn't have been relevant in this case.

Posted

Hi, everyone.

This mod is amazing so far, and one of my favorites already.

I have a suggestion:

What if the mouth had a soft close mechanism after moan.

I think it would look beautiful.

 

It's just an idea.

Posted (edited)
11 hours ago, Strager said:

And all of them are quite shitty

 

I have managed to get almost perfect collision between breasts and hand/forearms/upperarms.

Also between male and female body so breasts actually have collision with the male chest in foreplay.

 

for both low and high weight. It works with both my presets.


I use a CBPC setup running SMP only for hair and clothes.


Example...

https://www.redgifs.com/watch/pinkalivekakarikis

https://www.redgifs.com/watch/anotherdownrightgander

 

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

If we add the concept of bottoming out to PPA, it will heavily conflict with animations that already portray this in the animation itself.

 

As long as it's adjustable (i.e. can be turned off) it's fine. Best of both worlds.

Any feature of this kind should have an on/off switch IMO, just like the already existing stuff like hipphysics.

 

As for overlap with anims/other mods doing the same: My personal solution to this dilemma is, to make the PPA-effect subtle. It's not there to replace a proper implementation, but to just have something going on. Take the breasts issue for example: I would set the impulse multiplier so breasts only jiggle slightly, instead of actually bouncing. This way it shouldn't be an issue when overlapping with i.e. CBPC doing it's job properly.

 

But yeah, i get the concern: Lots of players would ramp that multiplier up to eleven, then complain when CBPC joins in on the fun and everything glitches out.

Edited by bitnuke
Posted
22 hours ago, Strager said:

If there would be option for choosing voice type - it would be amazing.

Then everything thats left - wait for someone to make a mod for breast phys. and collisions (sadly softbody is a framerate killer)

😐

 

4 hours ago, traison said:

If I had to throw in a guess here, I'd say Papyrus interface is coming. Maybe it's last before a "1.0" release. There's a bit too much going on here to ignore this potential. This is why I didn't want PPA to have voices and lipsync. It now overrides SL voices and we already have people asking for different voices for different NPCs. Had this been pushed to Papyrus as an event or a pollable statistic like pump frequency, it could quite easily have been wired directly into SL's voice timer to sync it. Granted there would have been the issue of Papyrus latency, but I have a feeling it wouldn't have been relevant in this case.

A papyrus API interface will be coming eventually. If you people have ideas for what API you want LMK. Papyrus mod events are a MAYBE? Mod events can easily overwhelm the papyrus VM so I'll need to be careful. 

 

Just keep expectations reasonable lol 

 

3 hours ago, perrillo said:

Hi, everyone.

This mod is amazing so far, and one of my favorites already.

I have a suggestion:

What if the mouth had a soft close mechanism after moan.

I think it would look beautiful.

 

It's just an idea.

Idk what ur saying? The moans from this mod? You just need to make a .lip file. I might make a lip file editor now that I reversed the format or tell an AI slave to do it. 

Posted

Holy shit! you've added voice to your mod now? What's next? Realistic cum events? Make it possible for me to forget her? Keep cooking my dude, you are amazing!

Posted (edited)
2 hours ago, asdt123123 said:

A papyrus API interface will be coming eventually. ... Just keep expectations reasonable lol

 

I'm not really using the SL ecosystem i.e. don't know which mods could benefit from this. But here's some things that come to mind, just looking over the config file in PPA:

/*
GetPumpFrequency
Intended use: Query the value every N seconds and use it in the SL thread voice timer.
Returns the current in-out motion frequency for instance in pumps per minute.
*/
float GetPumpFrequency(Actor* who);

/*
GetUsedHole
Intended use: In Papyrus scripts that need to know who's fucking who.
Returns the hole used by giver, or -1 if giver has nothing to do with taker.
*/
int GetUsedHole(Actor* giver, Actor* taker);

/*
Dynamic grip adjustment.
Intended use: Lube simulation.
*/
float SetGripClampForward(Actor* who, string hole, float newValue); // Changes hole.GripClampForward for a specific actor.
float SetGripClampBackward(Actor* who, string hole, float newValue);
float SetGripStrength(Actor* who, string hole, float newValue);
float SetRubIntensity(Actor* who, string hole, float newValue);
float GetGripClampForward(Actor* who, string hole, float default = 0.0); // Maybe default is not needed.
float GetGripClampBackward(Actor* who, string hole, float default = 0.0);
float GetGripStrength(Actor* who, string hole, float default = 0.0);
float GetRubIntensity(Actor* who, string hole, float default = 0.0);

/*
Depending on what the intended use is for the voice system, these may or may not be needed.
*/
string SetVoice(Actor* who, string newVoice); // Switches to another voice, returns the current voice.
float SetVoiceVolume(Actor* who, float newVolume); // Adjust voice volume, perhaps?
float SetVoicePitch(Actor* who, float newPitch); // Chipmunk mode
bool SetMute(Actor* who, bool mute); // Silences an actor, returns the current mute value.

// Could do something similar for sounds.
float SetClapSoundVolume(Actor* who, string hole, float newValue); // Adjusts SoundEffects.<hole>.ClapSoundVolumeScale
float SetWetSoundVolume(Actor* who, string hole, float newValue); // Returns old volume.
bool MuteClapSound(Actor* who, string hole); // Perhaps?
bool MuteWetSound(Actor* who, string hole);

 

I imagine I could implement some of these in my own setup.

 

Edit: From my pov, the obvious problem with most of these suggestions is that config now needs to be per-actor. If it isn't that already, it might require quite a bit of rethinking.

 

Edit again: Another thing to consider is how much responsibility does PPA take in managing multiple inputs. Lets say we have 2 mods using SetWetSoundVolume. Which one prevails? The most recent value, or is PPA going to provide something more fancy: like avg, min or max? Perhaps it even goes as far as remembering all values, and falls back on older values when newer ones are "unset". This would require an entirely different function structure - an "unset" function, a "modkey" argument or returning a handle id.

Edited by traison
Posted
12 hours ago, NCK30 said:

 

I have managed to get almost perfect collision between breasts and hand/forearms/upperarms.

Also between male and female body so breasts actually have collision with the male chest in foreplay.

 

for both low and high weight. It works with both my presets.


I use a CBPC setup running SMP only for hair and clothes.


Example...

https://www.redgifs.com/watch/pinkalivekakarikis

https://www.redgifs.com/watch/anotherdownrightgander

 

With obody manual adjustment for every preset is a literal hell. Also it still not there in terms of gravity deformation when lying or in doggy style pose

Posted
10 hours ago, Strager said:

With obody manual adjustment for every preset is a literal hell. Also it still not there in terms of gravity deformation when lying or in doggy style pose

 

I was recommended to try 0Body.

 

But I already made many armors for my preset.

I am also the kind of guy that prefers one or two perfect presets instead of 100 different bodies.

 

 

It is not perfect, but it's damn well near it with this mod and all the advancements lately.

 

I am sure other games envy Skyrim.

Posted (edited)

Quick infodump for anyone who's working on fixing ABC dong meshes. The OP only mentions weight painting as an issue with ABC dongs. But there are in fact 3 issues. In order of importance (to user experience):

 

1. Vertical misalignment of nodes. Basically nodes are not exactly in the center of some dongs. This is what makes ABC-dongs not align properly with holes (slightly too high or low). Technically it affects all waypoints, but is most noticable at hole entries.

 

2. Weight painting causing weird behavior of dongs, as described in the OP.

 

3. Insufficient number of nodes, especially on long dicks. This again is most noticable at hole entries, with dicks bending like train carriages entering a sharp turn. Important: If anyone wants to add more nodes, do not rename or reposition the existing ones (aside from centering), so that existing animations and configs continue to work (just without taking advantage of the newly added nodes).

Edited by bitnuke

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
×
×
  • Create New...