Jump to content

Procedural Penis Animations/Collision [Beta]


Recommended Posts

Posted (edited)

Just got come from work. Going to add the registry, along with a few other things some of you guys disliked like not preserving the penis length. That'll also mean that animations that sort of crunch(?)/push(?) the penis will continue to do so - but in the correct position lol. 

This will add full creature support HOWEVER there's no way in fuck I'm going through all those configs and manually testing. So I'll write an automated script, and toss it's output at you animal gooners to hopefully figure out the perfect config (And maybe share with us here :)

 

46 minutes ago, sidfu1 said:

found a bit of a issue. if you using something like say a apron/open dress that has smp on the area around the genitals and you your character a herm the dick will keep trying to collide with the armor. it probably gonna do this for alot of armors. here i one [immyneedscake] RyanReos MilkApron  that you can look up to test it. just make it revealing in sos/tng  then ingame  the mod causes the physics for it to go nuts. remove the  revealing and it goes back to fine.

verifed that it was this mod cause it
without mod armor fine
with mod goes nutes
remove the revealing from tng and armor fine with this mod installed.

Is that in a sex scene or not? This mod completely deactivates outside of sex scenes. I'd just disable collision between penises and that apron personally though. 

 

If it's a sex scene, open /skse/plugins/accurate-penetration.json config.  and change "HookPosition": 0 - to "HookPosition": 2 (Must have FSMP). Then this mod will hook into FSMP directly and fix it

Edited by asdt123123
Posted (edited)

Extremely minor, and probably related to my load order, but cocks stretch out to the heavens when using photo mode (activating it where time freezes). With 3ba/cbpc

 

otherwise works great. Some quirks using Predator SMP lips but when working together, it’s marvelous 

Edited by sierrra
Posted

Really cool mod! Have you thought of adding something similar to SexLab Sex Sound's use of SKSE Menu Framework? So you might be able to more easily adjust the config in game.
It may also then make it possible to set what actors get what hole by annotating the animations just like SexLab Sex Sound. That's probably a load of work but may fix a ton of issues if people could just then share there configs/annotations for animations. Thank you for your hard work! 489830_20260103161349_1.thumb.png.b0c3d29241f186be0ce660e72288e624.png489830_20260103160840_1.thumb.png.decd1c9c2a4a2006ab072be453159924.png

Posted
9 minutes ago, sierrra said:

Extremely minor, and probably related to my load order, but cocks stretch out to the heavens when using photo mode (activating it where time freezes). With 3ba/cbpc

 

otherwise works great. Some quirks using Predator SMP lips but when working together, it’s marvelous 

That mod is probably freezing the time scale of the game partially. 

 

Try this version I have attached.

Also, for Predator's lips you just need to enable "HookPosition": 2 - in this mod's config. It'll make those lips work better then you've ever seen. 

PPA - Penetration Physics v0.0.9 - [TEST WIP RELEASE].zip

Posted (edited)

if  anyone wants to test this... here it is strap on with SOS bones.. No promises it will work.. Just the Nifs for CBBE. I play male PC so not really can test..

 

sexlab strapon.7z

Edited by ruggsy9
wrong upload, now corrected
Posted

About the static balls that stretch, i noticed this happens with cowgirl animations, but not in other kinds of animations that i tried. It's in CBPC mode, not SMP, not SMP balls or anything.

Posted

@asdt123123

I wouldn't have noticed this, except that I just spent some time today playing with the ABC CBPC config files - Baka made several errors with the race callouts in the configs, lots of cut/paste errors as he was creating them.  For example, on the Goat config, it's calling out the formID and race name for Bear.  There are a couple of others too.  In my ABC configs, I corrected them.

 

I looked through your override config file, and it carries over the errors from Baka's config.  I'm not sure if that is beneficial, or would just cause those to not work for the misdirected races.

 

Also, your script misnamed batches of the penis bone names.  Baka was pretty inconsistent, some using spaces, others '0'.  In your config, it seems to have made the 0# named bones "space #".

 

