Jump to content

A different tack on my question about creating expressions


Recommended Posts

Posted (edited)

In my "last installment", I asked if there was a way to export expressions from Racemenu (since it has a convenient set of sliders by which we can see our changes in ~realtime, on our character's in game face/head.

 

I discovered that yes, in a way I could, by making said expression changes using the Expressions tab, then saving a preset (for each customized expression, eg, anger, happy, sad, etc... replacements for all the general expression names used in Skyrim) and/or parsing the expression data from them. partial win. I can save expression data...of a sort...

thanks @belegost

 

edit: damn, just read that back...  too easy to misinterpret... To be more explicit, I don't mean altering the Racemenu slider sets, I mean the expressions used in game when display "Combat Anger" is issued by some script/whatever. (my vague understanding is that a set of canned mfgfix values are fed to the face model, producing said "expression", and another set of values for happy, or sad or....)

 

However, in its followup reply from another respondent, I also learned that doing so would not ultimately benefit me in producing what I intended, since the data isn't presented in a way that's useful for the purpose... so ultimately, no, this avenue is a dead end.

thanks @traison

 

oh well... onto a new approach.

 

Is there a tool that allows creation of expressions from a known head model, and if so what is it? Or more generally, how do people create expressions replacer mods in the first place? Color me stupid, I'm just not up to speed on the how, or what "hammer" to use

 

Edited by anjenthedog
clairty... hopefully
Posted
1 hour ago, anjenthedog said:

However, in its followup reply from another respondent, I also learned that doing so would not ultimately benefit me in producing what I intended, since the data isn't presented in a way that's useful for the purpose... so ultimately, no, this avenue is a dead end.

 

One important distiction to make here is that in your previous thread you mentioned using 3rd party expression sliders. This changes the situation from the perspective of Papyrus.

 

1 hour ago, anjenthedog said:

Is there a tool that allows creation of expressions from a known head model, and if so what is it? Or more generally, how do people create expressions replacer mods in the first place? Color me stupid, I'm just not up to speed on the how, or what "hammer" to use

 

As long as standard vanilla game expressions are used, these can be used from Papyrus. So the hammer I use (or used) for making expressions was RaceMenu. Once I had an interesting expression, I noted down slider values and wrote them in Papyrus.

 

As mentioned above, this situation changes when additional sliders are added. The Papyrus functions SetPhonemeModifier and SetExpressionOverride are limited to predefined phoneme and expression ids. DIALOGUE_PUZZLED for instance is 5, and maps to an obj file hidden inside one of the tri files attached to each actors head mesh.

 

Now speaking of tri files. That 3rd party mod you downloaded to provide additional sliders in RM implements its morphs with a tri file which RM conveniently loads for you. This tri file however is not loaded outside of RM. My understanding is that the tri files are used to translate vertices in RM, they're not needed to keep vertices in their positions when outside of RM. The reason why some tri files are loaded outside of RM and others are not, is because your character still needs facial expressions in the game world - eyes blink, eyebrows move, mouth moves.

 

So, how to get the 3rd party tri file loaded while outside of RM? That's unfortunately the part I haven't managed to get working. I've tried attaching the tri file to the head mesh, but I recall this broke expressions entirely (or caused some other issues). More recently I tried merging obj files from another tri file, into a tri file that's already getting loaded. This didn't break anything, but I wasn't able to figure out how to adjust this morph from Papyrus. I was using NiOverride.SetBodyMorph for this, perhaps this is not the correct function. At no point in this merging process was I able to specify a name for my morph, so its also quite likely I was just guessing the wrong morph names.

Posted (edited)

Ah... if I understand you, so I *could generate them...

 

Quote

As long as standard vanilla game expressions are used, these can be used from Papyrus. So the hammer I use (or used) for making expressions was RaceMenu. Once I had an interesting expression, I noted down slider values and wrote them in Papyrus.

 

but I'd be limited to only those sliders in the vanilla expressions set. I'd be ok with that. (even just the stock sliders is a rich palette to tweak an expression by adding other elements (lie Ee or Ah, etc) to its description that might not otherwise be employed in same magnitude).

 

Seems like @belegost suggestion about saving racemenu presets with the expressions set, might help too, if I can ~easily parse out the expressions info from the saved jslot(s) (ie with a static expression change added) and convert it into the proper format. There appear to be at least *some expressions stored as ?hashes of arrays? in "simple" text jsons, (SL for instance), rather than as opaque-to-me tri files, although expressions provided by managers like Conditional Expressions, are either 'hidden' inside its esp or maybe generated programmatically on-demand idk.

 

So... it (racemenu) kinda can I guess then?(at least for those programs that can use json expression data)

 

edit: ps> just not that cross eyed thing... ;)

 

Edited by anjenthedog
last edit, I promise
Posted (edited)

What you are discussing right now is way above my pay grade. My suggestion was a completely off-hand remark I made only because I know that expression info is being saved in preset files. I have no idea about their structure or editing. I am glad it helped, but please do not tag me anymore, because I can't contribute anything of value.

Edited by belegost
Posted

no worries. Just acknowledging that you reminded me I could use the contained data. I'll refrain from using the @ <insert name> auto-tagging when referencing you in the future.

Posted (edited)

idk. IMO,  anything that helps to clarify or expand on expressions is welcome, "solved" or not.

 

thanks. I'll give it a look

 

edit: ironically, I have that installed already. I just blindly installed it because some mod or its installation instructions suggested/"told me to"

Edited by anjenthedog

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