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

FaceFX and AnimCut$!&&

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.

FaceFX and AnimCut$!&&

Postby Deager » 12 Aug 2016, 17:15

So, I have begun to "enjoy" AnimCutScenes and have confirmed that giftfish is more insane dedicated to modding than I thought. Ditto for anybody else working with AnimCutScenes.

The purpose of this research is to figure out how to control lip sync / mouth movement in AnimCutScenes. Here's what I'm seeing in the AnimCutScene and what I'm not seeing.

Not finding:

So far, I'm not seeing exact values, of any kind, from the LOC_INT file in the base pcc file. So, if there's a time or value/strength amount for a point/keyframe in BioD_CitCas_530Goodbye_LOC_INT.pcc, I am not finding it in BioD_CitCas_530Goodbye.pcc.

I'm also not seeing any gesture stuff in the LOC_INT files. Only lip animations, and even those are not overriding whatever is really controlling mouth movement.

I am finding in the BioD_CitCas_530Goodbye.pcc:

I am seeing patterns very similar to the patterns of FaceFX stuff...but it's different.
I see an embedded names list including everything from eyeBlink_Right to what I'm really after, m_OH, m_ZZ, etc.
The pattern is pretty straight forward so far.
04 00 00 00 6D 5F 5A 5A
04 means after the 04 00 00 00, the next 4 bytes will be a name. For those awesome in hex (I am not) 6D 5F 5A 5A translates to m_ZZ
So all the names and stuff are embedded.

After I get past the names, I start seeing some normal-ish looking patterns like in FaceFX. Before I get there though, I see a lot of
80 and/or 80 3F or posssibly just an 80 followed by a 3F for something else. I don't know what these are are but I see them a lot in this file.

Then I see stuff like this
D6 00 00 00 0B 00 00 00 00 A0 B7 BA 00 00 00 00 80 63 E5 BF 78 3E 2F 3F 97 AD 34 BE E3 58 2F BF 8F 9A 34 BE 00 00 00 00 00 00 00 00 00 00 00 00

D6 00 00 00 0B 00 00 00 00 may be D2 00 00 00 0B 00 00 00 00 on the next set to start it off...maybe DB 00 00 00 0C 00 00 00 00 later...I have no clue.

But further on, I see the old FaceFX pattern...kind of. I see values going up by 1/3 of seconds until they reset and start again. But they're almost always followed by a full set of either 3 sets of 4 bytes or ultimately it's just 12 bytes of something.

And the problem is, still, before I get to that semi-recognizable pattern, there is a ton of hex that's setting stuff up or something. I have no idea, yet, what it all means.

Bottom line is, I want to figure this out and I'm going to do my best, as a non-programmer, to do it because I just spent a ton of time making the lines for the goodbye scene better. Well, I think better, and I want them in the game.

But I'm also throwing this out there because I know someone like SirCxyrtyx may take a quick look at object 254 (or any FXA object in a file) and be able to easily see the pattern and figure out what's going on. I don't even really care if there's an editor right now. If I just know what the patterns of hex mean I can at least manually get this scene done and be on my way to getting CEM done.

Thanks to anyone reading. I will keep working on it as I'm pretty much at that point where I'm either doing lip syncs or I'm trying to figure this AnimCutScene stuff out.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFX and AnimCut$!&&

Postby giftfish » 12 Aug 2016, 18:09

Deager wrote:So, I have begun to "enjoy" AnimCutScenes and have confirmed that giftfish is more insane dedicated to modding than I thought. Ditto for anybody else working with AnimCutScenes.

Lawl.

Going to quote myself here from the other thread, since it's relevant for this one:

1. All game assets used for an animcutscene are in the main file EXCEPT the dlg files themselves and the dialogue audio. If you look at the import list you should find the dlg object and a bunch of WwiseAudio imports. The latter are for the WwiseEvent (VO_Play) objects from the LOC_INT.

2. I suspect the bank must also be used, but in Kaidan's case, the bank isn't imported; it's definitely not in the main file. The package the bank belongs to is imported, though. Not sure if that matter or not. I don't understand all the theory behind imports yet.

3. Even if there is other stuff (matinee tracks) in the LOC_INT, it doesn't seem to be used. The dlg file is only used so much as dictated by the main sequence for the animcutscene. Things usually don't flow in order.

