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

Sir | FaceFX Editor

Development board for ME3Explorer tools. Please try to keep discussions for each tool inside its own thread.

Sir | FaceFX Editor

Postby SirCxyrtyx » 24 Jun 2016, 01:32

Deager and giftfish have got FaceFx pretty much figured out, which means I can code up a tool that's much easier to use than the current one.

Thanks for suggesting I re-use the curve editor giftfish. I was a bit skeptical at first that it would work, since FaceFX and Matinee are completely separate things made by different companies, but as you can see in my wip screenshot below, it worked out perfectly.
Spoiler:
Image

Not ready for primetime yet, but it's working way better than I hoped. It's not particularly pretty, but it's workable.

SirCxyrtyx has been thanked by:
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Re: FaceFXAnimSet Editor 2

Postby giftfish » 24 Jun 2016, 03:10

Wewwwwt!!!

This is looking flipping fantastic :D

Do you have any info on the following:

--Clearer details on Unknown List 3. There are still a couple of things that are poorly understood.
--Whether any data necessary to clone in new phonemes, etc has been removed due to the cooking process.
--Whether or not any data is actually *missing* from the current editor. Deager and I were thinking this was a possibility.

Also, one thing we still need support for is cloning animations associated with a line across files. I think I have that in the git thread also :)

Thanks, Sir <3
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: FaceFXAnimSet Editor 2

Postby SirCxyrtyx » 24 Jun 2016, 05:48

All I know about this stuff is what you and Deager have posted, sorry.
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Re: FaceFXAnimSet Editor 2

Postby Deager » 24 Jun 2016, 11:56

Amazing work already! I'll still ponder how the structure of list 3 might be setup, as knowing that fully may answer some other questions.

Yeah, I may be into some brute force work here. But that's OK since at least it's just a few concepts to resolve now instead of the entire thing.
User avatar
Deager
Modder
 
Posts: 805
Joined: 16 Feb 2013, 01:37
Has thanked: 284 time
Have thanks: 164 time

Re: FaceFXAnimSet Editor 2

Postby giftfish » 24 Jun 2016, 20:17

@SirCxyrtyx --

Technical question for you related to code in the existing toolset that's relevant to this new tool. Bear with me, as it's a little complicated; I'll try to be clear.

Package Editor and the current FaceFXAnimset editor each have an export/import functions related to FaceFX. These are different than the normal "dump BIN" functions.

Package Editor supposedly imports/exports "FXA" files. My understanding of the exact difference is between an FXA file and what is called a FaceFXAsset in UDK is blurry. UDK's own FaceFX help file documentation doesn't mention FaceFX Assets. The UDK wiki talks about them, in the context of importing the FXA "FaceFX Actor" file from Maya/Max (which contains the "reference pose and bone poses") and linking it to the FaceFX Asset associated with a skeletal mesh. The FaceFXAsset is the object class we find in main PCC files with a name like: BIOG_FaceFX_Assets.SFX_Drell_FaceFX. There are no FaceActorFile objects in the files, as far as I know.

The FaceFXAnimset Editor edits exports that are in reality FXE files. Here's how the UDK help file explains them:

External Anim Sets consist of FXE and FXM files. The FXE files store animation data which can be linked up to an actor file (*.FXA) in FaceFX Studio or at runtime in your game. In FaceFX Studio, this process is called “mounting” and “unmounting” animation sets. FXE files are usually accompanied by a matching FaceFX Mini Session file (*.FXM). FXM files store all of the data needed by FaceFX Studio but not your game. This includes audio data and phoneme information.

The FaceFXAnimset Editor has an option to "recreate and dump FXA" (from the FXE). Package Editor's option is called, "FaceFX > Export". I tested both, and, interestingly, the output does not match.

Output from the Package Editor feature only works when a FaceFXAsset or FaceFXAnimset export are selected and the output hex very closely matches that of the parent object. There are some differences at the beginning and end.

Output from the FaceFXAnimsetEditor very closely matches the selected FXE; it even includes string references, which I'm almost certain shouldn't be there.

