Jump to content

Photo

Exracting mesh and textures


  • Please log in to reply
97 replies to this topic

#1
panda3d

panda3d
  • Members
  • 1 posts
Is it posible to extract the mesh and textures from mass effect 2 i heard it was posible with udk but couldent find any info on it :(

Many thanks

Nicole

#2
JeanLuc761

JeanLuc761
  • Members
  • 6,480 posts
I'm not sure what Bioware's policy is on discussing the extraction of in-game assets, but it is possible to do so for both games (and most Unreal Engine titles).

All I can say (until a mod clarifies exactly how much I'm allowed to say) is that you will require a trial (or full) version of 3dsmax and the ActorX Importer.

Edited by JeanLuc761, 27 July 2010 - 04:00 PM.


#3
JeanLuc761

JeanLuc761
  • Members
  • 6,480 posts
*after getting permission*
Alright then, here's how it works.

Disclaimer:  If anyone at Bioware prefers that this information is not displayed, I will gladly take it down.

You're going to need four, maybe five different things to get this to work:
1. A copy of 3dsmax (You can get a trial of 3dsmax 2011 for 30 days).
2. A legal copy of Mass Effect 1 or 2
3. The Unreal Model Viewer: Download Here
4. The ActorX Importer MaxScript: Download Here
5. OPTIONAL: An image editing program that can open .tga files.

I'll explain this process the best I can, but there is a video tutorial that I'll link at the end.

1) If you have 3dsmax installed, make sure to put the ActorX Importer into the "scripts" folder.  You can find this in the root 3dsmax folder.

Posted Image

2) Next, create a folder called uModel, and place all of the files you downloaded from "Unreal Model Viewer" inside it.  Creating this folder on the C: drive will prove easiest.

3) To find content files for the game, you need to navigate to (as an example), C:\\\\Program Files\\\\Mass Effect 2\\\\BioGame\\\\Cooked PC

4) In the CookedPC folder, you will find thousands of files.  Ignore any file that has an .afc file type; those are sound files.  What you're looking for are the .pcc files.  It'll take some searching but there is a section devoted purely to characters near the bottom.  For example, BioH_Geth_00 will contain Legion's character model, textures, and a basic animation file.

5)  Once you find a .pcc file that interests you, COPY, don't cut, the file and paste it into your uModel folder.

6)  Now, here's where it gets a little more tricky.  You're going to have to open up Command Prompt.  For Windows XP, that's Run-> CMD; for Windows 7 just type CMD into the search bar.  Open Command Prompt.

7) Now that command prompt is open, you should see this line (or something like it):  C:\\\\Users\\\\YourUserName>_
What we need to do is get command prompt to navigate to your uModel folder.  To do so, simply type in the letter of the hard drive you have your uModel folder on.  If it's on the C: drive, just type C: and hit Enter.  If it's on your D: drive, just type D: and hit Enter, and so on and so forth.

8) Next, type in cd C:\\\\umodel and hit Enter.  (C, D, E etc depending on your hard drive letter).

9)  Now, you've successfully navigated to your uModel folder.  To extract the data from the .pcc file, open Explorer and click on the .pcc file you put in the uModel folder (KEEP COMMAND PROMPT OPEN!).  Right-Click, and go to "Rename."  Then, highlight the ENTIRE file name (including the extension .pcc).  Right-click again, and hit "Copy."

10)  Now that the file name is safed to the Clipboard, all you need to do is go back to Command Prompt, and type:
umodel -export "nameofthefile.pcc"

Swap out "nameofthefile.pcc" for your file simply by hitting Spacebar after "export," right-clicking, and hit Paste.

11) Hit Enter and uModel will extract any compatible files and put them in a separate subfolder.  Congratulations!  You just extracted a model!


These next steps detail how to get the model (in this case, a character) into 3dsmax and ready for posing.  I'll be using an extracted Garrus model which can be found in BioH_Garrus_00.pcc.

1) Now that I have Garrus extracted and in his proper folder, it's time to open up 3dsmax.  Once 3dsmax is open, go up to the bar that says MAXScript, click on it, and hit "Run Script..." in the drop-down menu. 
Your ActorX Importer should be in here (if you put it in the proper folder at the start of this tutorial), so just click on ActorXImporter.ms and hit Open.

