Friday 20 April 2012

Lazarus Project - A Face Effect Tutorial

Premise

Hello everyone. It's time for me to provide a tutorial regarding the currently in the works fix for ME2 to ME3 face import dissatisfaction. As you may know, user woodbyte on the Bioware Social Forums has produced an excellent tool for getting femSheps from ME2 to ME3 to look more like they should. So far we've had some great results.

Before I begin, this program itself is still in development. In addition, it is only directly compatible with PC saves at present, though X360 saves are possible via workaround or if you're willing to wait, will be available later without a workaround. PS3 is stuck, unfortunately. In addition, this process has only been directed at female Shepards thus far. Male Shepards will be coming eventually. It does not change any of your story progress, only the face.

Background
The Lazarus Project works by finding the values of vertices on your ME2 face and "maps" them to the corresponding vertices on the ME3 face, then saves. A vertex is a point where two lines meet. By using multiple vertices one can create a "face" or side, enclosed by lines. You can think of this like a cube which has 8 vertices and 12 lines going between them enclosing 6 faces. If you move a vertex, the cube will look different. This is the reason ME3 faces look different; each vertex is in a different place. Lazarus moves those vertices to places they were in ME2.

Files and Programs You Need

You will need a couple of programs to attempt this. It would be wise to download and install them in the order I am providing them. If you get confused, feel free to ask for help in the comments below.

  • Microsoft .NET Framework 4 (available here)
    • You may already have this. It's a library of code used to create programs with some programming languages.
  • Microsoft XNA Framework 4.0 (available here)
    • Similar to .NET, this is a library specifically for programs like games or 3D applications. Lazarus has a 3D element, and so needs this library.
  • Any good archive extraction tool. I use PeaZip (available here). WinZip or WinRar will be fine too.
    • This is for extracting Lazarus when you download it.
  • Lazarus Project Version 0.1.1 (available here)
    • This is the core program. However it is not fully up to date as a package. Right click and select "save as" to download the "me3-lazarus-0-1-1.zip" file, then extract all the files inside to a folder you make. Lazarus doesn't need to be "installed"; you can get rid of it at any time.
    • Before you go further, go to the directory you extracted the files to and rename "LazarusProject.exe" to something else, like "LazarusProject(old).exe". We're about to replace it, but you might like the old one too.
    • Do the same for "lod_mapping.xml". Rename it to "lod_mapping(old).xml". Again we're replacing it in a moment, but you might want to continue using it.
  • Lazarus Project executable r18 (available here)
    • This is an updated version of the core program. Right click "LazarusProject.exe" and select "save as", saving it in the same place you extracted the previous files.
  • Lazarus Project map r17 (available here)
    • This is an updated version of the map, which is like a list of vertices to copy. Right click "lod_mapping.xml" and select "save as", saving it in the same place you extracted the previous files.

Make A Character

Before working with Lazarus, you'll want to actually make a Shepard! Go through the normal process of importing an ME2 character into ME3 by starting ME3, choosing "New Game" then "Import ME2 Character". In the customization screen, you can just accept what you get. It's a good baseline. Start the game, then at the first available opportunity, save the game. You'll need an ME2 save AND and ME3 save for Lazarus to do it's work.

Working with Lazarus

Now that you're all installed, go to the directory you extracted to and open "LazarusProject.exe". You should get a screen like this:


On the left, click "Open ME2" and find the save file you just imported into ME3. Next, click "Open ME3" on the right and select the save you just made in ME3. You'll see something like this appear:


Pretty huh? That's the Shepard's facial structure in both games. You'll notice some boxes at the bottom. The ones you should care about are:
  • Adjust OffsetBones - this will copy the bones under the face as well for possibly better animation and structure.
  • Adjust ScalarParameters - this will copy things like skin and hair luminosity and reflectiveness.
  • Adjust VectorParameters - this will copy things like eye and hair colour.
Check the boxes you want, then select "Save ME3". A message will pop up. Click OK. It's telling you the face has been copied to Save 1000 for the character you just made.

You should now be all done. Enjoy!

X360 Workaround

At present, Lazarus only operates on PC saves at present, but you can do this with an X360 too by following the below guidance. Beware that by performing this you are breaking the Terms of Service for your X360.
  • Follow this tutorial, for getting your save off of your X360 and back again when finished (available here). Thanks to Dimensio for this.
  • Now you will need versions of Gibbed's Mass Effect save editors.
  • Open up Gibbed's ME2 save editor and load your .xbsav you got off your X360. Save it as a .pcsav.
  • Open up Gibbed's ME3 save editor and load your .xbsav you got off your X360. Save it as a .pcsav. 
  • Perform the guidance above using Lazarus.
  • Open up Gibbed's ME2 save editor and load your .pcsav you editted with Lazarus, then save it as an .xbsav again.
  • Open up Gibbed's ME3 save editor and load your .pcsav you editted with Lazarus, then save it as an .xbsav again.
  • Transfer the .xbsav back to the X360.

Caveats, Bugs and Issues

Aside from the X360 and PS3 compatibility issues, Lazarus also has a problem with a particular mouth shape. In ME1 or ME2, if you picked "Mouth Shape 1", you'll have issues. Instead, it is suggested you use "Mouth Shape 7" instead, which looks the same. You will need to create a new Shepard in ME2 in order to change this.
If your character is from ME1, you can use the "YAML" method to find a good face code for your Shepard, then change the mouth. You can follow this tutorial from step 5 onwards to do this.