Presumably, WV implemented this feature so that the FXA could be opened inside of UDK/FaceFX Studio/Maya/3DMax, if the modder wants. But, from what I can tell, one of them doesn't work properly. It's also possible that neither work properly. We should probably try to find out.

To recreate an example of what I described above, do the following:

--Open BioD_CitHub_HospitalP2.pcc in Package Editor and export obj 411 as BIN. Also use the FaceFX > Export feature with this object selected.
--Open BioD_CitHub_HospitalP2_LOC_INT.pcc in Package Editor and export obj 1302 as BIN.
--Open BioD_CitHub_HospitalP2_LOC_INT.pcc in Package Editor and select obj 1302, then "recreate FXA and dump".

----

Also, constantly typing/saying FaceFXAnimset Editor suuuuuuucks.

Let's change the name to just "FaceFX Editor". This is shorter and might suit it better as we may also want to add support for integrating the corresponding FaceFXAsset file somehow. I'm about to pop something about that up on Git.
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: FaceFXAnimSet Editor 2

Postby SirCxyrtyx » 24 Jun 2016, 21:55

As I'm sure you know, PackEd's "Get Binary Dump" just writes all the data in an export after the properties to a file.
"FaceFX > Export" does the same thing, except it omits the first four bytes, which is an integer describing the size of the data, as well as the last four bytes, which are just four extra zeros.

"recreate and dump FXA" does the exact same thing as "FaceFX > Export" (Although it will include any edits you've made).
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Re: FaceFXAnimSet Editor 2

Postby giftfish » 24 Jun 2016, 23:53

SirCxyrtyx wrote:"recreate and dump FXA" does the exact same thing as "FaceFX > Export" (Although it will include any edits you've made).

I'm confused. I'm saying that the output via these two methods doesn't match.

Shouldn't the FXA generated from the drell FaceFXAsset file in the main HospitalP2 PCC via FaceFX > Export be identical to using "recreate FXA and dump" on any of Thane's animation files inside the HospitalP2_LOC_INT file?

I realize that this creates FXA via two different objects in two different files, but my understanding is that the FXA should indeed be the same.

...Or am I wrong about that?
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: FaceFXAnimSet Editor 2

Postby SirCxyrtyx » 25 Jun 2016, 00:59

Doing "FaceFX > Export" on a FaceFXAsset dumps the FaceFXAsset data, and doing it on a FaceFXAnimSet dumps the FaceFXAnimSet Data. Doing "recreate and dump FXA" on a FaceFXAnimSet is not doing any kind of processing of the data, it's just dumping the binary data for that export, the exact same as doing "FaceFX > Export" on that export in the Package Editor. If the FaceFXAnimSet is an FXE, then I suppose it's named incorrectly and ought to be called "dump FXE".
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Re: FaceFXAnimSet Editor 2

Postby giftfish » 25 Jun 2016, 01:34

SirCxyrtyx wrote:Doing "FaceFX > Export" on a FaceFXAsset dumps the FaceFXAsset data, and doing it on a FaceFXAnimSet dumps the FaceFXAnimSet Data. Doing "recreate and dump FXA" on a FaceFXAnimSet is not doing any kind of processing of the data, it's just dumping the binary data for that export, the exact same as doing "FaceFX > Export" on that export in the Package Editor. If the FaceFXAnimSet is an FXE, then I suppose it's named incorrectly and ought to be called "dump FXE".

Okay, that clears up part of my confusion (the FXA/FXE misnaming).

My guess is that neither should be called FXA, though, as I don't think either are an FXA. I'd bet that if you exported the FXA from the FaceFXAsset that it wouldn't open in Max. I can't verify that, but I strongly suspect it. I wonder if UDK would think it's an FXA or a FaceFXAsset.

Either way, aren't both functions basically redundant with dump BIN? Couldn't the BIN extension just be renamed FXA/FXE?
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: FaceFXAnimSet Editor 2

Postby SirCxyrtyx » 25 Jun 2016, 07:43

Pretty much. You'd have to trim four bytes from the beginning and end too, but that's trivial enough in a hex editor. I can remove them from Package Editor as they just clutter up the menu.
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Next

Return to ME3Explorer Toolset Development

Who is online

Users browsing this forum: No registered users and 0 guests

cron
suspicion-preferred