2) The importer will start, and you'll see quite a few options.  Don't worry though, you'll only need two for our purposes.  The first thing you'll need to do is import Garrus's model.  To do this, hit "Import PSK..."  A window for Explorer will pop up, and you need to navigate to the folder where you extracted Garrus. 
In his folder, you'll see several subfolders:

AnimSet
Material3
MaterialInstanceConstant
SkeletalMesh
StaticMesh
Texture2D

The PSK files are located in SkeletalMesh, so open that folder.  Ignore the file that's only 1kb in size, and import the files (SEPARATELY):
- TUR_ARM_HVYb_MDL.psk                                      Garrus's Armor
- TUR_HED_PROGarrus_Damage_MDL.psk         Garrus's head
- TUR_HGR_HVYb_MDL.psk                                      Garrus's Helmet.

Once all of those are imported, open up your Perspective viewport and take a look.  Model looks nice doesn't it?  All the bones are there so he can be posed, and you can hide the helmet if you like simply by right-clicking on it and hitting "Hide Selection."

3)  Now then, one thing you'll quickly notice is that Garrus is impossible to pose properly from that default, arms-outstretched pose.  Fixing this problem is a little tricky.  What we need to do is to import an animation for Garrus so he's in a more natural starting pose. 

To do this, go back to your ActorXImporter, and click on "Import PSA..." Remember the AnimSet folder I mentioned earlier?  That's where his animations are.  Navigate to that folder, and open up the "PTY_EX_Turian.psa" file.

4)  Now that you have the animation file loaded, you'll see several different animation files in the "AnimationImport" window.  The one we'll be working with is "AM_PistolTwitch02" so highlight that one and click "Load Track."

Do NOT click "Load All!"  

5)  Now then, the animation should automatically apply to Garrus's model, and you'll be left with a much more natural pose.  If you drag the keyframe bar (right below the viewports) left and right, you can see the animation.

6) Now then, the problem with having an animation on the skeleton is that any pose you make will be immediately over-riden by the animation itself.  To fix this, click on the "Select by Name" button on the main toolbar.  You'll be presented with all of your scene objects.

You need to select ALL of the bones in the scene (which, in this case, means selecting every single file except for TUR_ARM_HVYb_MDL
TUR_HED_PROGarrus_Damage_MDL

7) Once you select all the bones, you should notice that the keyframe bar suddenly has lots of black "markers."  These are the animation keyframes.  With all of the bones selected, select ALL of the keyframes (simply hold the left click and drag over all of the keyframes).  Once the keyframes are highlighted, hit "Delete" on your keyboard.

Voila!  Garrus is now at a natural starting pose, and there is no longer an animation.  Now you can pose him any way you want by rotating (not moving!) the bones.


But wait!  We don't want to be looking at a grey mesh come render-time do we?  Garrus needs his textures.  Applying them is pretty simple. 

1) Open up the material editor in 3dsmax.  You'll see 24 grey spheres which represent blank materials.  Now, Garrus needs a single "Standard" material for his armor, and a "Multi Sub-Object" material for his face.

2) Leave the first sphere alone, and click on the second one.  To change this to Multi Sub-Object, hit the button labelled "Standard," and you'll be presented with a list of material types.  Double click on Multi Sub-Object, and the material will change.  You'll notice that instead of one material now, you have a menu of ten separate materials.

3) We're going to apply the textures to his armor first.  Go back to the first material sphere, and hit the little button next to the "diffuse" color.

Posted Image

You'll be presented with a list.  Select "Bitmap" and once again Explorer will open.  Going back again, I mentioned a Texture2D folder; that's where all the textures you need will be.  Navigate to that folder.

4) You'll see a lot of texture files, but we only need a few.  Change the view to list-mode if it's easier for you.  For his armor, we need to start with a Diffuse (color) map.  In this case, the file is TUR_ARM_HVYb_Diff_Base.tga
Diff_base will always be diffuse files.  Open that one up, and you'll notice the sphere now has a color map on it. 

IMPORTANT:  With any diffuse file, make sure to check "None/Opaque" on the Alpha Source channel.
Posted Image