Sunday 15 April 2012

Lazarus Project: FemShep Update

So I've been working with woodbyte's Lazarus Project tool to better affect the face with a map. My last post didn't include pictures, so here's one with my progress so far. Keep in mind this is a working map, not finalized yet.


Not bad is it? There are some issues. The left eye has geometry floating, that's because this geometry is new in ME3. Likely I will paste it to a similar area on the eye as woodbyte has done. The mouth corners are also a bit jagged but this is because, in addition to the eyes, they are the most dense regions. This also doesn't yet include ears, but it will.

However, the bottom lip, top lip, nose and right eye look a lot better to me compared to the original. I think it's also worth mentioning eye shadow. My Shep clearly likes her face cake, and the effect is much more noticeable now her upper eyelids aren't tapped to her eyebrows. It gives more definition to the shadow and thus the eye. Of course, colours aren't transferred yet, but I can do that by hand later. At the moment, the focus is on a working map.

Let me know what you think.

Saturday 14 April 2012

Fan LOD Fix in Development

Some people are just gods made manifest I think. User woodbyte over on the Bioware Social forums has furthered his development of a LOD vertex mapping tool. If you haven't read up on what they are, these vertices control the shape of the Shepard head morph. In addition, they aren't easily transferable from ME2 to ME3.

In light of this, woodbyte has provided the project for all to use. It is based on Gibbed's save editor to interoperate the data and uses an XNA environment to show them in 3D. It looks great and you and see how similar (or different) faces are. The tool is surprisingly simple to use but in short, at the moment, it isn't in a stage most users won't be intimidated by. Essentially, the tool is for picking a vertex in ME2 and picking which vertex it corresponds to in ME3.

I've done some work with it myself and it is very promising. By opening up the project, woodbyte is looking to create "maps" for femShep and manShep that have all these corresponding vertices mapped. If both faces are successfully mapped, one would simply need an ME2 save, an ME3 save and the tool to transfer the facial structure from the previous game. It could easily include things like colour as well (which are already much easier to map), but the focus is on the structure (which is the hardest part to edit by hand).

It's slow going, but I can confirm it provides better definition of the head's ears, nose, chin and cheeks than Bioware's 1.02 patch. Unfortunately, without the whole face correctly mapped, there will be discrepancies for some users. In addition, because this is based on Gibbed's editors, this tool will only be compatible with PC and X360, with PC only currently supported.

Below is the post concerning this by woodbyte:
http://social.bioware.com/forum/1/topic/323/index/11073023/35#11382738

In addition, here is a direct link to the project:
http://code.google.com/p/me3-lazarus/

Finally, I'd like to have a semi-unrelated rant:

I've provided some insight to the process and help to woodbyte where I can, but there are many users who have contributed as much or more and together we're now in the process of at least showing the 1.02 patch is not fully effective and a better way to fix the problem. Thank you to all the persistent users and followers who have kept the pressure going. I won't bash Bioware either, I'm sure they're diligently working at the game, but sometimes a fresh set of eyes (no pun intended) does wonders on problems like this and if our research and development provides better insight, I'm sure they appreciate it.

By contrast, the original official thread has been locked down (despite the issue persisting). In this regard, here is the new, currently unlocked thread:
http://social.bioware.com/forum/1/topic/323/index/11073023

Monday 9 April 2012

1.02 Patch: Does it fix anything?

So the 1.02 patch just hit Mass Effect 3, which promised to fix face import issues.

So does it? Well here's a comparison of the three femSheps I have, including custom colours and the like.


What can we take from this? Consider that the ME1 to ME2 process did not allow us to modify the character because the ME2 face creator's reliance on face codes didn't allow for variables between face code positions. ME2 to ME3 does. If one imports a Shepard from ME2 to ME3 then drags a slider from the imported to something then back, it ends up in the same variable.

In short, the faces you're getting are approximations. I don't think they're that bad, but approximations none the less. It is similar in principle to the YAML method in terms of the actual process but it also seems to provide a better representation, in my opinion.

However, a note on colours. Why don't these transfer? It makes me a little irate, since I can do this myself in 5 minutes using Gibbed and the process is a 1:1 relationship, unlike the facial structure, and I've even demonstrated it on numerous occasions. In short, why are there no natural red heads? Because that colour isn't being imported. You got blonde instead, because the ME3 creator only gives approximations.

Extremely short explanation; disappointed. But let's hear you! Have you got pictures you'd like to share? Was the process successful for you? Let me know!

Sunday 8 April 2012

Patch Incoming

Blogger user munificent pointed me to an incoming patch that will be released 9 April for PC users and 10 April for PS3 and X360 users (many thanks to him). The patch contains some fixes, including at the very top:
"Fixed issues when in some cases Shepard's customized facial features from ME1/ME2 may not be properly imported to ME3"
Of course, no impressions as yet as to whether this fixes the problem completely, or only to a Bioware deemed acceptable level. The patch will be supplied automatically for your system, assuming you're connected. It will likely also contain the data for the upcoming free multiplayer DLC, released 10 and 11 April. For the patch notes click here.