Question for anyone that has extracted Dragon Age Inquisition or Mass Effect 3 generic NPC models
14 replies, posted
Hi,
I had a question about extracting some models out of Dragon Age Inquisition and Mass Effect 3. I was interested in generic NPC's and maybe some of the lesser known named story NPC's. For example Gaspard, Celene and Florianne from DAI and also some of the generic soldier NPCs that you fight. For main characters and companions i see where the models can be extracted. And these must be easy to do since there's a lot of DAI and ME3 models of the main characters/companions. For the models i'm looking for though they seem to be a bit harder to locate.
So my question is if the games have some kind of face morph system for those lesser known NPCs? or do they just use one of the generic character creation presets and just have the correct hair mesh and textures assigned? if its a face morph system similar to FO4 then it will probably be a bit harder to extract the head and make it look like the in game character. If they are just based off of generic heads then it should be a little easier i think. I've already found the body/costume mesh, the regular body mesh and i think i found the generic head mesh too. But before i get too far with extracting all of those i just want to see if i'm dealing with some kind of game engine facial morph system or not.
Not sure if it matters but i'll be importing these into Maya. Havent decided if i want to use their rig yet or just make my own from scratch. Thinking about porting the models to SFM if i ever get it all sorted out and if i can learn how to actually port stuff to SFM hehe. I can post and animate in Maya and SFM but i just havent been able to get something from .FBX standards to Valve standards.
I have not actually ripped these models myself, but I have looked into it.
I am [B]pretty sure[/B] (not 100% confident) that Mass Effect 3 and Dragon Age Inquisition both use the same character-creation system that the player character uses for its generic characters.
I have seen generic characters be ported, and so I suspect it must be possible to export out the facegen data in some way, but I don't know how.
If worse comes to worst, you can approximate it in the following way:
1.) Extract the base head, which I [B]know[/B] is possible. This will have all of its face-rigging and such in-tact.
2.) Use a 3D ripper to rip the base head [B]and[/B] the head you want to export. The base head should [B]theoretically[/B] be identical in topology to the base head, but it will not have any rigging and such exported. Chances are, the order in which its triangles are ripped will be different from the exporter head, facilitating this round-about solution. The ripped heads should theoretically have the same export order, however.
3.) Overlap the three meshes in a 3D modeling program, such that the ripped and exported base heads are exactly overtop each other, vertex-to-vertex.
4.) Skinwrap (3dsmax) or Weight Transfer (Blender) the rigging from the exported base head to the ripped base head, using as precise of controls as you can. This will effectively copy the rigging of the exported head to the ripped head.
5.) Create a Morpher (3dsmax) or Blendshape (Blender) on the ripped base head, targeting the ripped custom head.
You should now be able to apply the Morpher / Blendshape 100%, to get the facial shape you want, while still retaining the original face rigging.
I sincerely hope there's a cleaner way to do it. My pre-emptive research hasn't been very helpful, however.
You may want to try contacting some of the people who have released custom characters for XNALara et all. They may be able to help you better than my speculating can.
ahh i think i understand what you are saying. I'm trying to figure out how to export the models in .psk format which has the armatures out of the game. I'm only able to export as .obj which doesnt have that. Having a hard time finding an import/export plugin for blender that works.
Once i am able to export .psk then i'll use ninjaripper to export the actual facial mesh. If the generic face mesh has a rig like you said then i can transfer skin weights from the face mesh to the ripped face mesh. Thats actually something that i know how to do in Maya since its one of the steps for creating fallout 4 mods which i've done before.
For ME3, you'll eventually need this link: [url]http://nhaneh.tumblr.com/post/23854986528/importing-custom-shepards-into-3ds-script-edition[/url]
Suffice it to say, you should avoid ripping the models, and import them instead.
I pulled it off a few years ago, but I don't remember how, sorry.
[IMG]https://dl.dropboxusercontent.com/u/64418935/gmod%20pics/Shep1.jpg[/IMG]
cire992,
I'm working on DAI stuff right now but i might eventually do ME3 stuff too. But i'm also trying to do generic NPC's and even some of the lesser named NPC's. I'm looking at the DAI files using a tool i found on daitools and the main companion characters are easy to import. But other NPC's like Gaspard or Celene dont have their face mesh stored with the others. It just has their body/costume mesh while the companion characters have costume+face mesh.
So thats what i'm trying to figure out right now is how to get those lesser known named NPC's and regular NPCs like soldiers and stuff into Blender/Maya/3DSM. If i'm understanding Gmod4ever correctly it should be an easy way to get the actual characters face model rather than using a generic one. If the game has their actual face with morphs then i just extract that one. I'm assuming that a ripped face wont have armatures and bones. But i can get around that by importing a generic face (which i can already do) and then copying the skin and bone properties from that generic face to the ripped face.
[QUOTE=glossedsfm;50596757]If i'm understanding Gmod4ever correctly it should be an easy way to get the actual characters face model rather than using a generic one. If the game has their actual face with morphs then i just extract that one. I'm assuming that a ripped face wont have armatures and bones. But i can get around that by importing a generic face (which i can already do) and then copying the skin and bone properties from that generic face to the ripped face.[/QUOTE]
You hit the nail on the head there.
That being said, using a GPU ripper (like Ninja Ripper) is exceptionally dirty, and should only ever be a last resort.
I [B]highly[/B] suggest you talk to some of the porters on DeviantArt's Xnalara-customized's Mass Effect section, and ask them how they do it. I'm sure there are proper tools for exporting out the morphed meshes.
[QUOTE=Gmod4ever;50597234]You hit the nail on the head there.
That being said, using a GPU ripper (like Ninja Ripper) is exceptionally dirty, and should only ever be a last resort.
I [B]highly[/B] suggest you talk to some of the porters on DeviantArt's Xnalara-customized's Mass Effect section, and ask them how they do it. I'm sure there are proper tools for exporting out the morphed meshes.[/QUOTE]
Cool, i may ask around in the xna me3 community to see if they can offer any advice. I think i may try texturing some of the generic heads to see how far off it looks. If it looks too far off then i'll definately have to ask around.
Ohh and also i'm curious but why should i rip only as a last resort or why is it bad?
I'm only interested in the head and hair mesh. Maybe the actual head, hair and makeup textures too since the textures i have for all my DAI models are grayscale (and i suck at adding color to stuff in GIMP). Does it have to do with limitations on the posing of the models when you use the ripper? i've done a bit of reading and it sounds similar to taking a screenshot. you hit the hotkey and all the 3d stuff has its "snapshot" taken and i guess you open that in your 3d program so that you can edit it. If i'm right and thats how ripper program works then it sounds like i just need to find a moment when the characters head has a neutral expression and take my snapshot. I'm guessing that the symmetry of the mesh will be way out of whack since the game engine is morphing it, even during that "neutral pose" that i'm going to rip.
I had another question. I have Daz3d+morph kit so i can import rigged bodies into Maya. I haven't been able to find good/updated plugins that allow me to extract DAI models as PSK (which have rigs) so i had to resort to OBJ instead. So if i have the DAI OBJ model in Maya and the Daz FBX body model also in Maya can i bind skin or transfer the influences/skin weights on that OBJ to the FBX? I did something similar for an armor mod in FO4. I'll probably have to tweak it a little bit i'm guessing, but if it will work then it beats trashing the Daz rig and creating one all from scratch (which is something i'm still learning to do).
Keep in mind Daz rigs use a Triax weighting system which probably doesn't translate well to Maya/Max/Blender or Game Engines. My practice is usually to skin a Daz character to a game character's rig (like Mass Effect or Dragon Age), since it would have a more useful skeleton setup (twist bones etc). I also like to make daz clones for game characters so that you can easily morph a daz character into something resembling a target model (say, a default character biped from Mass Effect). This can make the skinning process as easy as applying a skin wrap modifier in max (I'm not sure if Maya has an equivalent tool).
Also, to your previous post. Ripping is considered less preferable because you can't rip bones and rigging and because filenames aren't preserved, which can make things tedious. That applies to NinjaRipper, but 3dRipperDX is an ABSOLUTE last resort. It simply captures what is rendered on screen. Meshes are distorted by animations and sometimes perspective, vertexes are re-ordered (making morph data like facefx useless) and sometimes even UV data is lost. Its a messy process.
[QUOTE=cire992;50614939]Keep in mind Daz rigs use a Triax weighting system which probably doesn't translate well to Maya/Max/Blender or Game Engines. My practice is usually to skin a Daz character to a game character's rig (like Mass Effect or Dragon Age), since it would have a more useful skeleton setup (twist bones etc). I also like to make daz clones for game characters so that you can easily morph a daz character into something resembling a target model (say, a default character biped from Mass Effect). This can make the skinning process as easy as applying a skin wrap modifier in max (I'm not sure if Maya has an equivalent tool).
Also, to your previous post. Ripping is considered less preferable because you can't rip bones and rigging and because filenames aren't preserved, which can make things tedious. That applies to NinjaRipper, but 3dRipperDX is an ABSOLUTE last resort. It simply captures what is rendered on screen. Meshes are distorted by animations and sometimes perspective, vertexes are re-ordered (making morph data like facefx useless) and sometimes even UV data is lost. Its a messy process.[/QUOTE]
Daz Genesis 3 ditched Triax. It uses a standard biped system, because the Daz team wanted to make their models more easily translated into games that use it.
And honestly, if you're not using Daz Genesis 3, you really should be. It comes completely free with the free download of Daz 4.85 Pro, which also comes with the ability to export to FBX.
[QUOTE=cire992;50614939]Ninja vs other rippers[/QUOTE]
It depends - sometimes you actually want to nab a mesh that has been modified in engine. That's typical for games which have face and body sliders as Ninjaripper will only rip the base unmodified mesh.
Whereas 3dripper rips the scene as is.
Well i figured that ninjaripper works similar to taking a screenshot but just in 3d. So i knew to activate NR when the characters had a neutral expression. I did that but i dont think it mattered because all the humanoid models got extracted out in a t-pose anyways so it looks like they are definately in a neutral expression.
Now about the rigging? i've looked around for plugins/addons that allow me to extract models as .PSK but all the stuff i've found doesnt work for me or leads to dead links. So i gave up on that and just extracted stuff as OBJ so i'll have to rig it anyways. A few hours ago i finally managed to get ninjaripper working and i extracted my first DAI character (the ones that arent easily extracted). I got a little impatient though and extracted the model the moment the game unlocked them and in the level there were a ton of other NPCs too so i had a hard time finding her texture among the ripped files hehe. I'm going to play the game a bit more cause i believe there is a level where its just me and my companions and the NPC (as well as the objects/floors/walls) but with fewer humanoids it will be easier to find the NPC face textures.
Once i can find those ripped face textures i can figure out how to rip the model and have it UV mapped at the same time. I'm not very good at UV mapping so i dont know how to unwrap the head so it is on the UV map and distributed properly. Until i figure that out my temporary solution is to take a default human head which i extracted with DAItools and not the ripper. The ones extracted by DAItools *do* have their UV map coords in the right place. So all i have to do is take the ripped head overlay it on the generic human head and adjust the verts manually so that its x, y and z coords match up with the x, y and z coords for that same vert on the ripped head. I spent about 2 hours working on the left front quarter of the head and it looks good so far. I'm using Maya but i think if i had used Blender i could have just merged the generic head vert to the ripped head vert and selected the option that would have snapped the generic head vert to the ripped head vert without moving the ripped head vert. Doesnt matter its almost done, and after this one i'll look up ways of making the process easier for myself.
But in the meantime SUCCESS!!! i managed to rip the models i was looking for. Just need to texture them and then rig and skin them.
I might have spoke too soon
Opened up the rip models and it is in T-pose instead of the pose it was at in game when i hit the capture button. So its in t-pose and the face and body are in neutral expression...but a little **too** neutral. The eyelids dont match up and the cheekbones are too big. So i guess the base head has morphs on it but that also carried over the the default or at rest animation for the head?
I was using ninjaripper 1.5 in 64 bit mode. Are there any other 3d ripper programs out there that will capture the scene in exactly the poses everything is in? instead of capturing and putting them in T-poses or losing any facial morphs that give the face its natural look in game? There are plenty of opportunities for me to hit capture when the characters face isn't doing anything too wild.
[QUOTE=wraithcat;50615485]It depends - sometimes you actually want to nab a mesh that has been modified in engine. That's typical for games which have face and body sliders as Ninjaripper will only rip the base unmodified mesh.
Whereas 3dripper rips the scene as is.[/QUOTE]
Would you happen to have a good link for 3d ripper download?
I used ninjaripper but as i mentioned in my other posts it extracts models but not 100% the way i want it to look. I'm only getting partial face morphs. And the faces are noticeably different from the in game character. I want to try capturing the scene 100% exactly as it is shown in game. Doesnt matter to me if they are doing some weird action pose because i'm not interested in the body just the face. I can wait for a moment in game or during a cutscene where their face isnt too distorted and they arent talking before I do a capture and thats good enough for me.
I have to rig the mesh regardless of how its extracted so it doesnt matter too much if the face is extracted and unsymmetrical so long as it looks 100% like the characters face in game the moment i hit the capture button.
Sorry, you need to Log In to post a reply to this thread.