5) To return to the main material, hit the "Go to Parent" button.

Posted Image

6)  Next, Garrus needs a specular map for his armor.  Click the little box next to "Specular Level," and once again go to Bitmap.  His specular map is the TUR_ARM_HVYb_Spec_Base.tga file.  Once you open that, hit "Go to Parent" again.

7) Finally, he needs a Normal Map, which is a means of using a texture to simulate the shape of a much higher resolution model.  In the material editor, there is a drop-down menu called "Maps"  Open this up, and you'll see a long list of maps.  The diffuse and specular slots will be filled from what we did earlier, but you'll see an empty one called "Bump"  Click on that, and DO NOT USE BITMAP THIS TIME.  Instead, scroll down the list and use a "Normal Bump" material.  

8) Once you have Normal Bump open, you'll have two slots, Normal and Additional Bump.  Click on "Normal" and click "Bitmap."  We want TUR_ARM_HVYb_Norm_Base.tga.  Open that, then once again "Go to Parent."

9) To apply the material, select Garrus's armor in the viewport.  Once selected, hit "Assign Material to Selection" in the material editor.

Posted Image


Yay!  Now Garrus's armor has a material.  You'll need to repeat this same process for his head, with a slight difference due to it being MultiSubObject. 

With MultiSubObject materials, each slot represents a different part of the model.  In Garrus's case:

Slot1: Head
Slot2: Eyes
Slot3: Visor

Some characters are more complex, but the actual material settings are the same as what I told you about for his armor.  I'll leave you to fill up those three slots, and apply the material to his head.  When you're done, you should be able to see something like this when you hit F9 and Render.

Posted Image


Congratulations!  You've sucessfully imported a character's model, given him an animation, and applied his textures.  You can do this same process for any character in the game, and some of the animations are really fun to play with.  

With Photoshop, you can edit some of the textures and with some practice and knowledge in 3dsmax, you can really get some beautiful results.  After working with Miranda's loyalty outfit for a few hours, I was able to come up with this:

Posted Image

Now, I have prior experience in 3dsmax already so don't get discouraged if your model doesn't immediately look beautiful.  It takes a lot of time and practice to start achieving desirable results, and the journey can be a lot of fun!  
Thank you for sticking with me through this huge tutorial, and I hope you enjoyed it.  If you need any clarification with more pictures or just information, please let me know. 


Oh, and here's the video tutorial I promise.  It ONLY explains extracting the meshes however.
Download here

Edited by JeanLuc761, 28 July 2010 - 02:53 PM.

  • Animositisomina likes this

#4
Siansonea

Siansonea
  • Members
  • 7,280 posts
That Miranda illustration looks fantastic, great job. I wish there was a place where all the characters could be downloaded all ready to go, without going through all that extraction. I've thought about trying my hand at 3D modeling software (I'm a whiz at Photoshop, being a graphic arts professional), and it would be cool if there was a resource library for the various characters.



I'm on a Mac, which further complicates things, so a lot of the extraction stuff wouldn't work for me. If I was serious about 3D character modeling, what software or suite of software would be best for me to get?

#5
Water Dumple

Water Dumple
  • Members
  • 706 posts
That tutorial is quite descriptive. Well played.



Seems like a lot of programs to go through in order to extract the files correctly, but I'm sure it's worth it if you know what you need the models for.

#6
Gamz

Gamz
  • Members
  • 8 posts
When I extract the mesh and textures I had little texture 128x128 px

#7
J4N3_M3

J4N3_M3
  • Members
  • 2,223 posts
  • Dragon Age: Origins Dragon Age 2 Mass Effect 3
...

Edited by J4N3_M3, 25 May 2011 - 07:28 AM.


#8
Mazder

Mazder
  • Members
  • 1,850 posts
  • Mass Effect 3
Hey there, great tutorial I am following it currently fine, until I have to extract.
On step nine I am having a little trouble with your wording there.
What do you mean by "Explorer"?
Do you mean going into the file of uModel and copy and pasting the name into the cmd window/prompt?

#9
CeoBohga

CeoBohga
  • Members
  • 75 posts

