Jump to content

FEEL - Facial Expression Editor (Limited *pfft*) [FONV]


Recommended Posts

View File

- UPDATE -

 

09/04/2017
V.4 - Added a correction on the code during the initialization.

 

23/03/2017
V.3 - REQUISITES CHANGED, check description. Introduced new check version with JIP and corrected small typo on player selection with R

 

27/02/2017
V.2 - Added a full reset. Now when you press DEL to reset the values, it should also reset your face.

 

- DESCRIPTION -
An in-game facial expression editor, if you used something like that in Skyrim then you're already used to it.

 

You open an Edit mode, it goes in TFC (Fly cam), an UI with the list of phonemes appears on the screen, you choose a phoneme, you choose a value, you apply it, your character's face will change.

 

So why "limited"? because after a while that you are using it, you probably will start wondering "what if..." "can you..." - well, the answer is 99% of times No. Just because what was viable was already made. And I'll add, "unfortunately", because it could have given a lot of pretty opportunities. However, while I can't change the game engine's behaviours, I can still change the "mechanics", the way I wrote the editor, if it helps the user's experience, so please drop me a line with a feedback if you have an idea to share.

 

- KEYBIND -
All the keys can be changed via MCM. Here's the default ones:
I - Enters / Exits the Edit mode, to edit the facial expression. It also calls the TFC (flycam) if you're not on it.
Up / Down arrow - browses through the list of the phonemes
Left / Right arrow - decreases / increases the value of the highlighted phoneme
Left Shift - Hold it to speed up the previous actions
Return (the main one, not the one on the numpad) - Applies the highlighted value
Del - Zeroes all the values (which doesn't mean it resets your facial expression v.2 should reset the face too)
Page Up - Changes category / page .There are 3 categories: phonemes, modifiers, expressions
Numpad numbers 1-6 - They allow to store a preset. To STORE a new preset, you must HOLD the key for a couple of seconds, until you hear a sound and a message on top right of the screen will warn you. To LOAD a preset, you must TAP the key and you'll hear a different sound, and a message on top right of the screen will warn you.
R - cycles through the targets in the list (see later). The selected npc will have a blue cloud on it for a couple of seconds.

 

- USAGE -
I will describe the usage with an example, so you can understand part of the limits by yourself.
- I press "I" and I go in edit mode, to change the player's expression.
- I put my freecam in front of the face, I modify the Aah phoneme value, I press Return to apply it.
- I don't like it, so I increase that value, I press again Return to apply it.
- I move on another phoneme, i.e. Big Aah, I select a value, I press Enter to apply it.
- Now I want to see how the Big Aah would show without the Aah, so I go back on the Aah, I select a zero value, I press Return to apply it.
- I proceed in this way until I find a good expression, then I HOLD the Numpad 1 for a couple of seconds, until I hear the sound and the message tells me that it's stored.
- Now I want to make a new expression, I press Del to zero all the values, BUT FIRST I memorize which ones I changed, i.e. Aah, Big Aah and Ooh, because I will have to go over them one by one and apply the zero pressing Return and since v.2 this should also reset my facial expression.
...
- Now I stored some expressions. I prepare myself to make a screenshot, I load back the first stored expression TAPPING Numpad 1, the sound effect and the message on top right will tell me that it's loaded, but the face won't be changed - to do that, I will have to browse through every single modified phoneme and press Return to apply them.

 

- TARGETING -
If you simply press I, you'll go in Edit mode and the player will be the only target.
If you press I while having a NPC on your crosshair, you'll go in Edit mode with both the player and that npc as viable targets.
If you press I and you are using Sexout, it will load Sexout's targets (actor A, B and C) in the list of viable targets - UNTESTED, please report issues.

 

- PROBLEMS / LIMITS -
- If you Apply two values too fast, the second one will reset the previous. The necessary time for the game engine to apply it, is about a second.
- If you Apply many values too fast, even if only the last one will be applied, every command will still be queued and will need (number of operations x 1 second) seconds to end up the queue. Queue is persistent through saves, so don't think to trick it loading a save, you just need to wait ;)
- A facial expression is PERSISTENT THROUGH SAVES: if you have a open mouth, you'll have to close it. If you don't, and you simply load a previous game, you still will see the mouth open.
- A facial expression is NOT PERSISTENT if you exit the game or go back to main menu. This also clues you something important - whatever you do, you can't do any real damage, don't be scared.
- It shouldn't clash with any mods that use Special Idles, so it should be compatible with them (i.e. Sexout)
- It should clash with FAFF and any other mods that introduce a reset of facial expressions inside an animgroup (i.e. I can think to... uhm... animated chems or something like that). If they give you troubles, remove the added animgroups (like, mtidle etc.)
- There could be some cases where some specific expressions don't apply - you could need a different skeleton, let's talk about it.
- My ARES doesn't morph Eee phoneme. Didn't inspect too much the reason.

 

- REQUIREMENTS -
- Last NVSE
- JIP NVSE
- MCM (optional but strongly recommended)
- JIP UIO

 

- INSTALLATION -
Extract the content under Data and activate the plugin, or use your favourite mod manager.

 

- PERMISSIONS -
I guess it's a final version, you can do whatever you want with it, if it's non-commercial / doesn't involve money.

 

- CREDITS -
hlp for NVSE
Pelinor for MCM
Doctasax for uMCM
JIP for UIO and JIP NVSE
panthercom for testing


  • Submitter
  • Submitted
    02/19/2017
  • Category
  • Requires
    NVSE, Lutana, UIO, MCM(optional)

 

Link to comment
  • 2 weeks later...
  • 3 weeks later...

What if... can you... combine this with your headtracker to mirror the expression or disposition of the headtracked NPC to the player? Like in Oblivion.

I use something like that in Skyrim and I love it, I couldn't play without it.

 

When I figured how to mold facial expressions in this (enough dynamic) way, at first I though to make a small framework, to handle all the feelings of npcs / player based by various situations. The first that could have used it was Behaviours itself, but in general any mod that would have required to show a feeling could have made a call to this framework, saying "player is happy/sad/etc.", and the framework was handling it.

But I realized that it's far too much "clunky", game engine side, to handle it during a common game. It can work fine, or it can cause a lot of troubles, based by your load order and what happens, and after few minutes of game you could find your character looking like this:

https://upload.wikimedia.org/wikipedia/it/d/d6/Igor_Frankenstein_Junior.JPG

 

Sure, nothing is persistent, you quit the game and everything is fine, but... not sure if it deserves an effort. In general the best deal I found with myself was making an editor and leave the player to choose how to "destroy" his own face :)

 

