Jump to content

Procedural Penis Animations/Collision [Beta]


Recommended Posts

Posted
16 hours ago, pog champion said:

On creatures, is it possible to add some sort of automated detection as a fallback? As far as I am aware for this mod, it seems you have to manually add each creature race under the bracketed list in the override configs .toml for them to animate.

You don't just add "creature races" to those files, but tell the mod how their schlongs work. That's the real purpose of those files: It's not about the creatures but their schlongs. How is the program supposed to "guess" which nodes of a penis are for schlong animation, and which ones are for other purposes? The meshes contain no information like "this node is for this, and that node is for that". It's all just a bunch of bones with "informative" names like "BD1"... LOL.

Posted (edited)

Actually, where in SexLab do I disable its sounds if I want to use the PPA sounds? I am using SL 1.63 with Osmel's SLU+. It's not in this section, isn't it? At least I can't seem to find it:

Spoiler

image.png.985f18194c3638480ed171caa00f703a.png

 

Edited by Gudulba
Posted
1 hour ago, Gudulba said:

Actually, where in SexLab do I disable its sounds if I want to use the PPA sounds? I am using SL 1.63 with Osmel's SLU+. It's not in this section, isn't it? At least I can't seem to find it:

  Reveal hidden contents

image.png.985f18194c3638480ed171caa00f703a.png

 

Couldn't find such an option either. Of course you can just turn SFX volume to zero, but this also silents cum-sounds, and PPA currently does not have those.

 

So here's what i did: I reduced SFX volume to 50% and then moved the "SFX Delay" slider to the maximum. This means SL sexsounds only play rarely and are quiet enough to be ignorable. But i still get the SL cum sound.

Posted (edited)
2 hours ago, Gudulba said:

Actually, where in SexLab do I disable its sounds if I want to use the PPA sounds? I am using SL 1.63 with Osmel's SLU+. It's not in this section, isn't it? At least I can't seem to find it:

  Reveal hidden contents

image.png.985f18194c3638480ed171caa00f703a.png

 

 

"SFX Volume". Downside is that it gets rid of the moans for oral action too. Also you may find that the slider only goes down to 1%. I edited my own SL scripts to allow for 0%, then added checks to not play the sounds at all when set to 0. Minor optimization. With script edits it should be possible to keep the moan sounds, but since I'm not personally bothered by this I never looked into it.

 

Call it immersion. How could you moan when you're half way down a horse lollipop?

 

Edit:

1 hour ago, bitnuke said:

...this also silents cum-sounds...

 

Makes sense. I didn't notice this myself since my own mod handles these sounds.

Edited by traison
Posted
7 hours ago, bitnuke said:

You don't just add "creature races" to those files, but tell the mod how their schlongs work. That's the real purpose of those files: It's not about the creatures but their schlongs. How is the program supposed to "guess" which nodes of a penis are for schlong animation, and which ones are for other purposes? The meshes contain no information like "this node is for this, and that node is for that". It's all just a bunch of bones with "informative" names like "BD1"... LOL.

The file does both things... it lists the races and the nodes... You do not have to be condescending, regrettably there is no block feature on this website so I have to dignity your foolishness with a response. In developing custom creature mods, the animation bones are shared, the races may be changed for editing stats but still refer back to the original werewolf skeleton .nif and .hkx. It would simply be convenient if once the mod detects the nodes or a similar parent file that it starts the handling there

Posted (edited)
1 hour ago, pog champion said:

You do not have to be condescending

I am not responsible for things in your head. You are.

 

Quote

Regrettably there is no block feature on this website

Yes, there is. I just used it on you.

Edited by bitnuke
Posted

ABC 3.10 canine dongs seem to be a special kind of broken:

 

1. If given the don't rotate base setting, they just stop working alltogether. No physics, no collision, no animation. Just static.

 

2. They sometimes bug out and stop working in PPA (for ALL loaded canine actors). Yet ABC anims continue to work. And this gets baked into saves: Reloading won't fix it, but going through a loaddoor will fix it. I guess that's because loaddoors remove the penis-addon and actor, so upon return they get "fresh" dongs from CF.

 

3. The distributed configfile gives canine dongs a base-offset of [0,0,0]. This makes canine dongs look detached from the visual base in most anims. An offset of [0,3.6,0] fixes it for most anims, but then they look detached in a handful other anims. I guess the solution here would be the don't rotate base setting, but as said above, that makes them not work at all.

 