4. If the animcutscene you're looking at is anything like part 1 of Kaidan's romance scene (pre-dream), the FXA is defined by interp and not by line. So, if the first interp for the scene is 35s, then the FXA for that will be 35s in length. I suspect it won't have any string ID pointers which might be why the tool can't open it. Taking a quick look at one of Kaidan's... yeah, this seems right.


My suspicion about the FXE files in the LOC_INT is that they are autogenerated in Unreal and BW just doesn't use them. Instead, they create new ones that are inside the main PCC and these aren't linked to the line in the same way as a standard dialogue. The FaceFX matinee track is the full duration of the Interp (30s) or whatever, so the animation for "m_EE" and every other phoneme or expression will be that long. Which will royally suck to edit. We really need the ability to select multiple keyframes and slide them up/down in the timeline as a group.
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: FaceFX and AnimCut$!&&

Postby Deager » 12 Aug 2016, 23:48

I agree that it's probably auto-generated since that would also explain why I can't find the same value from the LOC_INT....which given the size of the FXA files in the root pcc file, I'm guessing they have all 3 languages piled in there? Anyway, I'll just hang tight on CEM work itself now and do my best to uncover patterns. There's a lot of bytes before the "points" pattern that need deciphering. I'm hoping some programmers with real knowledge will figure it out because I'm not confident that I can do it.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFX and AnimCut$!&&

Postby Deager » 16 Aug 2016, 16:13

I'm on vacation and sitting here getting an IV med for a good chunk of the day. So...may as well look at hex. I'll probably summarize what I've found at the end of this research but for now I'll just start doing my crazy posts. At the moment, I can't test in game so I have to just look at patterns.

I'm still in object 254 in BioD_CitCas_530Goodbye.pcc from the Citadel DLC, Pack003 (not the base)

I may have mentioned this before but the bulk of this file's size are the M_A.FXA_* objects. Since there are 4 spoken languages installed by default, and since screwing around with FXA stuff in the LOC_INT file did nothing, I have to think this base 530Goobye.pcc file must have all 4 lip syncs in it.

Those are my assumptions (dangerous) and here's what I'm seeing so far. Anybody, please, feel free to jump in at any time something strikes you as an idea to look into.

First, the names list is not referenced for the animation stuff. It seems to have it "baked" into the object. Object 254 starts off with this kind of thing

Unreal Engine 3, FxBone, FxCompliedFaceGraphc, etc.

Then you'll see in this image we're out of the name type stuff and into a real pattern yet.
Image

I see some values that I've seen in headers plenty. FFFFFF7F...I'm guessing that's a negative decimal value but I don't think it i has anything to do with Imports in this case. And while I see these negative values repeat a bit, I see just seemingly random hex values. I think it's still some type of setup for the hex coming later, and I need to figure it out, but so far, no clue.

I see the 80 3F repeat a chunk of the time here, 3 times. I see that later in the file quite a bit as well. However, I also just see 80. Given the spacing, I think it's
00 00 00 80
00 00 80 3F

If I have this right, it can't be the Names list because 08 3F, which then in big endian is 3F 80 is a big ol' 16,256. It's gotta be something else but no clue yet.

Plus, the repeating most of the time is just, I don't get it yet.

Another image to consider.
Image

Now, here a pattern is emerging. I noticed the 07 showing up a lot. Also, the beginning of 09 is showing up. I see later 0B does the same repeat along with 11, 17, 19...probably more. So I think a chunk of data that is related in the image above is from offset 1862 through 1A11.

The number before 07 always goes up in value from what I'm seeing so far.

A group of values shows up after the "07" chunk. That one is fairly long and I'm still looking into it right now. But I'm seeing this repeat quite a bit as I scroll down right now. I'll keep this post for now and make a new one instead of a classic ninjaDeagerEDIT.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFX and AnimCut$!&&

Postby Deager » 16 Aug 2016, 16:28

This post I will be doing a ninjaEDIT later. I already see that I'm wrong on the value always going up on the hex value before the 07, 09, etc. I'm still looking into it. I'm planning on just looking at the hex for a long time until I see a definite pattern emerging. So far it's a little odd since I don't see the "classic" 8 or 16 bytes worth of data which would indicate, time, points, tangents (or whatever we call those FaceFX things.)