Saw the new mod without seams, it's wonderful (as always).

Link to comment

Aww... it would be really cool addition, the player character seems so lifeless.

 

Obviously, I don't know the internals of how the game, headtracking, and expressions work, but what if... can you... not provide a framework that other mods can call, and make it simple, like:

 

Acquire headtracked NPC id.

Look up disposition

Add facial expression

Reset facial expression as soon as player looks away or acquires a new NPC.

 

Something simple that naturally occurs in the flow of the game contrasted to going into a menu to make a face pose which breaks the flow. But again, what do I know, there are probably millions of corner cases that are a pain to deal with !!!

Link to comment

 

Doable, to some extent.

 

I didn't fully explain my concerns on the previous post, on why I decided to not do it. There's many factors involved, they will lead to not making a smooth result, but this all could be workarounded and it could be perfectly doable IF VANILLA EXPRESSIONS WERE BETTER, instead than almost notice them changing them in game, even using max values they are far too much subtle... does this clue you something? if not, let me add: did you know we can import / export TRI files on Blender 2.49 with a custom script? I guess this is enough to clue you :)

Link to comment

 

I understood you were emotionless when you refused my offer about BodySlide! *just kidding*

 

You got the point. And as you said, it's not a super easy subject. For example, at first sight I could think to narrow eyes a bit, when happy, but then again it's all a try and test in game, since you can't really judge from an imported / unrendered / empty-socket-eyes / not-shadowed / baldy head on Blender. Or maybe it could be easier make a comparison with Skyrim ones, or... creating a decent smile with the above editor, make a screenshot and try to redo it on Blender. Don't know, it's one of these things that require time and patience, I lack both.

Link to comment

Skyrim... Now you're moving the goal posts!

 

Fallout is a bleak game set in a bleak universe. The morph 'MoodSad' makes the NPCs look sad to the point of pathetic.

Don't know if Sunny Smiles is supposed to be happy while she first talks to me but I think I saw increased teeth clipping with the new Happy morph. Changing default morphs might lead to undesired results like teeth clipping while NPCs talk.

 

I'm thinking though, is it possible to remap the emotions for the player character only to make the emotions more noticeable? For instance:

 

MoodAngry --> CombatAnger or MoodCocky

MoodSad --> Pained

 

Additionally, we can make new emotions and stick them at the end of the tri file for only the player character to use. So morph 'VeryHappy' can be number 51, etc.

 

 

Link to comment

I saw increased teeth clipping with the new Happy morph.