Yes, i read the FAQ in the OP. I'm not posting this as a bug-report, but just information for anyone in the process of fixing ABC dongs.

Posted
24 minutes ago, bitnuke said:

...information for anyone in the process of fixing ABC dongs.

 

You mean the PPA config? What's wrong with it?

Posted
1 hour ago, traison said:

Anyone figured out what DynamicBendProjection does?

 

HI, What's that? I'm reviewing the Toml and I can't find anything that mentions such a thing.

Posted
30 minutes ago, 深淵の神 said:

 

HI, What's that? I'm reviewing the Toml and I can't find anything that mentions such a thing.

 

bakafactory_abc.toml:~200, horse override.

DynamicBendProjection = true
DynamicBendProjectionMulti = 0.5

 

Posted (edited)

can we set this up to target a Skinned mesh , Tri shape like if created a skinned mesh with out any collison could i target it as the mod is now?? example in the photo image.png.082f122b19b635c8a2b23b8c5e96db72.pngimage.png.31cc01f8c05075c331051d63979c6105.png

 

then let body slide move it where ever it need to go.

 

Edited by Nobody00053
Posted
3 minutes ago, Nobody00053 said:

...then let body slide move it where ever it need to go.

 

No idea what you're trying to do, but BodySlide morphs have nothing to do with NiNodes. This mod moves NiNodes, RaceMenu handles BS morphs. 2 entirely different things. Adjust the scale values in the config files if you want to adjust opening sizes.

Posted (edited)
14 minutes ago, traison said:

 

No idea what you're trying to do, but BodySlide morphs have nothing to do with NiNodes. This mod moves NiNodes, RaceMenu handles BS morphs. 2 entirely different things. Adjust the scale values in the config files if you want to adjust opening sizes.

I'm trying to find a way to make this Obody compatible. This targets a offset from NInodes yes and you set an offset off of that Ninode it doesnt move the Ninode rather than target the offset of one , Im trying to figure out if i can target a skinned mesh from in the example picture will move with the with the body and stay in positions , and only have to make one offset not one per body type obody can throw at you thousands. in the picture about that is a skinned mesh i made as an example. it moves with the body and doesn't stretch. I meant to say as the Mod is Currently Im not going to ask or even suggest to redo the whole mod or anything like that.

Edited by Nobody00053
Posted
26 minutes ago, Nobody00053 said:

I'm trying to find a way to make this Obody compatible. This targets a offset from NInodes yes and you set an offset off of that Ninode it doesnt move the Ninode rather than target the offset of one , Im trying to figure out if i can target a skinned mesh from in the example picture will move with the with the body and stay in positions , and only have to make one offset not one per body type obody can throw at you thousands. in the picture about that is a skinned mesh i made as an example. it moves with the body and doesn't stretch. I meant to say as the Mod is Currently Im not going to ask or even suggest to redo the whole mod or anything like that.

 

Basically the same problem that CBPC would have then. I imagine this would require quite a lot of rethinking in PPA. FSMP could be used as an example perhaps, but that's just part of the problem as I see it.

Posted (edited)
11 hours ago, traison said:

 

You mean the PPA config? What's wrong with it?

Sorry for not being more precise. I meant the ABC meshes. Like most people, i only know the basics about meshes, so i can't help fixing those.

 

Completely different topic: What is the actual anchor for hands feature? I ask because if i enable the "bones" debug function to show the grip spheres - which are really useful by the way - i can get the spheres to perfectly follow the grip center in one animation. Then i switch to another anim and dongs clip through fingers again, 2 units off at least. Of course the orientation both the hand and dongs is different between anims, so if there's just one anchor per hand, i wonder that method is perhaps insufficient.

 

To be fair, the hands feature works more often than not, which is impressive. But about 25% of the time i end up disabling the feature for an animstage, and just doing offset corrections instead.

Edited by bitnuke
Posted

Is this face coming from this mod?  And if so how do I turn it off without affecting the rest of the mod?  It's conflicting with hentairim p+, causing double tongues, and doesn't work with lip sync.  Anyone see this and know what it is if not from this mod?

image.thumb.png.5f3a00ba30caad8ec185e3ca460278dd.png

Posted
5 minutes ago, no_way said:

Is this face coming from this mod?  And if so how do I turn it off without affecting the rest of the mod?  It's conflicting with hentairim p+, causing double tongues, and doesn't work with lip sync.  Anyone see this and know what it is if not from this mod?

image.thumb.png.5f3a00ba30caad8ec185e3ca460278dd.png

