Welcome
Ladies and Gents:

These forums are now closed and registration disabled.

Please join us at our new forum on Proboards. Our hope is that these new forums are more stable, provide more and better features, and allow continuation of the project forums in a safer, more secure, long term environment.

me3explorer.proboards.com

--The ME3Explorer Team

FaceFXAnimSet

Semi-technical area to discuss content modding research and discoveries. Technical information necessary for coding tools should be posted in Technical Research on the Coders board.

Re: FaceFXAnimSet

Postby Deager » 02 Jun 2016, 12:23

I woke up early, again. I don't have it in me to do the testing right now but here's my thinking...which I maybe said earlier in my ramblings.

1. My hunch is that each set of ascending numbers is for each object in Unknown 1. I know, I said that already, but...
2. With that last test above we can see everything freak out when I made everything 15.00001 instead of something around 4 seconds which is when most lines end.
3. When I have it in me, I'm going to see what might work. I'll show some info below of my thoughts. I'm not really asking anyone to do this work, I'm just throwing it out there in case someone reads this and yes, "Deager, I have an idea," or, "No, you're probably wrong because of (whatever.)"

Example would be this mess. It's actually 53 lines for m_EE (assuming that's correct) but here are 5 as an example. These are the actual lines from object 1173, line 21, Unknown List 2 if you want to see it in the BioD_CitApt_Thane_LOC_INT.pcc file.

0: -0.01539077 ; 0 ; 0 ; 0
10: 0.4929427 ; 0.1716916 ; -5.662656 ; -2.289223
20: 1.401275 ; 0 ; 0 ; 0
30: 2.117941 ; 0 ; 0 ; 0
40: 3.294958 ; 0.08271223 ; 0 ; 0
50: 3.867939 ; 0 ; 0 ; 0

So, the actual break I'm going for is around 2.5 second probably, but for this example we'll pretend I want Broshep to stop moving his mouth after his first line which we'll say finishes at line 30. The possibilities I see are.

0: -0.01539077 ; 0 ; 0 ; 0
10: 0.4929427 ; 0.1716916 ; -5.662656 ; -2.289223
20: 1.401275 ; 0 ; 0 ; 0
30: 2.117941 ; 0 ; 0 ; 0
40: 3.867939 ; 0 ; 0 ; 0 or maybe 3.867939 ; 0.08271223 ; 0 ; 0
50: 3.867939 ; 0 ; 0 ; 0

or

0: -10.00001 ; 0 ; 0 ; 0
10: -0.01539077 ; 0 ; 0 ; 0 or maybe -0.01539077 ; 0.1716916 ; -5.662656 ; -2.289223
20: 0.4929427 ; 0.1716916 ; -5.662656 ; -2.289223 which the maybe above means maybe 0.4929427 ; 0 ; 0 ; 0
30: 1.401275 ; 0 ; 0 ; 0
40: 2.117941 ; 0 ; 0 ; 0
50: 3.867939 ; 0 ; 0 ; 0

and there are probably other possibilities I'm missing. But I think I need to test the longer line to really see the difference for sure. That'll be a lot of lines to change, a few hundred at least...maybe 250 or 300, but it's the only way I can see to test it at this point.

Hopefully I'll have time later today to test it out. If this works, it would mean that, in theory, we actually could control lip syncs if we can figure out what all the values from Unknown 2's lines mean (why are some with 3 zeros at the end and other 2 or none?) and how Unknown 3 relates to all of this. Because at that point, we would understand exactly how the game is calling for the position of the mouth and head and all that at given times. When we get good, we can actually start replacing the values in Unknown 1 with mouth positions we need to make the lips move properly.

I'm not suggesting this is easy or that all lines should be lip synced. But I am saying if a mod is being made and there's one or two lines that really need some help...it might be possible to do it.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFXAnimSet

Postby FemShep » 02 Jun 2016, 14:24

Ahh the multiple edited 4 post in a row brain dumping threads. Reminds me of when I used to hack on the battle network series and had no idea what I was doing. Such good memories. Keep it up.
Image
ME3Tweaks has modding guides, tools, forums for mods, a modding wiki, and ModMaker, an online mod creation tool.
ME3 Mod Manager, the civilized way of installing and managing ME3 mods.
ME3Tweaks Facebook Page

FemShep has been thanked by:
User avatar
FemShep
Modder
 
Posts: 1101
Joined: 18 Oct 2012, 20:48
Has thanked: 42 time
Have thanks: 76 time

Re: FaceFXAnimSet

Postby Deager » 03 Jun 2016, 15:58

Since this mind dump can provide entertainment, I have an idea I'll be trying this weekend when I get a chance. Last night was a wash working late at my job.

I'm going with zeroing out all m_* items which have to be the lip movement. I'll confirm that is correct. Then, I'll put back the settings for m_Open as I suspect it will do as advertised. At that point, finally, I'll have one lip sync related item I can easily watch and I don't have to manipulate all items at the same time.

