Tuesday, 13 March 2012

Hex Editing, this time of face structure

If you're just joining, I've managed to prove that it's entirely possible to have the same colours and lighting interactions of your ME2 Shep hair, brow, skin, teeth, make-up and eyes. This isn't a face code fix like the YAML export method (in the first post), it's a hard copy of the values from ME2 saves to ME3 saves and a long process. This demonstrates that certainly some data can definitely be imported into ME3 if it was working. You can see the results here: http://social.bioware.com/forum/1/topic/323/index/9661093/114#9780245
(or on this blog: http://faceeffect.blogspot.com/2012/03/continued-hex-editing-now-of-scalars.html)

Why did I do this? Because I wanted to know if the system used to make a face (not the character creator, I mean the raw data) was the same. If it's the same it means that data can be used and the possibility of an exact import (not the YAML workaround) exists. So far, I am led to believe it does.

This time I used the same approach with head positions. It seems copying them in this way doesn't generate the same results and tends to make the game crash. I wouldn't recommend it to anyone.

That said, perhaps that is a reason. ME2's save file is a mess when it comes to appearance if you take the time to read it. Positions are all over the place and embedded in strange places in the save file. They're also usually fractionally different to very similar looking ME3 ones. ME3 puts all the eye positions together, then the mouth, then the jaw and so on,
just as you see it in the character creator.

Perhaps the reason is that ME3 expects an order and ME2 supplies 75% of that?

Anyway, I've hit a wall with this and since we'll likely see a fix (or at least an announcement) this week, I'll retire from working on it.

Clarian said:
"I've been trying to follow Pheonix's lead and examining the save file in a hex editor.  I think my biggest problem is the facial structure, since the whole shape of my Shep's head is just off. I'm guessing that the things in the save file that correspond to 'facial structure' are the 'races' (race_yngAsn, race_oldBlk, etc.) 
It works rather differently than eye color, though.  With eye color, there's one field (vector_eyecolor, or whatever it was), and apparently the value in that field defines the color of the eye. But with 'race', there's a different field for each one, and either it's blank or you have a value in it.  But I don't think that one value could be enough to define the entire morph.  So...it seems like blank vs. populated just tells it which one you're using, which points somewhere else to the full definition. 
The thing is, with eye colors, some values weren't available in the cc.  So, put in a value that the cc didn't let you have, and now you can have it.  But with races, the list from my ME2 save and ME3 save are the same.  Unlike the purple eye color, 'race_oldAsn' is still there in both of them.  But it just translates into something quite a bit different in 2 vs. 3. 
Now, the gibbed ME2 save editor has an 'offset bones' collection with all the facial features, cheekbones, lips, etc.  But one, there's no ME3 save editor yet (is there?), and two, I bet it would be really hard to edit those without being able to see the results of what you're doing real-time. 
So...thus far, I've failed to figure out how to fix facial structure. But still, what Pheonix found is great for all the color palettes, and a big improvement over the ME3 default."

From what I can tell, and I think you're on the right track, the "race_oldAsn" and so on refer to the preset head structures. These were in ME1 as well, I think under the name "Facial Structure". This likely either sets the bones to be used or sets them in a particular place. Certainly the variables are different, possibly because of an order of magnitude (i.e. ME2 had small offsets, ME3 uses bigger ones).

And yeah, so far all I've managed to show is that you can get yourself crazy eye colours like bright pink in ME3 :D. That said, I think if we don't get an import, changing the colours really helped make it look like the Shep I had. Here's hoping for a save editor soon.

Original link: http://social.bioware.com/forum/1/topic/323/index/9661093/116#9787351


  1. Brilliant stuff. You seem to have put more work into this than EA and Bioware.

  2. I realize this is old, but in short I wanted to ask if it's possible to use Hex Editor to place my custom Shepard's face on the default model in ME1, which has a gender value 1, meaning the game recognizes Shepard as female but still uses the default male model. I only need this for one scene, when the Council grounds the Normandy. Or if there is any other way to achieve this.