So, more edits coming to this post while I, once again, share my crazy ideas. :D

EDIT1: I'm starting to see this type of format a lot. This example in object 254 is at offset 42B2.

0E 00 00 00 17 00 00 00 00 1E 25 BF C4 DC 55 3F 00 00 00 00 95 59 7E 3F D6 A0 1A B4 E3 74 A9 B5 25 27 E8 BD 00 00 00 00 00 00 00 00 00 00 00 00

In this example, the 0E 00 00 00 is some type of value that fluctuates. I'll start looking into these values to confirm if they are getting pulled from...well, the Names list already proved to have no m_* stuff so I don't know yet.

Then I've got the value 17 next which seems to be the value which will repeat that I mentioned earlier. 07, 09, etc. The reason I'm pretty sure it's 17 00 00 00 is in other lines I'm seeing XX 00 00 00 QQ RR SS TT etc. So I'm pretty sure the format is the zeros after the 0E and the 17 which are part of the overall group/value/whatever it's called.

Then we've got values which sure give the impression that they could be animation values. But I'm still looking. /EDIT1

EDIT2: This chunk starting at offset 46E2 seems to be the closure for the "17 pattern" and the start of the next pattern.
18 00 00 00 fc 0b 72 bf 4c 5f 9c c0 40 a5 e2 40 00 00 80 3f 0a 73 94 b1 0e 02 c0 b4 5b 2f f1 b4 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f 0a 73 94 31 0e 02 c0 34 5b 2f f1 34 ff ff ff 7f 00 00 80 3f 21 00 00 00

Because right after this at offset 472A is
00 00 00 00 18 00 00 00 f8 c7 db 3d 60 39 74 3e 00 2b a7 3e 38 65 7e 3f 84 aa 2e bd 98 d5 1e 3d e4 2a c4 bd 00 00 00 00 00 00 00 00 00 00 00 00

and then

01 00 00 00 18 00 00 00 00 00 00 00 80 fe c3 bd c0 66 95 be 4c 43 7f 3f 6a 82 34 bd 85 b5 28 bd 5e 3a 3c bd 00 00 00 00 00 00 00 00 00 00 00 00

so, it's that same pattern going again. But what's troublesome is it's not just 4 sets of 4 bytes like with the FaceFX stuff. I don't mind seeing all zeroes at various offsets because it's probably some unused "thing" for that line...

Anyway, I'm seeing more of a pattern as I'm going here.
/EDIT2

EDIT3:
First off, I should say that I think offset 46E2 starts the next pattern because it begins with 18 and then the 18 is the repeating value. If I look back at the beginning of 17 stuff, I see this larger chunk and it starts with a 17. The next one after the 18s starts with a 19 chunk followed by a bunch of 19s.

OK, now something else I see in the larger chunk at offset 46E2. Again for reference.
18 00 00 00 fc 0b 72 bf 4c 5f 9c c0 40 a5 e2 40 00 00 80 3f 0a 73 94 b1 0e 02 c0 b4 5b 2f f1 b4 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f 0a 73 94 31 0e 02 c0 34 5b 2f f1 34 ff ff ff 7f 00 00 80 3f 21 00 00 00

80 3F is showing up again. And this is the same pattern in the other shifts in values I'm seeing. It'll go something like this
XX = value of the upcoming data set

XX 00 00 00 (12 bytes) 00 00 80 3F (12 bytes) 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 80 3F (12 bytes) FF FF FF 7F 00 00 80 3F 21 00 00 00

I actually have seen the 21 00 00 00 four places I've checked so far. I'll keep looking to confirm if that's consistent. I'm still confirming too that I'm always seeing FF FF FF 7F but so far, I'm seeing it a lot.
/EDIT3

EDIT4: Sorry, this is the main dump post here. I'll summarize all this crap when I have a handle on it. Offset 63F2 has this.

1e 00 00 00 7f d8 c6 3f b1 ed 29 40 78 69 dc 40 00 00 80 3f 48 ff 3f b5 fe fb ff b3 b6 fe ff b6 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f 48 ff 3f 35 fe fb ff 33 b6 fe ff 36 ff ff ff 7f 00 00 80 3f 12 00 00 00