Siansonea II wrote...

That Miranda illustration looks fantastic, great job. I wish there was a place where all the characters could be downloaded all ready to go, without going through all that extraction. I've thought about trying my hand at 3D modeling software (I'm a whiz at Photoshop, being a graphic arts professional), and it would be cool if there was a resource library for the various characters.<br />
<br />
I'm on a Mac, which further complicates things, so a lot of the extraction stuff wouldn't work for me. If I was serious about 3D character modeling, what software or suite of software would be best for me to get?


Being a 3ds Max guy myself, I feel dirty saying this, but Maya.  Still as expensive as sin, but it's what I hear most of my Mac using brethren using and my brief time with it wasn't unpleasurable.

Edit:  Removed code that creeped in accidently.

Edited by CeoBohga, 31 May 2011 - 07:48 PM.


#10
Mazder

Mazder
  • Members
  • 1,850 posts
  • Mass Effect 3
Hmmm, after extracting the animation files aren't in the Animset folder at all.
I haven't touched anything, and the cmd prompt is till open just in case.
What has gone wrong here?

#11
Kitanrum

Kitanrum
  • Members
  • 3 posts
Does the work with Autodesk Maya?

#12
datSilencer

datSilencer
  • Members
  • 91 posts

JeanLuc761 wrote...

3) To find content files for the game, you need to navigate to (as an example), C:\\Program Files\\Mass Effect 2\\BioGame\\Cooked PC

4) In the CookedPC folder, you will find thousands of files.  Ignore any file that has an .afc file type; those are sound files.  What you're looking for are the .pcc files.  It'll take some searching but there is a section devoted purely to characters near the bottom.  For example, BioH_Geth_00 will contain Legion's character model, textures, and a basic animation file.

5)  Once you find a .pcc file that interests you, COPY, don't cut, the file and paste it into your uModel folder.


These three steps would explain why Gamz got blurry/small textures. I have some to understand that the whole set of .pcc, .tfc, .acf files bunch constitutes a sort of hierarchy where the resources are interrelated. For example, some .pcc files may rely on other .pcc files for including "references" to animation data.

In the case of textures, besides your target .pcc file, you'll also need a copy of the "Textures.tfc" file so that your target .pcc file can find the "references" to the original textures inside this .tfc file.

So, instead, I would recommend you to copy the entire contents of the CookedPC folder to another location, and point umodel to your target file inside that copied folder, in order to preserve the entire resource relationships when umodel loads the data.

Other than that, this is pretty useful. Cheers!

-ds

Edited by datSilencer, 21 August 2011 - 10:49 AM.


#13
Jakeonator

Jakeonator
  • Members
  • 6 posts
@ JeanLuc761 that was a fantastic tutorial thanks! but on step 3 of the anim set section, i keep getting an error where everytime i try and import the psa (animation set) files, an error is found by 3ds max's complier on line 1314 on the "ActorXImporter.ms" script with a message that says "unkown system exception".
Any help?