I ran through your config file, and corrected both the formID/names, and the bone names that were renamed relative to the ABC bone configs.   Attached for your convenience, use if it's helpful.

 

bakafactory_abc.json

Posted
1 hour ago, friendlygaint said:

So i've found that using hook 2 with HDT-SMP Flex causes it to break the script (no debugs etc) so i think i'll have to go back to faster unless there's a way to get it to work?

 

 

https://www.nexusmods.com/skyrimspecialedition/mods/101564

That mod actually breaks SKSE's task proxy service. If you have any mods delegating tasks to the main thread or later in the tick using SKSE's API then that plugin effectively breaks them entirely. 

 

It's also not open source so unfortunately I can't review his code to be sure this new hook wont cause crashes or is even running before they poll skyrim transforms. 

I hooked a ProcessHotKeys call function so verify I didn't fuck hotkey processing (Doubt it), and make sure SMP is working well with this mod's penis position (Otherwise my mod is not hooked early enough). 

 

I can't test it myself because my game instantly CTD's with this mod. So download the attached file and get back to me on whether it works or not. 

 

1 hour ago, Bigglsby said:

@asdt123123

I wouldn't have noticed this, except that I just spent some time today playing with the ABC CBPC config files - Baka made several errors with the race callouts in the configs, lots of cut/paste errors as he was creating them.  For example, on the Goat config, it's calling out the formID and race name for Bear.  There are a couple of others too.  In my ABC configs, I corrected them.

 

I looked through your override config file, and it carries over the errors from Baka's config.  I'm not sure if that is beneficial, or would just cause those to not work for the misdirected races.

 

Also, your script misnamed batches of the penis bone names.  Baka was pretty inconsistent, some using spaces, others '0'.  In your config, it seems to have made the 0# named bones "space #".

 

I ran through your config file, and corrected both the formID/names, and the bone names that were renamed relative to the ABC bone configs.   Attached for your convenience, use if it's helpful.

 

bakafactory_abc.json 7.83 kB · 1 download

Yeah I was looking through it and noticed a lot of weirdness too lol. Like Hagraven is using the wrong Race. It's using the Lurker's race. Gotta change the race to allow the Lurker to not get overridden. 

Thanks for the contribution! I'll be sure to credit you in the config file. 

Speaking of Hagraven, has anyone managed to get it working? It's got a bunch of weird bone names, no clue which one is the penis. 

PPA - Penetration Physics v0.0.9 - [TEST WIP RELEASE].zip

Posted
51 minutes ago, asdt123123 said:

Speaking of Hagraven, has anyone managed to get it working? It's got a bunch of weird bone names, no clue which one is the penis. 

 

Hagravens are (by default) female.  They don't have a penis.  The collision stuff in there for them is more for animation props, similar to Spriggans.  Not sure how often they are employed really, I don't engage many animations with them.

 

I've played around with the new stuff, with ABC stuff.  So far it looks pretty good with how it's reacting with external visibility.  Clipping through, the penis compression is pretty severe.  I played around with the HidePenisDepthOffset, but it didn't SEEM to affect it much... though perhaps that's just impression.  Mostly wanted to get some values that would trigger belly bulge effectively, and wasn't sure if the compression was going to keep those nodes from colliding.

 

The ABC stuff also doesn't appear to travel the same paths as the normal schlongs do, and kinda vector at a different angle (can't aim them).  Not sure if that's intentional, or needs to be tweaked due to different bone names from the other ones.

 

Good progress on the mod so far.  Happy that I decided to give it a shot, Even with just using for Humanoid functions, it's looking great. 

Posted
42 minutes ago, Bigglsby said:

 

Hagravens are (by default) female.  They don't have a penis.  The collision stuff in there for them is more for animation props, similar to Spriggans.  Not sure how often they are employed really, I don't engage many animations with them.

 

I've played around with the new stuff, with ABC stuff.  So far it looks pretty good with how it's reacting with external visibility.  Clipping through, the penis compression is pretty severe.  I played around with the HidePenisDepthOffset, but it didn't SEEM to affect it much... though perhaps that's just impression.  Mostly wanted to get some values that would trigger belly bulge effectively, and wasn't sure if the compression was going to keep those nodes from colliding.

 