I still see the XX is the same, as always, The 80 3F values are still there, as always so far. So far it's FF FF FF 7F but, as you can see, it's 12 00 00 00 and not 21 00 00 00. What I'll look into next is if the 12, 21 values at the end correspond to how many sets of XX data there is.
/EDIT4

EDIT5: Yes! The last value, 12, 21, whatever, is indeed the number of "things" for the "group," or whatever it is. /EDIT5

EDIT6: Just for my reference for now. Another start to a group. This is offset 679A. I should point out these offsets are not absolute within the file viewed in HxD, they're within the Package Editor's Hex Editor.
1f 00 00 00 81 d5 c6 3f 6a 59 2a c0 a4 69 dc 40 00 00 80 3f bd 71 66 aa fd 07 00 b4 b1 00 00 b5 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f bd 71 66 2a fd 07 00 34 b1 00 00 35 ff ff ff 7f 00 00 80 3f 11 00 00 00
/EDIT6

EDIT7: OK, so here are three samples.
1e 00 00 00 7f d8 c6 3f b1 ed 29 40 78 69 dc 40 00 00 80 3f 48 ff 3f b5 fe fb ff b3 b6 fe ff b6 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f 48 ff 3f 35 fe fb ff 33 b6 fe ff 36 ff ff ff 7f 00 00 80 3f 12 00 00 00

1f 00 00 00 81 d5 c6 3f 6a 59 2a c0 a4 69 dc 40 00 00 80 3f bd 71 66 aa fd 07 00 b4 b1 00 00 b5 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f bd 71 66 2a fd 07 00 34 b1 00 00 35 ff ff ff 7f 00 00 80 3f 11 00 00 00

18 00 00 00 fc 0b 72 bf 4c 5f 9c c0 40 a5 e2 40 00 00 80 3f 0a 73 94 b1 0e 02 c0 b4 5b 2f f1 b4 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f 0a 73 94 31 0e 02 c0 34 5b 2f f1 34 ff ff ff 7f 00 00 80 3f 21 00 00 00

Using ZZ as varying values...
I thought I saw a mini-pattern with ZZ ZZ ZZ 40 00 00 80 3F but that appears incorrect. I think it's really ZZ ZZ ZZ ZZ 00 00 80 3F. So...bummer.
But, the 00 00 80 3F is consistent. The FF FF FF 7F appears consistent. And yes, the final bytes of 12, 11, or 21 followed by 3 zeroes seems consistent. Since the zeroes come after the 12, 11 and 21, I'm wondering if I'm looking at the 00 00 80 3F properly but...that's where I'm hoping a programmer will see it and be like, "I totally know what it is."

At this point, I'm leaving the clinic soon and will hopefully be looking at this during Olympic coverage. If I see that the bulk or remaining bytes continue with this pattern, then I'll start thinking about what appear to be floats and see what might be going on there. I think I already figured out they were, somewhat alarmingly always going up in 1/3 second increments which doesn't totally jive with how FaceFX stuff should work.
/EDIT7

EDIT8: offset 912E sees a change. Just a quick post for myself to visit this later. I also noticed a names list later which may begin a new sequence of animation types and seemed to have a lot more bytes. I'm hoping to see patterns to backup the concept that the 4 language lip syncs are embedded in this pcc file. If I can confirm that and which language is which, maybe then we have a chance if SirCyxrtyx or another programmer can take a look and make a tool for the few us who would use it, to use. /EDIT8

EDIT9: So here's the stuff starting somewhere around 912E
Image
EC starts it off, which is 236 in decimal. I don't know what it is. The following groups seem to be 24 (in hex) in length and I don't think that EC * 24 is a value which shows length of this group. I'll check into EC later. For now;

04 00 00 00 2b 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 00 00 00 00 00 00 00 00
and the next set appears to be
04 00 00 00 2c 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 00 00 00 00 00 00 00 00
and over and over I see that everything is that but the 5th byte, which is going up 2B, 2C, ... 2F, 30, etc.
And notice the above groups of bytes are 24 in length.

This continues until the last one of offset 9672. Up to this point the only changing value has been the 5th value and it's gone up one increment at a time.
04 00 00 00 50 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 00 00 00 00 00 00 00 00