here's the code excerpt:
....2: (
local BoneIndex = FindPsaBoneIndex Bones line
if BoneIndex > 0 then
(....

Thanks.

#14
Syraniss

Syraniss
  • Members
  • 44 posts
Excellent tutorial, JeanLuc! But I'm encountering the same problem as Jakeonator, with the unknown system exception error occurring when trying to load the animation track. Internet searchers have thus far proven futile as far as an answer. Any advice would be greatly appreciated!

#15
Rosewind

Rosewind
  • Members
  • 1,801 posts

Syraniss wrote...

Excellent tutorial, JeanLuc! But I'm encountering the same problem as Jakeonator, with the unknown system exception error occurring when trying to load the animation track. Internet searchers have thus far proven futile as far as an answer. Any advice would be greatly appreciated!


Having the same problem, but dont think we will get support it is a year old that post.

#16
ILOSVI2

ILOSVI2
  • Members
  • 24 posts
w00t! time to make some nice mods....HUD change here i come. Awesome tut bro!

Edited by ILOSVI2, 09 January 2012 - 05:18 AM.


#17
Bombe

Bombe
  • Members
  • 148 posts

Rosewind wrote...

Syraniss wrote...

Excellent tutorial, JeanLuc! But I'm encountering the same problem as Jakeonator, with the unknown system exception error occurring when trying to load the animation track. Internet searchers have thus far proven futile as far as an answer. Any advice would be greatly appreciated!


Having the same problem, but dont think we will get support it is a year old that post.


I'm having this problem too!! I've tried google and can't find any help! How about you? Any luck?

#18
Rosewind

Rosewind
  • Members
  • 1,801 posts

Cherie Bombe wrote...

Rosewind wrote...

Syraniss wrote...

Excellent tutorial, JeanLuc! But I'm encountering the same problem as Jakeonator, with the unknown system exception error occurring when trying to load the animation track. Internet searchers have thus far proven futile as far as an answer. Any advice would be greatly appreciated!


Having the same problem, but dont think we will get support it is a year old that post.


I'm having this problem too!! I've tried google and can't find any help! How about you? Any luck?


Actor Importer is not supported in 3d Max 2012 that's why we getting errors but works fine in older versions.

#19
Silicon Czar

Silicon Czar
  • Members
  • 1 posts
Hello. I must preface by saying I have only downloaded 3ds Max 2012 this evening and have no experience with animation beyond what I write below. For those of you who are also getting the "unknown system exception" error with ActorX Importer when trying to import animations, there are alternatives. This page shows 2 alternative paths:
www.unreal.shaungoeppinger.com/devimportinganimsmax.html

The path I chose and I was able to work with successfully was that of the md5 files which Umodel is also able to export.

This page: http://www.unreal.sh...ineeranims.html shows that umodel can take the command:

umodel -export -md5 nameofthefile.pcc

This will create .md5 files instead of .psk and .psa.You can then download the 3ds Max Md5 importer script at:
www.unreal.shaungoeppinger.com/downloads/3dsmax/md5importer.zip

Put this in the 3ds scripts folder instead of ActorX. Otherwise run it the same way as JeanLuc has descriped for ActorX. It took a few seconds to load, but I recievd no error.


Below is my screenshot of Legion with the CB_Holster_Crouch.md5anim applied (in the folder HMM_CB_SniperHolster):

Posted Image


I hope this can help someone. Also, my thanks to JeanLuc761 for posting the original tutorial. I would not have tried any of this in the first place were it not for his post. 

Edited by Silicon Czar, 11 March 2012 - 02:52 AM.


#20
Syraniss

Syraniss
  • Members
  • 44 posts
Redownloading 3ds Max 2011 fixed the problem, thank you! Now to see what fun can be had...

#21
Syraniss

Syraniss
  • Members
  • 44 posts
Having a separate problem, now, which could use some advice: using 3ds Max 2011, the normal maps don't seem to apply correctly. Here's the setup:

www.fallenapple.biz/3dsMax_NormalBump_Error.png

You can see that I have "Bump" selected and filled, just as the tutorial says, but the map itself doesn't seem to affect the render. I didn't have this problem before - is it possible that I am missing a file or directory in the 3ds Max program folder? Thank you for anyone who can offer guidance!

Edited by Syraniss, 31 March 2012 - 10:12 PM.


#22
Verus Amicus

Verus Amicus
  • Members
  • 2 posts
Trying this with Tali. Everything looks perfect but her mask. It looks like it just shoves the suit's tga into the mask... which obviously doesn't look right at all....any ideas?

Posted Image

Edited by Verus Amicus, 01 April 2012 - 04:40 AM.


#23
NekOoNinja

NekOoNinja
  • Members
  • 441 posts
Can anyone confirm if the Milkshape way works? Prefer to work with Maya if possible.

#24
Dalek-Seth

Dalek-Seth
  • Members
  • 9 posts
Hi guys, i love this tutorial. I have a question i was looking for the models for the Turian cruiser seen in the palaven and the human dreadnaught seen in the first level of mass effect 3. I have found the pcc file that contains the cabin models but the textures on some of these are very low res. Does anyone know the name of the pcc file that contains the models you actually see figthing the reapers in game?

#25
eeky

eeky
  • Members
  • 1 posts

Gamz wrote...

When I extract the mesh and textures I had little texture 128x128 px


I got 32x32 px