No it's must from other ahegao or tounge animation related mods

Posted

Sorry for making probably dumb questions:

 

What/where are framework flags for aply to context in custom facial expressions.

 

And how to lipsync, this is driving me crazy.

Posted (edited)
16 minutes ago, perrillo said:

What/where are framework flags for aply to context in custom facial expressions.

 

See the Targets and Contexts arrays of the "[FacialPreset]" section.

https://6988638dc34b0c19d253892b--comforting-moonbeam-c80c4b.netlify.app/expressions.html

 

16 minutes ago, perrillo said:

And how to lipsync...

 

Lipsync to what? This mod produces no spoken words or other such noises.

Edited by traison
Posted
2 hours ago, perrillo said:

And how to lipsync, this is driving me crazy.

 

If I understand your question correctly, I think you're referring to when the lips sync up with the moans, right? Sexlab Classic + OsmelMC Mod Tweaks, and Ostim all have this feature; how much you might like each one is a matter of personal taste. I suppose P+ also includes it, assuming it is the "successor" to Sexlab. Check the respective pages to find instructions on how to use that simple function

Posted
3 hours ago, traison said:

Lipsync to what? This mod produces no spoken words or other such noises.

 

Reading about config file i found this, its what i mean, i guess there´s a way to sync phoneme with sounds from SL escenes. 

 

Phoneme
Controls lip sync / mouth shape morphs (indices 0-15).

		[[FacialPreset.Effects]]
		Type = "Phoneme"
		Index = 1
		TargetValue = 1.0
		
Posted

This version is purely a WIP. Haven't had much time to work on it, but maybe people have some ideas or find bugs which will save me time. I tested the voice system only for like 10 minutes, so GL

Two features:

  • Hooks into CBPC and plays impulses on the butt during penetration. Really WIP, just wanted to see what it'd look like. 
  • Whole new highly customizable voice system. 

Voice system is pretty elaborate. I reverse engineered the .lip files from Skyrim so it actually reads them and accurately plays lip sync for the audio. Well.. As accurate as skyrim's lip files are. Pretty neat. 

 

The default voice config isn't very elaborate yet, I got bored. Also its going to clash with sexlab voice sounds because for whatever reason they don't just have a voice toggle per actor.

 

I generated the voices using  https://elevenlabs.io

Specifically the "Eve - Authentic, Energetic and Happy" voice.

 

I had AI write a detailed tutorial on the config. So might be a little inaccurate:

Spoiler
# ============================================================================
#  PenetratePhysics  Voice Configuration Reference
# ============================================================================
#
#  Place .toml files in:  Data/SKSE/Plugins/ppa-voice-configs/
#
#  FILES ARE LOADED ALPHABETICALLY by filename. If multiple files define
#  presets, they all merge into one pool. Presets are then sorted by Priority
#  (highest wins). Use filenames like "00-base.toml", "10-creature.toml" to
#  control load order when inheritance matters.
#
#  SOUND PATHS are relative to Skyrim's Data/ folder, e.g.:
#      "Sound/fx/PPA/moans/soft_01.wav"
#
#  LIP SYNC: For every sound file, the engine automatically looks for a
#  matching .lip file (same path, swapped extension). If found, it drives
#  facial phoneme animation in sync with the audio. No extra config needed 
#  just place the .lip next to the audio file.
#
#  WILDCARD PATHS: You can use filesystem wildcards in sound paths.
#      "Sound/fx/PPA/moans/*.wav"      loads every .wav in that folder
#      "Sound/fx/PPA/moans/soft_*.wav"  loads only files starting with soft_
#  This is the easiest way to add many sounds without listing each one.
# ============================================================================


# ── FILE INHERITANCE ────────────────────────────────────────────────────────
# "inherits" lets this file pull in presets from other files BEFORE its own.
# Paths are relative to the ppa-voice-configs/ directory.
# The engine tracks visited files, so circular references are safe (no loops).
# Parent presets load first, then this file's presets are appended after them.

inherits = [
    "00-base.toml",        # Load shared defaults first
    # "00-creatures.toml", # Uncomment to also inherit creature sounds
]


# ── GLOBAL SETTINGS ────────────────────────────────────────────────────────
# These tune the physics-to-audio pipeline. Each file can set these; the
# LAST file loaded wins (alphabetical order). Typically only set in one file.

[Settings]

# Overall volume multiplier applied to every voice sound. 0.0 = silent, 1.0 = full.
MasterVolume = 1.0

