Jump to content

Recommended Posts

Posted (edited)

I am having a weird issue with my expressions. I will say that they generally work and there technically is a solution, but it doesn't actually fix the issue. 
So I have lip sync enabled during SexLab scenes. I prefer to have this enabled instead of a flat expression with the voice playing over it. The characters' mouths will open during the voice sfx as intended, However, right before the mouth should close at the end of the lip synced audio, the mouth will briefly open widely before actually closing. It will only do this for about a quarter of a second but it really bothers me. 
I am able to disable lip sync and keep the expressions, but, again, I just don't like how it looks without it. 


Here are my mods for expressions (this order does not necessarily reflect my load order):
- Expressive Facial Animation - Female Edition
- Expressive Facegen Morphs SE

- MFG fix

- Random Emotions (sexlab compatible)

My current setup was transferred over from an older device. I am pretty sure this issue occurred back on the old device as well, but I thought I'd finally ask and try to get a solution.
I don't believe I have any other mods that should interfere with faces/expressions. If I need to remove or change some mods,  or if you have any idea for a solution, please let me know. Thanks!

ezgif-4-e4a6bc0830.gif

Edited by Frognaf
added gif example
Posted

One of the first things I did after installing SL v163 beta 9 was rewrite the MoveLips function. According to my notes it was overly complex and didn't actually work. Anyhow the point is, it could be intended behavior but I can't tell since like I said I rewrote it. If it's not intended behavior then I'd start by making sure nothing overwrites sslBaseVoice.pex.

  • 1 month later...
Posted
On 6/1/2023 at 2:22 PM, traison said:

One of the first things I did after installing SL v163 beta 9 was rewrite the MoveLips function. According to my notes it was overly complex and didn't actually work. Anyhow the point is, it could be intended behavior but I can't tell since like I said I rewrote it. If it's not intended behavior then I'd start by making sure nothing overwrites sslBaseVoice.pex.

Any chance you might share your version?

Posted
10 minutes ago, GroBro69 said:

Any chance you might share your version?

 

sslBaseVoice.psc:32. Careful if you replace this function in a newer version of SL as it may have changed - I'm still on beta 9.

 

Function MoveLips(Actor actorRef, Sound soundRef = none, float strength = 1.0) Global
    ; 5 Oct 2021
    ; This function was overly complex, messy and didn't actually work.
    
    If (!actorRef)
        return
    EndIf
    
    bool hasMfg = SexLabUtil.GetConfig().HasMFGFix
    int p = 1 ; PHO_BIG_AAH
    float oldP = MfgConsoleFunc.GetPhonemeModifier(actorRef, 0, p)
    float refP = oldP
    
    If (refP > (1.0 - (0.2 * strength)))
        refP = (1.0 - (0.2 * strength))
    EndIf
    
    ;int minP = ((refP - (0.1 * strength)) * 100) As int
    ;int maxP = ((refP + (0.3 * strength)) * 100) As int
    int maxP = (refP As int) + 25
    
    If (maxP < 75)
        maxP = 75
    ElseIf (maxP > 100)
        maxP = 100
    EndIf
    
    ;If (minP < 0)
    ;    minP = 0
    ;ElseIf (minP > 98)
    ;    minP = 98
    ;EndIf
    
    ;If ((maxP - minP) < 2)
    ;    maxP = minP + 2
    ;EndIf
    
    ; Close mouth
    ;If (hasMfg)
    ;    MfgConsoleFunc.SetPhonemeModifier(actorRef, 0, p, minP)
    ;Else
    ;    actorRef.SetExpressionPhoneme(p, (minP As float) * 0.01)
    ;EndIf
    
    ;Utility.Wait(0.1)
    
    ; Play sound and open mouth
    If (hasMfg)
        MfgConsoleFunc.SetPhonemeModifier(actorRef, 0, p, maxP)
    Else
        actorRef.SetExpressionPhoneme(p, (maxP As float) * 0.01)
    EndIf
    
    If (soundRef != none)
        soundRef.Play(actorRef)
    EndIf
    
    Utility.Wait(1.8)
    
    ; Restore mouth
    If (hasMfg)
        MfgConsoleFunc.SetPhonemeModifier(actorRef, 0, p, (oldP * 100) As int)
    Else
        actorRef.SetExpressionPhoneme(p, oldP As float)
    EndIf
    
    Utility.Wait(0.2)
EndFunction

 

  • 2 years later...

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