Now, there's a slight change for the next group at offset 9696.

00 00 00 00 51 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 00 00 00 00 00 00 00 00

Note that the 04 first byte is now 00. But we have 51 in the fifth spot. This continues until the next change at offset 9766

05 00 00 00 26 00 00 00 09 00 00 00 01 00 00 00 00 00 00 3f 27 00 00 00 09 00 00 00 01 00 00 00 00 00 00 3f 28 00 00 00 09 00 00 00 01 00 00 00 00 00 00 3f 29 00 00 00 01 00 00 00 02 00 00 00 00 00 80 3f 00 00 00 00 2a 00 00 00 09 00 00 00 01 00 00 00 00 00 00 3f 00 00 00 00 00 00 00 00 57 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 00 00 00 00 00 00 00 00

There's still a 57 hiding in there. But it's preceded by a lone 3F. Next we're back to 24 (in hex) bytes

00 00 00 00 58 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 00 00 00 00 00 00 00 00

I'm looking for the end. Leaving off at offset 9806 for now.
/EDIT 9

EDIT 10:
Just pointing out another "anomaly" style entry, like seen at offset 9766. This entry is at offset 9892. I'm not going to get into all the differences. You can see it's more than just 5D near the end as opposed the 57.

05 00 00 00 2c 00 00 00 09 00 00 00 01 00 00 00 00 00 00 3f 2d 00 00 00 09 00 00 00 01 00 00 00 00 00 00 3f 2e 00 00 00 01 00 00 00 02 00 00 00 00 00 80 3f 00 00 00 00 2f 00 00 00 09 00 00 00 01 00 00 00 00 00 00 3f 30 00 00 00 09 00 00 00 01 00 00 00 00 00 00 3f 00 00 00 00 00 00 00 00 5d 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 00 00 00 00 00 00 00 00

Anyway, the end of that stuff.
Offset A03A is just a bit different now. It starts off with 00 00 00 00 7C, which at that point is exactly where it should be, but then this is the entire pattern I see.

00 00 00 00 7c 00 00 00 00 00 34 c2 61 0b b6 bc 00 00 34 42 61 0b b6 3c 00 00 00 00 04 00 00 00 4d 00 00 00 01 00 00 00 02 00 00 00 d0 3d 60 41 00 00 00 00 4e 00 00 00 01 00 00 00 02 00 00 00 dc 5a 20 41 00 00 00 00 4f 00 00 00 01 00 00 00 02 00 00 00 2c 69 97 c1 00 00 00 00 50 00 00 00 01 00 00 00 02 00 00 00 ff 56 bf c1 00 00 00 00 00 00 00 00

That's quite different, and we'll see the next pattern is.

04 00 00 00 7d 00 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 01 00 00 00 51 00 00 00 01 00 00 00 02 00 00 00 c6 dc b5 bc 00 00 00 00 00 00 00 00

and that's longer than I've been seeing at 38 (in hex) bytes long. But it also gets back to the "standard" 24 bytes stuff at times as well.

OK, I get all the way to 02 01 in hex, which, I ended up switching to HxD, so I'm at the real offset of 70379E
06 00 00 00 02 01
and then I see the first that that's actually different.
04 00 00 00 D0 00 00 00 01 00 00 00 02 00 00 00 7B 14 2E 3F 00 00 00 00 D2 00 00 00 01 00 00 00 02 00 00 00 E1 7A 94 3E 00 00 00 00 D3 00 00 00 01 00 00 00 02 00 00 00 CD CC CC 3E 00 00 00 00 D4 00 00 00 01 00 00 00 02 00 00 00 CD CC CC 3E 00 00 00 00 02 00 00 00 F6 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 F7 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 14 00 00 00 6D 69 64 64 6C 65 42 72 6F 77 55 70 5F 57 72 69 6E 6B 6C 65 04 00 00 00 03 01 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 00 00 03 00 00 00 AA 00 00 00 01 00 00 00 02 00 00 00 0A D7 A3 BB 6F 12 83 3A 79 00 00 00 01 00 00 00 02 00 00 00 00 00 00 3F 00 00 00 00 77 00 00 00 01 00 00 00 02 00 00 00 8F C2 75 3E 00 00 00 00 00 00 00 00