# How aggressively penetration velocity is smoothed over time.
# Lower = more smoothing (laggy but stable). Higher = more reactive.
# Range: 0.01.0. Default: 0.3
VelocitySmoothFactor = 0.3

# Minimum velocity (units/sec) for a movement to START being considered a thrust.
# Below this, the engine treats it as idle/repositioning. Default: 5.0
ThrustStartVelocity = 5.0

# During a thrust cycle the engine tracks insertion vs withdrawal. This is the
# minimum ratio of withdrawal-to-insertion distance required for the motion to
# count as a real "thrust" (not just a slow push). 0.65 = must pull back at
# least 65% of the insertion distance. Default: 0.65
ThrustMinWithdrawalRatio = 0.65

# The peak velocity a thrust must reach to fire an OnThrust trigger.
# Filters out slow, gentle motions. Default: 8.0
ThrustMinPeakVelocity = 8.0

# Minimum penetration depth for a thrust to be recognized. Keeps surface-level
# rubbing from triggering thrust sounds. Default: 0.5
ThrustMinDepth = 0.5


# ============================================================================
#  VOICE PRESETS
# ============================================================================
# Each [[VoicePreset]] is one "voice pack"  a set of sounds with conditions
# that determine when it plays. At runtime the engine evaluates every preset's
# predicates against the actor; the HIGHEST-PRIORITY matching preset wins.
#
# You can define as many [[VoicePreset]] blocks as you want per file.
# ============================================================================


# ── EXAMPLE 1: Basic female moans (lowest priority fallback) ───────────────

[[VoicePreset]]
Name = "Female Moans - Default"

# Priority determines which preset wins when multiple match.
# Higher number = checked first. Ties broken by load order.
Priority = 0

# Sound files to randomly pick from each time a sound plays.
# Supports wildcards  this loads every .wav in the folder.
Sounds = [
    "Sound/fx/PPA/female/moans/*.wav",
]

# ── Predicates: conditions that must ALL be true for this preset to activate.
[VoicePreset.Predicates]

# Sex filter. Values: 0 = Male, 1 = Female.
# This preset only applies to female actors.
Sex = [1]

# PenetratedSites  which body parts must be actively penetrated.
# Valid sites: "Mouth", "Vagina", "Anus", "HandL", "HandR", "Hands"
#
# Prefix with "!" to NEGATE (require the site is NOT penetrated):
#   "!Mouth" means "mouth must NOT be penetrated"
#
# Multiple non-negated sites are OR'd: ["Vagina", "Anus"] means
# "vagina OR anus must be penetrated". Each negated site is its own
# independent "must NOT" condition.
PenetratedSites = ["Vagina", "Anus"]

# ── Triggers: when/how a sound actually fires.
# You can have multiple triggers per preset  any one can fire a sound.

[[VoicePreset.Triggers]]
# "Interval" = fires on a timer.  "OnThrust" = fires per thrust.  "Random" = periodic dice roll.
Type = "Interval"

# Seconds between each sound (for Interval type).
Interval = 3.0


# ── EXAMPLE 2: Intense moans at deep penetration ──────────────────────────

[[VoicePreset]]
Name = "Female Moans - Deep"
Priority = 10   # Higher than default, so this wins when conditions match

Sounds = [
    "Sound/fx/PPA/female/moans_deep/deep_01.wav",
    "Sound/fx/PPA/female/moans_deep/deep_02.wav",
    "Sound/fx/PPA/female/moans_deep/deep_03.wav",
]

[VoicePreset.Predicates]
Sex = [1]
PenetratedSites = ["Vagina", "Anus"]

# Penetration depth range (game units). The sound only matches when the
# deepest active penetration falls within [Min, Max].
# Lets you layer soft sounds at shallow depth, loud at deep.
PenetrationDepthMin = 8.0
PenetrationDepthMax = 100.0   # Use a large max to mean "8 and above"

# Speed range (units/sec). Filters by how fast the penetration is moving.
# SpeedMin/SpeedMax = 0.0 means "no limit on that end".
SpeedMin = 10.0
SpeedMax = 0.0   # 0 = no upper limit

[[VoicePreset.Triggers]]
Type = "OnThrust"       # Fire once per detected thrust cycle
MinDelay = 0.5          # Minimum seconds between sounds (prevents machine-gunning)


# ── EXAMPLE 3: Oral-specific gagging sounds ───────────────────────────────

