Predator-RJ Posted April 19, 2025 Author Posted April 19, 2025 44 minutes ago, ram_os said: I think I may have found the issue with the NPCs in the new version of this mod. After adding bones, the order of the NiNodes changes. The NPC's NiNode ends up at the end of the hierarchy (after BSFaceGenNiNodeSkinned), which results in the face not appearing. Changing the order in NifSkope fixes the NPC issue. Honestly, I didn’t think this could matter. Im looking in to, the transfer thing is secondary for me, so was added later as a simple test i did and worked fine, but yeah, now may need to udpate the video too, the order on the nif, matters if there is textures sets and so on apllied, and can be a bit of problem now : (
asdt123123 Posted April 19, 2025 Posted April 19, 2025 5 hours ago, Predator-RJ said: Hi, i dont, know nothing about coding or the game scripts XD ( i make outfits, models, animations, animated models and smp things), althoug a lot of people alredy said that it would be easy and so on, and still no one found or made somthing, because like i said before, and will explain again here: The reset needs to be after the mouth is complete "OPEN" with bigahh, or ahh phoneme, animations use one or other or both(or more), and this part is trick since animations have diferente timings, and stages, people said to put a delay, there is animations that are fast, and there ones that the mouth is only supposed to open on stage 2 or 3 that is like minutes after, so anything made has to be constantly looking for the "phoneme" call, and on top of that wait like 2s after the phoneme is called, to make sure the mouth is open since the game can be slow, and then do de reset smp. Could just check the mouth on the game tick. Never used Sexlab's API before but I'm sure it wouldn't be difficult to verify whether an actual animation is playing and whether it involves BJ's I will write something later if I end up testing/using this mod.
AureumCustos Posted April 20, 2025 Posted April 20, 2025 Hey so mod works fine save for the active smp collisions. With creatures in particular I do have ABC for creatures and smp physics though is there some setting to enable collision i dont exactly know how collisions work is it just that both parts have smp physics and the they'll collide is there more i have to do.
asdt123123 Posted April 20, 2025 Posted April 20, 2025 (edited) Made a SKSE plugin to automatically execute "smp reset" when the mouth is open. Contains lots of debug, and will need a lot of tweaking I'm sure. So expect something to pop up in your ~ console every 1 second. It's for figuring out proper thresholds, bugs, and whatnot Source is a bit messy, but here it is: https://pastebin.com/mKTPQ7VQ Lastest: https://pastebin.com/bHnxFkcj Source contains a lot of unused code due to me testing a plethora of different methods. Figured I'd just leave it in case someone needs it in the future. Todo: Use Sexlab API to determine whether the player is currently involved in a 2+ person animation (Can also determine using Skyrim code too). I got no experience with Sexlab API, so I don't even know if they expose anything. Tweaks. I did basic testing and assumptions for values/expressions. This is required: https://www.nexusmods.com/skyrimspecialedition/mods/32444 Should work with all versions? Only tested with SE MIT license as always. Take, modify, redistribute the code. I don't care about anything not even credit. Changelog: v.1.1.3: Instead of calling "smp reset", force skyrim to re-skin. Seems to work? Not tested on VR version... v1.1: Disabled console debug logging Only activates during active sexlab animations now Installation: Put MouthOpenThing.dll into your skse plugin folder "\Data\SKSE\Plugins" MouthOpenThing.zip MouthOpenThing 1.1.3.zip Edited August 12, 2025 by asdt123123 Update 18
Predator-RJ Posted April 20, 2025 Author Posted April 20, 2025 47 minutes ago, asdt123123 said: Made a SKSE plugin to automatically execute "smp reset" when the mouth is open. Contains lots of debug, and will need a lot of tweaking I'm sure. So expect something to pop up in your ~ console every 1 second. It's for figuring out proper thresholds, bugs, and whatnot Source is a bit messy, but here it is: https://pastebin.com/fcWrekg8 Todo: Use Sexlab API to determine whether the player is currently involved in a 2+ person animation (Can also determine using Skyrim code too). I got no experience with Sexlab API, so I don't even know if they expose anything. Tweaks. I did basic testing and assumptions for values/expressions. This is required: https://www.nexusmods.com/skyrimspecialedition/mods/32444 Should work with all versions? Only tested with SE MIT license as always. Take, modify, redistribute the code. I don't care about anything not even credit. MouthOpenThing.zip 308.1 kB · 1 download My god, this is working "flawlessly" every time and i on the latest AE version 1170, Thank you very much for the plugin!!! adding this to main page NOW, again thanks! ps: i see the console is getting a lot of debug, but it works!
Predator-RJ Posted April 20, 2025 Author Posted April 20, 2025 10 hours ago, AureumCustos said: Hey so mod works fine save for the active smp collisions. With creatures in particular I do have ABC for creatures and smp physics though is there some setting to enable collision i dont exactly know how collisions work is it just that both parts have smp physics and the they'll collide is there more i have to do. Hi, ABC works fine, it is what everyone uses, me too (althoug i edited some collisions that had too much margin to my likeness), and for humans a good combo is "TNG + HIMBO", himbo you need the SMP addon on the downloads on the HImbo page, and then in body slide Build the correct SMP collision, then you can download my patch here in this mod page, and all should work pretty well ; )
Fraying9981 Posted April 20, 2025 Posted April 20, 2025 59 minutes ago, Predator-RJ said: My god, this is working "flawlessly" every time and i on the latest AE version 1170, Thank you very much for the plugin!!! adding this to main page NOW, again thanks! ps: i see the console is getting a lot of debug, but it works! what is the difference with the mfg + smp + open wider combo?
Predator-RJ Posted April 20, 2025 Author Posted April 20, 2025 1 minute ago, Fraying9981 said: what is the difference with the mfg + smp + open wider combo? Hi, MFG is a base mod to other mods, so leave it on your game, now about the plugin, this one worked every time, as the SL triger one dont work all the times, so disabled the SL triggers, and try the plugin ; )
Fraying9981 Posted April 20, 2025 Posted April 20, 2025 1 hour ago, Predator-RJ said: Hi, MFG is a base mod to other mods, so leave it on your game, now about the plugin, this one worked every time, as the SL triger one dont work all the times, so disabled the SL triggers, and try the plugin ; ) thanks. i was referring to the mfg.json + smp.json + openwider.json combo so i understand I dont need these json triggers anymore. I will try the plugin
asdt123123 Posted April 20, 2025 Posted April 20, 2025 2 hours ago, Predator-RJ said: My god, this is working "flawlessly" every time and i on the latest AE version 1170, Thank you very much for the plugin!!! adding this to main page NOW, again thanks! ps: i see the console is getting a lot of debug, but it works! Should "smp reset" be ran again AFTER the animation is concluded and the mouth is closed? I'll post another update later today that only works during active animations aswell.
Predator-RJ Posted April 20, 2025 Author Posted April 20, 2025 1 hour ago, asdt123123 said: Should "smp reset" be ran again AFTER the animation is concluded and the mouth is closed? I'll post another update later today that only works during active animations aswell. Hi, hmmm i dont think is "needeed" because well after the animation is over, there isnt much going on, but if you can add that would be a good addition just to kind of "finalize and reset" as it was before, with the smp vertex postion for the closed mouth, so i think would be a good thing in the end ! and again very nice person, thanks for the plugin!
blabber98 Posted April 21, 2025 Posted April 21, 2025 (edited) So the mod works and everything, but it doesn't look as good as in the gifs/images. Is there any optimisation I need to do? The lower lip seems to be colliding too far away from the TNG shaft so it looks like its hanging down instead of sucking among other issues. I have tried changing TNG sizes and the SexLab OpenMouth expression but nothing helps. See attached images. Spoiler Any advice helpful 🙏 Edited April 21, 2025 by blabber98
NymphoElf Posted April 21, 2025 Posted April 21, 2025 20 hours ago, asdt123123 said: Put MouthOpenThing.dll into your skse plugin folder "\Data\SKSE\Plugins" If you put the file in its appropriate folder structure before making the ZIP, then people can just add it to their mod manager and not have to worry about manually placing files. IE: Find some other random folder (or make a new, empty one) then make a "Data\SKSE\Plugins" folder structure, then place a copy of the DLL in the new plugins folder, then go back up to the Data folder you just made and ZIP from there.
Predator-RJ Posted April 21, 2025 Author Posted April 21, 2025 6 hours ago, blabber98 said: So the mod works and everything, but it doesn't look as good as in the gifs/images. Is there any optimisation I need to do? The lower lip seems to be colliding too far away from the TNG shaft so it looks like its hanging down instead of sucking among other issues. I have tried changing TNG sizes and the SexLab OpenMouth expression but nothing helps. See attached images. Reveal hidden contents Any advice helpful 🙏 Hi, there is, like i said in the decription SMP has a bug with vertex positions, and need a reset when the mouth is open, now there is a plugin avaliable that does it automatically made by "asdt123123", on the msgs above, so better use that ; )
Predator-RJ Posted April 21, 2025 Author Posted April 21, 2025 (edited) On 4/20/2025 at 12:38 PM, asdt123123 said: Made a SKSE plugin to automatically execute "smp reset" when the mouth is open. Contains lots of debug, and will need a lot of tweaking I'm sure. So expect something to pop up in your ~ console every 1 second. It's for figuring out proper thresholds, bugs, and whatnot Source is a bit messy, but here it is: https://pastebin.com/mKTPQ7VQ Todo: Use Sexlab API to determine whether the player is currently involved in a 2+ person animation (Can also determine using Skyrim code too). I got no experience with Sexlab API, so I don't even know if they expose anything. Tweaks. I did basic testing and assumptions for values/expressions. This is required: https://www.nexusmods.com/skyrimspecialedition/mods/32444 Should work with all versions? Only tested with SE MIT license as always. Take, modify, redistribute the code. I don't care about anything not even credit. Changelog: v1.1: Disabled console debug logging Only activates during active sexlab animations now Installation: Put MouthOpenThing.dll into your skse plugin folder "\Data\SKSE\Plugins" MouthOpenThing.zip 308.1 kB · 111 downloads MouthOpenThing v1.1.zip 312.08 kB · 92 downloads Hey, thanks for the update! but for me, is somewhat like the sl trigger one now, it works "sometimes", like if the animation loads fast, and the first stage has the mouth open, it will probably work, if not, it wont work, -the first 1.0, works everytime Edited April 21, 2025 by Predator-RJ
blabber98 Posted April 21, 2025 Posted April 21, 2025 54 minutes ago, Predator-RJ said: Hi, there is, like i said in the decription SMP has a bug with vertex positions, and need a reset when the mouth is open, now there is a plugin avaliable that does it automatically made by "asdt123123", on the msgs above, so better use that ; ) Ah fair enough, didn't know this is what that issue looked like, and the SMP reset command fixes the issue (should have tried this). I DID have asdt123123's .dll installed in my plugins folder when taking the screenshots though, which is why I expected the issue to be something else.
HannoJojo Posted April 21, 2025 Posted April 21, 2025 (edited) Seeing the RaceMenu sliders, I was wondering, if anyone here knows if it would be possible to adjust the morphs with a papyrus script? I was thinking the slider / morphs would make a decent addon for Bimbos of Skyrim, but despite having to look into it a bit for one of my scripts, I'm rather clueless about the RaceMenu internal stuff. Perhaps I'm missing some existing and obvious function, but the ones I tried so far did not yield any proper result: ActorBase.SetFaceMorph does not seem to pick up custom (face)morphs (or its at an index higher than what I checked, and I thought checking the indexes 1- 1000 would be rather generous), NiOverride.SetMorphValue however only works for body morphs. If theres no function yet, does anyone have an idea whether this could be solved with a SKSE plugin, or would this require editing RaceMenu itself as it is accessing its internal data (I guess)? Edited April 21, 2025 by HannoJojo 1
Predator-RJ Posted April 21, 2025 Author Posted April 21, 2025 29 minutes ago, blabber98 said: Ah fair enough, didn't know this is what that issue looked like, and the SMP reset command fixes the issue (should have tried this). I DID have asdt123123's .dll installed in my plugins folder when taking the screenshots though, which is why I expected the issue to be something else. No problem, the 1.0 one works everytime for me, the new 1.1 only sometimes, so if you added the 1.1, try the 1.0
asdt123123 Posted April 21, 2025 Posted April 21, 2025 2 hours ago, Predator-RJ said: Hey, thanks for the update! but for me, is somewhat like the sl trigger one now, it works "sometimes", like if the animation loads fast, and the first stage has the mouth open, it will probably work, if not, it wont work, -the first 1.0, works everytime Try the re-uploaded version.
Predator-RJ Posted April 21, 2025 Author Posted April 21, 2025 28 minutes ago, asdt123123 said: Try the re-uploaded version. Hi, thanks again! tried it with a lot of anims, as far i can tell, it is the same, fast anims it will work, now some that are longer, and kind of "slow" to start, and the actors align more then 1 time(creature, or more then 2 actor anims), it will not work mostly, for me it looks like it activated "too soon" the reset command, where the actor was still "idle" standing, and not on the first stage position i think (with this im starting to think that, it has to active the smp reset, when the actor is with the mouth open, and in position, not standing idle waitning to star the anim) , hard to point out exactly ...
asdt123123 Posted April 21, 2025 Posted April 21, 2025 (edited) 4 hours ago, Predator-RJ said: Hi, thanks again! tried it with a lot of anims, as far i can tell, it is the same, fast anims it will work, now some that are longer, and kind of "slow" to start, and the actors align more then 1 time(creature, or more then 2 actor anims), it will not work mostly, for me it looks like it activated "too soon" the reset command, where the actor was still "idle" standing, and not on the first stage position i think (with this im starting to think that, it has to active the smp reset, when the actor is with the mouth open, and in position, not standing idle waitning to star the anim) , hard to point out exactly ... Very weird. All the new version does is check if they're currently in an animation and if their mouth is open. Maybe the animatingfaction is delayed or inaccurate. But I guess if 1.0 works without issues, then no need to verify we're in an animation Edit: For anyone interested in the problem: FaceGen morphs (expressions, phonemes) are continuous adjustments to vertex positions based on morph targets and sliders. They don't seem to trigger the game's SkinAllGeometry function again after the head is initially loaded and skinned. The bone influences remain the same; only the vertex base positions are being interpolated. Which is why the fix is to call that "smp reset" command after the mouth is open. Actually you have to execute that command every time the mouth expression is adjusted if you want accurate collision. Problem is, the command is a bit heavy and is visually unappealing. I've tried to force an update by flagging things dirty, but it doesn't help. Calling reloadMeshes is an alternative fix: https://github.com/DaymareOn/hdtSMP64/blob/test/hdtSMP64/ActorManager.cpp#L189 Same thing they do for when race menu is closed or "smp reset" is executed Or you could call this event https://github.com/DaymareOn/hdtSMP64/blob/test/hdtSMP64/ActorManager.cpp#L189 through hdt::g_skinAllHeadGeometryEventDispatcher.dispatch(event); Edited April 22, 2025 by asdt123123 3
Cannaisseur Posted April 22, 2025 Posted April 22, 2025 I know we've discussed this earlier in this thread, and we found some workarounds, but I really want to take a closer look at applying this to all female NPCs. Specifically wenches. I've already looked at the video in the download section on how to add it to specific characters, and am able to do it. But doing this for the 399 wench faces would be insanely time consuming if done 1 by 1. So the question becomes: How can we convert large batches of facegens to this head? I'm strictly talking about NPCs that already are using high poly heads, but they don't have the bones/weights. I feel like there is some way to do it: Regenerating the facegen in the CK a specific way? Tweaking something in the High Poly Head.esp itself? A script in SSEEdit to apply the new head to NPCs of your choice. I feel like there's a way to do it, I just don't know how to implement it. Does anyone else have any ideas? 1
Predator-RJ Posted April 22, 2025 Author Posted April 22, 2025 23 hours ago, asdt123123 said: Very weird. All the new version does is check if they're currently in an animation and if their mouth is open. Maybe the animatingfaction is delayed or inaccurate. But I guess if 1.0 works without issues, then no need to verify we're in an animation Edit: For anyone interested in the problem: FaceGen morphs (expressions, phonemes) are continuous adjustments to vertex positions based on morph targets and sliders. They don't seem to trigger the game's SkinAllGeometry function again after the head is initially loaded and skinned. The bone influences remain the same; only the vertex base positions are being interpolated. Which is why the fix is to call that "smp reset" command after the mouth is open. Actually you have to execute that command every time the mouth expression is adjusted if you want accurate collision. Problem is, the command is a bit heavy and is visually unappealing. I've tried to force an update by flagging things dirty, but it doesn't help. Calling reloadMeshes is an alternative fix: https://github.com/DaymareOn/hdtSMP64/blob/test/hdtSMP64/ActorManager.cpp#L189 Same thing they do for when race menu is closed or "smp reset" is executed Or you could call this event https://github.com/DaymareOn/hdtSMP64/blob/test/hdtSMP64/ActorManager.cpp#L189 through hdt::g_skinAllHeadGeometryEventDispatcher.dispatch(event); Hi, thanks, i will foward this on the FSMP server, and talk with day, to see if something can be updated but i may ask then, why the 1.0 one works fine, it is doing the reset multiple times then? the only big "problem" with the 1.0, was the console hit, cant use or see list of stuff there since the continuos debug
asdt123123 Posted April 23, 2025 Posted April 23, 2025 (edited) 4 hours ago, Predator-RJ said: Hi, thanks, i will foward this on the FSMP server, and talk with day, to see if something can be updated but i may ask then, why the 1.0 one works fine, it is doing the reset multiple times then? the only big "problem" with the 1.0, was the console hit, cant use or see list of stuff there since the continuos debug Not sure? My guess is the sexlab animation faction is a bit delayed? Maybe it doesn't always apply? Reason I added the animation check is to prevent SMP RESET from getting called during maybe like a combat shout or when the player's mouth is open due to some other issue. I'll re-upload the old version without spamming debug later Edit: Ok I uploaded a new version that doesn't use "smp reset" at all. It'll attempt to get Skyrim to re-skin the face, which will get SMP to update it. In my limited testing, it seems to work perfectly with zero visual cue that it happened. That way it's far more lightweight, can't cause other issues as easily, and would open this fix up to being a lot more aggressive to insure the mouth is always the proper shape (Future update if needed). Btw you can see logs at:\My Games\Skyrim Special Edition\SKSE\MouthTrigger.log Here's that actual bit of code in case others can think of potential issues it may cause: RE::NiUpdateData updateData; updateData.time = 0.0f; updateData.flags = RE::NiUpdateData::Flag::kDirty; //Potentially helps propagate transforms? faceNode->UpdateWorldData(&updateData); // This is what actually seems to force an update faceNode->FixSkinInstances(playerSkeleton, true); Edited April 23, 2025 by asdt123123 2
Predator-RJ Posted April 23, 2025 Author Posted April 23, 2025 (edited) 3 hours ago, asdt123123 said: Not sure? My guess is the sexlab animation faction is a bit delayed? Maybe it doesn't always apply? Reason I added the animation check is to prevent SMP RESET from getting called during maybe like a combat shout or when the player's mouth is open due to some other issue. I'll re-upload the old version without spamming debug later Edit: Ok I uploaded a new version that doesn't use "smp reset" at all. It'll attempt to get Skyrim to re-skin the face, which will get SMP to update it. In my limited testing, it seems to work perfectly with zero visual cue that it happened. That way it's far more lightweight, can't cause other issues as easily, and would open this fix up to being a lot more aggressive to insure the mouth is always the proper shape (Future update if needed). Btw you can see logs at:\My Games\Skyrim Special Edition\SKSE\MouthTrigger.log Here's that actual bit of code in case others can think of potential issues it may cause: RE::NiUpdateData updateData; updateData.time = 0.0f; updateData.flags = RE::NiUpdateData::Flag::kDirty; //Potentially helps propagate transforms? faceNode->UpdateWorldData(&updateData); // This is what actually seems to force an update faceNode->FixSkinInstances(playerSkeleton, true); Hi, yes it does work!!! you possible found the "fix" for SMP (if can be applied to the body too), since it is not only this mod, body collisions also suffer from the same thing, if you load the game, and in the game some other mod like ABBA morphs the character or Npcs, the collisions meshes for SMP will be like the head was, with incorrect positions, so i dont know, you can talk with daydreaming on the FSMP server, he is busy with IRL stuff usually, so might take some time until he responds, but he is very nice to talk with, i posted there a pic from here with your previous comment. (FSMP page, discord invite is in the midle - https://www.nexusmods.com/skyrimspecialedition/mods/57339)... i posted your comment in the Dev channel. i tested some animations in my game and it mostly worked like 85%, so many thanks for this my friend !!! again some creature animations you have to change to stage 1 then 2 then back to 1, and it will work, so Sexlab delay problem i will assume as you explained, but will note one thing, i dont have the LOG, in the Skse folder, all logs are there, even MFG, but the one from the "mouththing" was not there, checked multiple times 🤔... Edited April 23, 2025 by Predator-RJ gramar mistakes, English is not my native language.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now