anjenthedog Posted September 3, 2024 Posted September 3, 2024 (edited) sorry for the long-winded title. couldn't think of how to condense it and still make sense. Anyway, as the title asks, we know from ABBA and other mods, that some 'morphing' values can be changed dynamically. How about all the other variables we can change via Racemenu? Is it jsut a matter of knowing the correct "name" for a given slider (for a given body type....)? (ex: PregnancyBelly, NippleSize, etc...) edit: reason I ask is that I have a few mods that allow the player to specify which values should be modified by way of their management. I'm just not sure if anyone ever considered values other than butt boobs hips etc. (body values), nor do I have any idea what the appropriate names would be for facial values to even experiment blindly (I already discovered that just condensing Racemenu slider names for body parts doesn't work in most cases, so there must be something more going on with the "correct" names) Edited September 3, 2024 by anjenthedog sigh... typos... my bane... did I mention f-ing typos?
traison Posted September 3, 2024 Posted September 3, 2024 So basically what you're asking is if NiOverride has a way to morph eyebrow height and lip thickness? Outside of expressions and phonemed I'd say no. There doesn't appear to be any sign of non-CBBE and non-XPMSE sliders in the racemenu scripts I have. The interface is most likely between Scaleform and the game engine right now. 1
anjenthedog Posted September 3, 2024 Author Posted September 3, 2024 yes, among others (I thought of it because of eyes actually. Eye dilation (simulated, for skooma), color, size... but yeah lips thickness or mouth width, whatever... as well as other elements like skeleton adjustments, Maybe involve disease with dynamic morphs... Pipe dreams are fun while they last anyway
Andy14 Posted September 3, 2024 Posted September 3, 2024 15 minutes ago, anjenthedog said: yes, among others (I thought of it because of eyes actually. Eye dilation (simulated, for skooma), color, size... but yeah lips thickness or mouth width, whatever... as well as other elements like skeleton adjustments, Maybe involve disease with dynamic morphs... Pipe dreams are fun while they last anyway A morph is a morph. It doesn't matter if it's CBBE or other bodies or if it's for the foot, hands or head. It's related to the actor and not to a specific MEsh or Nif. So yes, it should work if they're morphs. For example, to set the values: nioverride.SetBodyMorph(akTarget as objectreference, "here the name of your morph", NIO_KEY, values from 0.00 to 1.00) 0.00 = 0% 1.00 =100% Negative values possible NIO_KEY = Unique string key (e.g. your mod name) To clear the values: nioverride.ClearBodyMorph(akTarget as objectreference, "here the name of your morph" NIO_KEY) 1
anjenthedog Posted September 3, 2024 Author Posted September 3, 2024 (edited) "A morph is a morph" << that's what I'd think too. Well, I *think they're morphs. At least within the loose frame of what I consider morphing, anyway. It might have a far more specific meaning in skyrim idk. (as in, only for body elements, and only from this prescribed list of body elements) So, if true (a morph is a morph), then that just leaves me to figure out what the "correct" node names are, in order to populate the custom variable name input fields in SL Disparity or other mods that offer player input (direct rather than a selection menu) is there a method to generating the "correct" names from nifskope or racemenu preset data? (or a list of known names) Edited September 3, 2024 by anjenthedog
traison Posted September 3, 2024 Posted September 3, 2024 If Andy14 is correct then I'd expect to see morph names in the racemenu swf replacer for the "RaceSex Menu" -menu. I think I have a flash decompiler around here somewhere, guess I go poke around a bit.
Andy14 Posted September 3, 2024 Posted September 3, 2024 16 minutes ago, traison said: If Andy14 is correct then I'd expect to see morph names in the racemenu swf replacer for the "RaceSex Menu" -menu. I think I have a flash decompiler around here somewhere, guess I go poke around a bit. Believe me, it's true.😉 I have implemented my entire body system (my own body) with it. Whether it's high heels - feet (including stockings) adapt to the shoe and are not replaced. Corsets influence the waist and bars influence the cleavage. And all without replacing the body, the hands or the feet. As in real life, the body is only dressed and not replaced.
traison Posted September 3, 2024 Posted September 3, 2024 (edited) 4 minutes ago, Andy14 said: Believe me, it's true.😉 I have implemented my entire body system (my own body) with it. Whether it's high heels - feet (including stockings) adapt to the shoe and are not replaced. Corsets influence the waist and bars influence the cleavage. And all without replacing the body, the hands or the feet. As in real life, the body is only dressed and not replaced. You're talking solely about body morphs there; those added by BodySlide and RaceMenu. The title of this thread is talking about heads and other things. I suspect what the OP is asking is whether or not you can make a character have a huge nose with NiOverride. I have never seen anyone utilize any morphs outside the BS/RM ecosystem from Papyrus. As far as I know it can't be done. Still haven't found anything in the flash files. Only seen what looked like calls to SKSE to get slider data in the RaceMenu replacement menu. Currently looking at the vanilla menu, hoping it will be simpler. Flash (IMHO) is a mess. Edited September 3, 2024 by traison
Andy14 Posted September 3, 2024 Posted September 3, 2024 37 minutes ago, anjenthedog said: "A morph is a morph" << that's what I'd think too. Well, I *think they're morphs. At least within the loose frame of what I consider morphing, anyway. It might have a far more specific meaning in skyrim idk. (as in, only for body elements, and only from this prescribed list of body elements) So, if true (a morph is a morph), then that just leaves me to figure out what the "correct" node names are, in order to populate the custom variable name input fields in SL Disparity or other mods that offer player input (direct rather than a selection menu) is there a method to generating the "correct" names from nifskope or racemenu preset data? (or a list of known names) The term morph is the same in Skyrim as in Blender or 3ds. A movement of vertices on the x, y and z axes. So a mesh deformation that is not based on the skin (i.e. bones) You could try loading the tri for head in outfitstudio. Then you should have access to the morphs and the names. There are also race-specific morphs. PS: I don't think pupil sizes are supported...
Andy14 Posted September 3, 2024 Posted September 3, 2024 (edited) 9 minutes ago, traison said: You're talking solely about body morphs there; those added by BodySlide and RaceMenu. The title of this thread is talking about heads and other things. I suspect what the OP is asking is whether or not you can make a character have a huge nose with NiOverride. I have never seen anyone utilize any morphs outside the BS/RM ecosystem from Papyrus. As far as I know it can't be done. Still haven't found anything in the flash files. Only seen what looked like calls to SKSE to get slider data in the RaceMenu replacement menu. Currently looking at the vanilla menu, hoping it will be simpler. Flash (IMHO) is a mess. I already wrote in the first post that I am NOT only talking about body mesh. The function is in the Papyrus script (nioverride.psc) and not in Flash. Edited September 3, 2024 by Andy14
anjenthedog Posted September 3, 2024 Author Posted September 3, 2024 1 minute ago, Andy14 said: You could try loading the tri for head in outfitstudio. Then you should have access to the morphs and the names. There are also race-specific morphs. PS: I don't think pupil sizes are supported... Thanks for the pointer to head/facial node names. Cool, I didn't realize you could load tri files into any 'user-level' app. Been wondering about that for a while too. two birds one stone answer Yeah I didn't expect to get direct dilation adjustments. For pupil size, I'd use eye selection and some pre-morphed dilation variants (already did that a while ago on a lark after encountering a skooma dealer and laughing about stoners, but never figured out how to do anything "immersive" with them)
traison Posted September 3, 2024 Posted September 3, 2024 (edited) 42 minutes ago, Andy14 said: You could try loading the tri for head in outfitstudio. Alright, cool idea, didn't know this worked. However I still can't make my character's nose big with those. The sliders I get are named literally the same as expressions and phonemes. What's the morph name for the "Nose Tip Width" -slider? Edit: The Nose Tip Width slider's name is in the translation files as: $ECE_NoseTipWidth Nose Tip Width However the tools I'm using to search with find no mention of $ECE_NoseTipWidth (or part of it) in any file. Not in the decompiled swf files and not in any RaceMenu file as far as Notepad++ can see. I realize this could be a simple encoding issue though so I may need a more dedicated string searching utility. strings.exe from Sysinternals might work. Trying that next. Edit again: Oh wait I may have found something. There's multiple head tri files... Edited September 3, 2024 by traison
Andy14 Posted September 3, 2024 Posted September 3, 2024 17 minutes ago, traison said: Alright, cool idea, didn't know this worked. However I still can't make my character's nose big with those. The sliders I get are named literally the same as expressions and phonemes. What's the morph name for the "Nose Tip Width" -slider? Edit: The Nose Tip Width slider's name is in the translation files as: $ECE_NoseTipWidth Nose Tip Width However the tools I'm using to search with find no mention of $ECE_NoseTipWidth (or part of it) in any file. Not in the decompiled swf files and not in any RaceMenu file as far as Notepad++ can see. I realize this could be a simple encoding issue though so I may need a more dedicated string searching utility. strings.exe from Sysinternals might work. Trying that next. The function is in the Papyrus script - nioverride.psc
traison Posted September 3, 2024 Posted September 3, 2024 (edited) Found more sliders. There's multiple head tri files. This one for instance has a nose width slider (it's not the nosetipwidth slider Edit: it might be the tip width slider): meshes\actors\character\facegenmorphs\morphs\ece\eceheadfemale.tri So based on this I suspect there's even more of these. Whether these work directly from Papyrus or not I do not know, never tried. I however will soon, as I've been wanting my character to go cross-eyed during scenes so that goes on the todo list again. If you want to test the nose width morph, this should be its name: "ece_NoseWide" Edited September 3, 2024 by traison 1
anjenthedog Posted September 3, 2024 Author Posted September 3, 2024 (edited) Hmm. I see. "head" values are all handled-by/condensed-to the expression sliders in the tri file apparently. (look right, look up, happy, sad, surprised, etc) while I was at it, I also looked at some of the other tri files now I know how to examine their contents. Other files seem to hold the values I'm looking for. (example doesn't show them just shows the breadth of adjustments available... might even be useful for static custom facial asymmetry adjustments) Spoiler Edited September 3, 2024 by anjenthedog
Yinkle Posted September 3, 2024 Posted September 3, 2024 Interesting thread! FYI ABBA has .json files for changing the sliders that you want it to manipulate. Could be useful for testing 1
Andy14 Posted September 3, 2024 Posted September 3, 2024 8 minutes ago, anjenthedog said: Hmm. I see. "head" values are all handled-by/condensed-to the expression sliders in the tri file apparently. (look right, look up, happy, sad, surprised, etc) while I was at it, I also looked at some of the other tri files now I know how to examine their contents. Other files seem to hold the values I'm looking for. Reveal hidden contents Just because the morphs are already in use, they can still be used by other mods in addition. There is a key (NIO_KEY) in the script function for this. This allows the morph to be used without affecting other mods. For example, you can use the Belly Morph in Racemenu and in a pregnancy mod if a different key is used in each case. In LE, the key for Racemenu is "RSMLegacy". 1
traison Posted September 3, 2024 Posted September 3, 2024 (edited) 13 minutes ago, Andy14 said: Just because the morphs are already in use, they can still be used by other mods in addition. Yes, sort of. You need to take into consideration the setting in skee64.ini: ; Determines key merging method (when there are two body morph keys for the same morph) ; 0 - Additive ; 1 - Averaged ; 2 - Maximum iBodyMorphMode=0 It is not 0 by default. I changed mine to 0, because it allows me to do a part of what FHU and/or SLIF do, except without the bloat of Papyrus. My own "SLIF" and mods depend on this setting being correct. You may get funny values results if its something other than 0. Edit: Also, thank you @Andy14. If these morphs are indeed usable from Papyrus then this whole thing opens up a new world in expressions and who knows what else. Edited September 3, 2024 by traison 1
anjenthedog Posted September 3, 2024 Author Posted September 3, 2024 33 minutes ago, Andy14 said: The function is in the Papyrus script - nioverride.psc thanks. (and tg I archive everything, including now "obsolete" mods like NiOverride)... At first look, that's gonna take me some time to chew through, since my programming skills are more rust than metal at this point, but I'll give it a go.
anjenthedog Posted September 3, 2024 Author Posted September 3, 2024 BTW @traison perhaps you know, I get multiplicative, additive, and averaged, but what is maximum? The largest contributor wins?
traison Posted September 3, 2024 Posted September 3, 2024 37 minutes ago, anjenthedog said: The largest contributor wins? I would assume so. 1
traison Posted September 3, 2024 Posted September 3, 2024 (edited) Here's a list of all morph names extracted from all RaceMenu 0.4.16 tri files. Use notepad or something to search it, there's a lot of them. Edit: Not seeing my Iris Spread morph in here though. Probably still missing something, or it has a different name Edit again: Added a list of only morphs, no duplicates. More useful if you're only interested in what morps exist, rather than where they are. (its the smaller one, obviously) all_racemenu_morphs_extracted_from_tri_files.txt all_racemenu_morphs_extracted_from_tri_files_uniques_only.txt Edited September 3, 2024 by traison
traison Posted September 3, 2024 Posted September 3, 2024 These morphs can't be used from Papyrus unfortunately. No effect on characters face from using the code here: NiOverride.SetBodyMorph(target, "RM_NoseLong", "newmorph.test", 1.0) NiOverride.SetBodyMorph(target, "CME_EyesBig", "newmorph.test", 1.0) NiOverride.SetBodyMorph(target, "RM_LipMoveOut", "newmorph.test", 1.0) NiOverride.SetBodyMorph(target, "EXPR_Aah", "newmorph.test", 1.0) NiOverride.SetBodyMorph(target, "BreastsNewSH", "newmorph.test", 1.0) NiOverride.UpdateModelWeight(target) Seems like this was a waste of time.
Andy14 Posted September 4, 2024 Posted September 4, 2024 On 9/3/2024 at 10:35 PM, traison said: These morphs can't be used from Papyrus unfortunately. No effect on characters face from using the code here: NiOverride.SetBodyMorph(target, "RM_NoseLong", "newmorph.test", 1.0) NiOverride.SetBodyMorph(target, "CME_EyesBig", "newmorph.test", 1.0) NiOverride.SetBodyMorph(target, "RM_LipMoveOut", "newmorph.test", 1.0) NiOverride.SetBodyMorph(target, "EXPR_Aah", "newmorph.test", 1.0) NiOverride.SetBodyMorph(target, "BreastsNewSH", "newmorph.test", 1.0) NiOverride.UpdateModelWeight(target) Seems like this was a waste of time. How is Papyrus supposed to use Morphs if they aren't even available? The Tri must be loaded in the actor at the time. All you need to do is enter the Tri as NiStringExtra in a Nif. For example, in body.nif etc.
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