[[VoicePreset]]
Name = "Female Gag - Oral"
Priority = 20   # Highest so far  oral overrides generic moans

Sounds = [
    "Sound/fx/PPA/female/oral/*.wav",
]

[VoicePreset.Predicates]
Sex = [1]

# Require mouth penetration, and require vagina/anus are NOT penetrated
# (so this only fires during oral-only scenes).
PenetratedSites = ["Mouth", "!Vagina", "!Anus"]

PenetrationDepthMin = 3.0
PenetrationDepthMax = 100.0

[[VoicePreset.Triggers]]
Type = "OnThrust"
MinDelay = 0.3


# ── EXAMPLE 4: Male grunts ───────────────────────────────────────────────

[[VoicePreset]]
Name = "Male Grunts - Default"
Priority = 0

Sounds = [
    "Sound/fx/PPA/male/grunts/*.wav",
]

[VoicePreset.Predicates]
Sex = [0]   # Male actors

# PenetratingSites  the sites this actor is penetrating WITH (not being
# penetrated). Same site names, same negation rules.
PenetratingSites = ["Vagina", "Anus", "Mouth"]

[[VoicePreset.Triggers]]
Type = "OnThrust"
MinDelay = 1.0

# You can add a second trigger  e.g. also play randomly between thrusts.
[[VoicePreset.Triggers]]
Type = "Random"
Interval = 5.0           # Check every 5 seconds
RandomChance = 30.0      # 30% chance each check (0100)


# ── EXAMPLE 5: Race-specific preset ──────────────────────────────────────

[[VoicePreset]]
Name = "Khajiit Female - Purring"
Priority = 50   # Race-specific overrides generic

Sounds = [
    "Sound/fx/PPA/khajiit/purr_*.wav",
]

[VoicePreset.Predicates]
Sex = [1]

# Race filter  use "PluginName.esp|0xHexID" format.
# The part before | is the plugin name. The part after is the local FormID.
# For base Skyrim races, plugin is "Skyrim.esm".
# If you omit the plugin (just "0x12345"), it defaults to Skyrim.esm.
# Light plugins (.esl) are handled automatically.
Races = [
    "Skyrim.esm|0x023FE9",    # KhajiitRace
    "Skyrim.esm|0x023FEA",    # KhajiitRaceVampire
]

PenetratedSites = ["Vagina", "Anus"]

[[VoicePreset.Triggers]]
Type = "Interval"
Interval = 4.0


# ── EXAMPLE 6: Specific NPC by BaseID ────────────────────────────────────

[[VoicePreset]]
Name = "Serana Custom Voice"
Priority = 100   # Very high  NPC-specific always wins

Sounds = [
    "Sound/fx/PPA/custom/serana/*.wav",
]

[VoicePreset.Predicates]
# BaseIDs  target specific NPCs by their base form ID.
# Same "Plugin|0xHexID" format as Races.
BaseIDs = [
    "Dawnguard.esm|0x002B6C",   # Serana
]

[[VoicePreset.Triggers]]
Type = "OnThrust"
MinDelay = 0.8


# ── EXAMPLE 7: Girth-dependent sounds ───────────────────────────────────

[[VoicePreset]]
Name = "Female Moans - Large Girth"
Priority = 15

Sounds = [
    "Sound/fx/PPA/female/moans_stretch/*.wav",
]

[VoicePreset.Predicates]
Sex = [1]
PenetratedSites = ["Vagina", "Anus"]

# Penis girth range  filters by the girth value of the penetrating actor.
# Only matches when girth is between Min and Max.
PenisGirthMin = 1.5
PenisGirthMax = 10.0   # Large max = "1.5 and above"

[[VoicePreset.Triggers]]
Type = "Interval"
Interval = 2.5


# ── EXAMPLE 8: Context flags ─────────────────────────────────────────────
# Scene contexts are string tags describing the current scene. The available
# context strings are hardcoded:
#
#   "Vaginal"  "Anal"  "Oral"  "Aggressive"  "FemDom"  "Loving"
#   "Dirty"  "Boobjob"  "Handjob"  "Footjob"  "Masturbation"
#
# These are set by the animation framework based on the active animation.

[[VoicePreset]]
Name = "Female Moans - Aggressive"
Priority = 25

Sounds = [
    "Sound/fx/PPA/female/moans_rough/*.wav",
]

[VoicePreset.Predicates]
Sex = [1]
PenetratedSites = ["Vagina", "Anus"]