I can't read stuff in hex, but I can tell you that some of that hex says this
middleBrowUp_Wrinkle
but you'll also see near the 03 01 after the name (which is the long string of 6D 69 64 64 6C 65 42 72 6F 77 55 70 5F 57 72 69 6E 6B 6C 65 04) and then after what I pasted starts up
06 00 00 00 04 01

So everything is still progressing numerically up. So while I thought I had reached the end, and maybe in a way I did, this is the first I've noticed a gesture listed within this long hex of mostly repeating patterns. And not too long after it there's more gestures followed by bytes.

Eventually, we get to absolute offset 70419B which is setting up a long list of gestures. crowFootLeft_Wrinkle, m_Angry_L, E_Neck_Roll, etc. More importantly, some old favorites like m_Jaw+ show up. And when that list is done, now I see stuff very reminiscent of FaceFX. I have what appears to be Animations at offset 705DC7 which are then followed by what appear to be points.

So now that I see m_Jaw+....I know that object 254 for Miranda goes from offset 6F6CA9 to 771CA2 I decide to find out how many m_Jaw+ "names" I find. Answer; 2. Early on, and then much later. It seems that much later is related to the FaceFX stuff but I haven't looked carefully at the hex in an LOC_INT.pcc file to confirm. My guess is a programmer knows which one matters.
/EDIT10
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFX and AnimCut$!&&

Postby Deager » 16 Aug 2016, 21:56

OK, I do think, based on the crazy info above, particularly EDIT 10 and possibly EDIT 9, that I have found the FaceFX data in the pcc file. What I do not understand is why there is only one set despite 4 spoken language files being installed by default. I expected to find 4 sets of FaceFX style data per character.

I also haven't counted out the number of things in what I think is FaceFX. So I don't even know if I'm seeing enough points to cover all the Miranda lines. One slight advantage to this setup is that it appears there isn't a double of "Miranda_M" and Miranda_F" which is one bright spot.

Anyway, if SirCxyrtyx or another person who understands programming needs more coherent information from me, I'll try to clarify anything which probably needs it.

In the meantime, I will probably start zeroing out what I think are the points and tangents and see if I can at least get Miranda's mouth to not move at all and see how many lines it doesn't move. If I zero stuff out and it still doesn't work...crap.

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

Re: FaceFX and AnimCut$!&&

Postby Deager » 16 Aug 2016, 23:02

Some success!
Starting at offset 70607B, I zeroed out all time and point values. Or at least what traditionally would be time and point values. Normal "big gestures and animations" are still present as expected but, no facial animations (blinking, smiling, etc) and no mouth movement. I'm getting somewhere now. I'll try to stop the crazed posts and get more focused now that I see what's going on more.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFX and AnimCut$!&&

Postby SirCxyrtyx » 16 Aug 2016, 23:16

I was under the impression that the FaceFXAsset objects were the things that defined the face graph. That's rather annoying if that's not always the case. Looking at the names list though does seem to support the theory that these contain the animations, since it has the FxAnim name, which the FaceFXAnimSets have, and other FaceFXAssets that don't define animations don't seem to have.

Reading this thread I'm having a hard time following what you're saying about the hex, but if you can nail it down some more, I might be able to whip something up. To be clear, it's going to be pretty low on my priority list though, which already has a bunch of toolset development task on it.
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Re: FaceFX and AnimCut$!&&

Postby Deager » 16 Aug 2016, 23:51

Cool. Yeah, my ramblings are...certifiably insane.

I'm going to do more specific examples and spell it out more clearly. I might do a youtube video but in this case I think typing it out coherently will work.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFX and AnimCut$!&&

Postby giftfish » 17 Aug 2016, 03:07

@deager -- Jesus... and you call me the insane modder, lol!

@sircxyrtyx -- I think you already know I find some of the FaceFX jargon particularly confusing. But, what I can tell you is that the main PCC (not the LOC) always contains what BW refers to as "FaceFXAssets". This is the defined object class and there is always one present for each race in that PC (asari, turian, etc).

Are you saying that you're pulling that data into the new FaceFX Editor? Or, are you saying that those aren't FaceFXAssets (despite being called that, lol)?
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Next

Return to Modders' Research

Who is online

Users browsing this forum: No registered users and 0 guests

suspicion-preferred