Yes that's what I'm going to expect with some vanilla faces. But I'm expecting it also with the player on certain values of facegen, it's common and I think it could be acceptable, IF not exagerated in the number of involved npcs (i.e. if it deforms a single npc that already had a peculiar face, at that point a patch for him could be a solution).

for the player character only

I'd say custom head, custom race is the only way to go that I could think about.

Additionally, we can make new emotions and stick them at the end of the tri file for only the player character to use. So morph 'VeryHappy' can be number 51, etc.

This seems a very nice solution, however I never tried. I expect it to work if I'd use them in an animation, but I'm not fully sure it will work with this mod, it depends if the function was limited on the accepted values. I'd say it deserves a try, at least a single added animation and let's see what happens.
Link to comment

 

What if... can you... combine this with your headtracker to mirror the expression or disposition of the headtracked NPC to the player? Like in Oblivion.

I use something like that in Skyrim and I love it, I couldn't play without it.

 

When I figured how to mold facial expressions in this (enough dynamic) way, at first I though to make a small framework, to handle all the feelings of npcs / player based by various situations. The first that could have used it was Behaviours itself, but in general any mod that would have required to show a feeling could have made a call to this framework, saying "player is happy/sad/etc.", and the framework was handling it.

But I realized that it's far too much "clunky", game engine side, to handle it during a common game. It can work fine, or it can cause a lot of troubles, based by your load order and what happens, and after few minutes of game you could find your character looking like this:

https://upload.wikimedia.org/wikipedia/it/d/d6/Igor_Frankenstein_Junior.JPG

 

Sure, nothing is persistent, you quit the game and everything is fine, but... not sure if it deserves an effort. In general the best deal I found with myself was making an editor and leave the player to choose how to "destroy" his own face :)

 

Saw the new mod without seams, it's wonderful (as always).

 

 

Are you talking about facial morphs in blender ?? from what i remember gerra was creating a script to allow users to import head.tri file with head mesh withing blender you could then edit or create new facial morrphs but i think he never finished the script.

Link to comment

Are you talking about facial morphs in blender ?? from what i remember gerra was creating a script to allow users to import head.tri file with head mesh withing blender you could then edit or create new facial morrphs but i think he never finished the script.

A script to import / export TRI on blender is already avaiable, it was published on nexus a couple of years ago, more or less

Link to comment
  • 3 weeks later...

I hear you. There's a reason why (proper) makeup makes so wondrous results.

And in the same way better normals help a lot with textures, sure.

Still, I'm not fully sure it's the only solution to adopt to solve the problem, if the base mesh is already bad.

 

But it shouldn't be hard to test it, if you want. You can easily see it using the above editor, not on the common phonemes but press PageUp a couple of times until you reach the "feelings" (happy, sad etc.), try to use only them, singularly, one by one. Go from 0 to 50 to 100 and see how it changes, see if it's viable only changing the texture or it's still too subtle.

 

If it's viable, I could script what you need and you could package it with that custom texture, seems fair enough

Link to comment

I keep getting an issue where all the UI lines get squashed together after restarting the game. A clean save fixes it. Possibly related to changing load order, but I'm not sure.

 

attachicon.gifsquashed.jpg

 

Thank you, I had another report but I never managed to reproduce it, I didn't receive response after the migration so I thought it was ok. I can think why it does so, I uploaded a new version.

Link to comment
  • 1 month later...
  • 2 months later...

 Hi A.J.

 

 I ran into the same problem as Odessa, with the overlapping text, so I installed the most recent version,

and ran into a few problems that I managed to fix (or ignore).

 

 The first problem is that the JIP extender DOES NOT get installed to the correct location, even though

the author says you can use a mod manager to do so. So it will have to be manually installed if you use FOMM.

 

 Once I got JIP installed and started the game, FEEL triggered a warning about having the wrong version. I was

using the latest version, so your version detection system may not be accounting for upgrades. I ignored the

warning, and FEEL seems to be working just fine.

 

 

Link to comment
  • 3 months later...

Hello, I received the same report some times. Unfortunately was something very random and I couldn't narrow down what is the real issue - for some people like me, it works, for other people it doesn't. It's white or black, zero or one.

Due to have almost no interaction with any other mod, I couldn't even make hypotesis of what could cause it but then I had to stop modding so I couldn't continue to inspect this issue. Probably one day I'll take it back and double check everything, because today for what I (don't) know there could even be some drastic structural changes on the scripting part itself.

 

My suggestion to everyone until I won't come back - try it, if it doesn't work simply uninstall it. It's a small script, it stays out of troubles.

Merry XMas to anyone! :smile:

Link to comment
  • 1 year 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...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use