The ABC stuff also doesn't appear to travel the same paths as the normal schlongs do, and kinda vector at a different angle (can't aim them).  Not sure if that's intentional, or needs to be tweaked due to different bone names from the other ones.

 

Good progress on the mod so far.  Happy that I decided to give it a shot, Even with just using for Humanoid functions, it's looking great. 

Show me a gif of the issue if you can. The compression worked perfect for me - but I only tested the horse and the wolf. It will only work poorly on cocks missing bones at the tip (Like the human). In that case, this mod has to ignore it. I considered just shrinking the node scale, but if you save during an animation - that scale is persistent lmao. I would also keep"TipExtension": 0.1, and  "PenetratorGirth": 0.5. The collision detection on this mod is very accurate, so it's better to just keep the virtual penis skinning small. It's only useful for the human penis since half the penis isn't close to a bone. 

 

                float shrinkStart = distPastTunnelEnd - penConfig->HidePenisDepthOffset;

                if (shrinkStart > 0.0f) {
                 // Do the shrink on the segment

Is basically the logic for the shrinking. The tunnel is your configured vaginal/anus tunnel end.  It shouldn't be visible on-screen - otherwise you're shrinking too early. I'll have to review the math though, if your tunnel is too small it might create a non-linear distance. 

 

The CBPC belly bulge node is pretty large in most configs, so you don't have to go too crazy. In the next update I'm going to allow you to specify an actual spline into the body, so the cock can be specified to basically follow the contour of your character's body straight into their brain I guess lol. 

 

The penis bones are a bit weird - like for the horse. I'm going to have to make some values configurable for the solver so we can better control them. Falmer bones are also really weird so I'm sure that'll look weird in-game too. Biggest problem is there's no real BASE position. If you look at the schlongs, the base is like inside the body. So the solver has to run off a segment of the penis which the algorithm wasn't really designed for. The natural bend in many of the schlongs also makes the solver bias that direction more for a bend. 

 

In other words, I'll need to add more configurable options for the algorithm so we can control it better for certain skeletons. Tbh though I think it looks PRETTY GOOD having been just shoved in the mod not even designed for their rigs lol.

 

Oh and the Hagraven's animation is some weird ass fly/bug fucks your character lmao. I don't know how else to explain it. 

Posted
11 minutes ago, goutou123 said:

Does it support MNC and custom races?

MNC is in heavy WIP. We're using ABC instead since it has better skeletons. Review the config section 

Posted

Fantastic. You added an option to use the real size schlong.

Now it is just perfect. Have not tested blowjobs yet though.


I saw that the there is a Vaginagrip option.

There do not seem to be any grip in the lips. 


I have "HandleOpeningPhysics": false. Should that interfere in the grip.

Though the earlier video show that it is possible.

Posted

Just came to say, that this mod is nuts. It singlehadnedly fixed most of alignment issues, having to make my character wider so horse doesn't clip etc. At the same time I'm also amazed by this from a programmatic point of view because  I wouldn't have thought people can code deterministically (without just physics simulation that we already had). This is quite a huge leap forward for adult skyrim modding! :)

Posted

I've been away from Skyrim for like 5 years. Anyone have any body mods that retain the vanilla shape but with the vagina/butt bones I'd need?

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

 

Allow this mod to handle oriface openings is entirely up to you. Again, read the config section. Change the hook position to 2 to have this mod hook into FSMP

 

Yes, I noticed the “hook” at 0.08. When I changed this value to 2, the collision detection in SMP worked properly. Moreover, when SMP is not controlling the skeletal constraints of the penis, the changes you made to the curves also took effect. I have to admire you for letting smp know where meshes is now. Smp is always blind to body morphs and the way bones are moved by unconventional methods.

 

In some additional tests, when using SMP Flex instead of FSMP and setting the hook value to 2, although collisions are detected, the penis does not bend in any way. I just as a side note, both FLEX and PPA are still in the development stage, so there’s no need for either side to make concessions to the other.

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...