# Contexts  scene tags that must (or must not) be active.
# Prefix with "!" to negate. Each entry is checked independently:
#   "Aggressive"     scene MUST have the Aggressive flag
#   "!Loving"        scene must NOT have the Loving flag
Contexts = ["Aggressive", "!Loving"]

[[VoicePreset.Triggers]]
Type = "OnThrust"
MinDelay = 0.4


# ── EXAMPLE 9: Handjob-specific sounds ───────────────────────────────────

[[VoicePreset]]
Name = "Male Grunts - Handjob"
Priority = 5

Sounds = [
    "Sound/fx/PPA/male/handjob/*.wav",
]

[VoicePreset.Predicates]
Sex = [0]
# "Hands" is a combined site covering both hands.
# "HandL" / "HandR" target a specific hand.
# This matches whenever hands are involved, even alongside other sites.
# Add "!Vagina", "!Anus", etc. if you want handjob-ONLY scenes.
PenetratingSites = ["Hands"]

[[VoicePreset.Triggers]]
Type = "Random"
Interval = 3.0
RandomChance = 50.0


# ============================================================================
#  QUICK REFERENCE
# ============================================================================
#
#  PREDICATE FIELDS (all optional  omit any you don't need):
#  ┌──────────────────────┬────────────────────────────────────────────────┐
#   Field                 Description                                    
#  ├──────────────────────┼────────────────────────────────────────────────┤
#   Sex                   [0]=Male, [1]=Female                           
#   Races                 ["Plugin.esp|0xHexID", ...]                    
#   BaseIDs               ["Plugin.esp|0xHexID", ...]                    
#   PenetrationDepthMin   float  minimum depth to match                 
#   PenetrationDepthMax   float  maximum depth to match                 
#                           (must be > Min for the filter to activate)   
#   SpeedMin              float  minimum velocity to match              
#   SpeedMax              float  maximum velocity (0 = unlimited)       
#   PenisGirthMin         float  minimum girth to match                 
#   PenisGirthMax         float  maximum girth                          
#                           (must be > Min for the filter to activate)   
#   PenetratedSites       ["Vagina","Anus","Mouth","HandL","HandR",      
#                          "Hands"]  prefix "!" to negate               
#   PenetratingSites      same values as PenetratedSites                 
#   Contexts              Scene context flags (see list below).          
#                         Prefix "!" to negate.                          
#  └──────────────────────┴────────────────────────────────────────────────┘
#
#  AVAILABLE CONTEXT STRINGS:
#    "Vaginal"  "Anal"  "Oral"  "Aggressive"  "FemDom"  "Loving"
#    "Dirty"  "Boobjob"  "Handjob"  "Footjob"  "Masturbation"
#
#  TRIGGER TYPES:
#  ┌─────────────┬─────────────────────────────────────────────────────────┐
#   Type         Behavior                                                
#  ├─────────────┼─────────────────────────────────────────────────────────┤
#   "Interval"   Fires every N seconds (set via Interval field)          
#   "OnThrust"   Fires once per detected thrust cycle                    
#   "Random"     Every Interval seconds, rolls RandomChance% to fire     
#  └─────────────┴─────────────────────────────────────────────────────────┘
#  All triggers respect MinDelay (minimum gap between sounds).
#  If no triggers are specified, a default Interval trigger is added.
#
#  FORMID FORMAT:   "PluginName.esp|0x00ABCD"
#     If no plugin specified, defaults to Skyrim.esm.
#     Light plugins (.esl) are handled automatically.
#
#  DEPTH/GIRTH RANGE NOTE:
#     DepthMax must be strictly greater than DepthMin for the filter to
#     activate. Same for GirthMax > GirthMin. If Max <= Min, the predicate
#     is skipped (not created).
# ============================================================================

 

 

 

Not sure how I want to stop Sexlab voices yet. Probably will just intercept their papyrus calls. 

PPA - Penetration Physics v0.0.31.zip

Posted
17 minutes ago, asdt123123 said:

This version is purely a WIP. Haven't had much time to work on it, but maybe people have some ideas or find bugs which will save me time. I tested the voice system only for like 10 minutes, so GL

Two features:

  • Hooks into CBPC and plays impulses on the butt during penetration. Really WIP, just wanted to see what it'd look like. 
  • Whole new highly customizable voice system. 

 

WTF!, i was just asking for a feature i thinked already exists. Then i get a full update?

wow respect and thanks.

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   1 member

×
×
  • Create New...