Yeah, I know, I should have thought of that testing method way long but it's been a bit crazy these past 3 days. I still have no idea how it all works but now the testing should have a good base going forward. :)
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFXAnimSet

Postby giftfish » 03 Jun 2016, 16:25

@deager -- I'm a *very* patient person and there's no way I could spend the time brute-forcing these things like you do, lol.
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: FaceFXAnimSet

Postby FemShep » 03 Jun 2016, 20:02

When I used to mod battle network 6 I would try the wall of FFs method. When the game crashed I would narrow the scope until it didn't crash and then tried to figure out why. Granted we had saved states and a memory viewer of like 200KB vs 500MB and like 3 minutes of loading time... all about finding the pattern.
Last edited by FemShep on 03 Jun 2016, 22:18, edited 1 time in total.
Image
ME3Tweaks has modding guides, tools, forums for mods, a modding wiki, and ModMaker, an online mod creation tool.
ME3 Mod Manager, the civilized way of installing and managing ME3 mods.
ME3Tweaks Facebook Page
User avatar
FemShep
Modder
 
Posts: 1101
Joined: 18 Oct 2012, 20:48
Has thanked: 42 time
Have thanks: 76 time

Re: FaceFXAnimSet

Postby Deager » 03 Jun 2016, 20:42

FemShep wrote:When I used to mod battle network 6 I would try the wall of FFs method. When the game crashed I would narrow the scape until it didn't crash and then tried to figure out why. Granted we had saved rates and a memory viewer of like 200KB vs 500MB and like 3 minutes of loading time... all about finding the pattern.


And one thing that's so different now as opposed to waaay back when I did version .1 of CEM is not just the toolset but the mod as DLC method because it would take forever to recompile the Default.sfar for every check when I moving a camera for one shot on Liara. Now, mod as DLC, I also have an SSD over an HDD, plus the toolset features means I'm willing to put in the time.

What's funny is I got a D in my Pascal programming class at university. Not that I've proven much above that yet, but things are starting to click in hex a bit more for me. ;)
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFXAnimSet

Postby Deager » 03 Jun 2016, 23:10

Almost cracked lip movement. This is test is with just Jaw+ active.



What I know right now is this, and I had been suspicious of this for a while now.

Set of 4 values in Unknown 2
Set 1, time
Set 2, amount of movement
Set 3 and 4 I don't know yet, but I suspect they still relate to movement. Yet I still don't know why they're always paired up.

For the test above, I simply (with HxD to make it faster) left all Set 1 info and starting at line 94, which is time 2.702585 , I got right of all second, third and fourth spots.

It's doable. I have been called to dinner. Be back later I'm sure. :D
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFXAnimSet

Postby Deager » 04 Jun 2016, 00:53

Closer. I'll get the audio later and scene length.

It appears when sets 3 and 4 are used, it's more movement. I still have to mess with them to figure it out. A head movement would be the easiest to check but...
I can't control head animations at the moment. I'll go back through my mind dump here to see what does seem to control them. But the time trick with the lips is not working.
Unknown 3 is still that, unknown. I think it still is related to Unknown 1 but replacing values in Unknown 3 is not changing anything right now.

User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFXAnimSet

Postby Deager » 04 Jun 2016, 07:23

Real close. I don't like the appearance of Brosheps' "nod." At the moment, I got rid of the head yaw and all that by removing the 3rd track key in object 452, Gesture -- Player.

The other thing I could try is shortening it before Broshep nods and making sure Femshep's mouth closes in time. Or I could mess around with something else which might control the head movement so that I can leave them not so static.



I'm still thinking about how this could be useful for others. One thing which comes to mind is if you are taking a line from ME3 you might be able to copy the data...to a point, to the pcc. The problem is, it would be necessary to remap Unknown 1 and 3 and also the odds of the same amount of objects or enough of them for the lip sync seems slim. However, I haven't looked at the main objects controlling these but perhaps the entire thing could be moved to the end of the file so that there's more freedom to mess around with numbers in the line.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFXAnimSet

Postby giftfish » 04 Jun 2016, 15:27

Deager wrote:I'm still thinking about how this could be useful for others. One thing which comes to mind is if you are taking a line from ME3 you might be able to copy the data...to a point, to the pcc. The problem is, it would be necessary to remap Unknown 1 and 3 and also the odds of the same amount of objects or enough of them for the lip sync seems slim. However, I haven't looked at the main objects controlling these but perhaps the entire thing could be moved to the end of the file so that there's more freedom to mess around with numbers in the line.

This would indeed be useful. Either for entire lines or parts of lines. If we could make that happen, it might be a decent enough solution to actually having the ability to autogen new lipsync a la FaceFX.
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

PreviousNext

Return to Modders' Research

Who is online

Users browsing this forum: No registered users and 1 guest

suspicion-preferred