copyright sensibeat
sloth86's tools: http://aemods.pbworks.com/w/page/42053948/aetools#Sloth86sModelSwapTools
- DDSREFEDIT32.exe
- EMG2SMD.exe
- EMGSWAP.exe
- OBJ2EMG.exe (latest version: http://www.mediafire.com/?p1vvruy4ycy3ejt)
With this method you can only swap static objects assigned to 1 bone.
First chose a .obj you want to swap:
Chose a character and extract the full model as a .obj with sf4explorer:
You'll have to edit the model in your 3D editor to fit the character:
¤ More infos about that part here: http://filthypants.blogspot.com/2009/08/beginners-guide-to-sf4-model-editing.html
¤ To open the .obj in 3ds max you may need to open it and save it in misfit model 3d first.
Now you have your model in place save it and open EMG2SMD.exe:
I want to swap my cap with zangief's hairs (15th #EMG -as viewed in sf4explorer-)
Open the smd in notepad and look for the number of the bone you want to link your object to:
in that case I want to link to the "head bone": #6.
¤ More infos on smd here: http://developer.valvesoftware.com/wiki/Studiomdl_Data
Now you can use OBJ2EMG.exe:
¤ To use a .obj from 3ds max in OBJ2EMG you may need to open it and save it in misfit model 3d first.
Then use EMGSWAP.exe:
We aren't done yet, it needs some textures (diffusion+normal map dds):
¤ See other tutorials to add dds to your col.emb and nml.emb...
Then use DDSREFEDIT32.exe (I renamed former new.emo to ZGF_01.obj.emo before this step):
That looks OK in sf4explorer:
Let's test in game:
edit:
I thought the bone ID# was in hexadecimal in the smb... it's in decimal sorry for the confusion, I erased that part.
You actually need to write it in hexadecimal when you do it manually, we'll see that in another tutorial...
edit 2: I knew I forgot something...
I didn't linked any material features in the .emm to my "mcap"
2 ways to do it:
1) the lazy way: edit the obj.emo in hexadecimal and change "mcap" by a material that could do the trick like "shoes" or "pants"
2) using NanjouJ's matedit tool, replacing an unused material (in that case "hair") by "mcap" and the features you want to use on it.
http://aemods.pbworks.com/w/page/42053948/aetools#NanjouJsMaterialsTool
UPDATE: use sloth86's EMMEdit instead. It's much easier.
Here's the final result with material features added (no more weird reflections):
jam007: thankssssssssss!!!!!!!!!!!!
ReplyDeletegoshaN: I have a questions:
ReplyDeleteYesterday i make Ryu`s wear to Seth.
In SF4Explorer it looks good, but when i tested it in games this i saw this clothes are standing. Why??? Explain me please)
It's because the clothing doesn't have any "bones" in the skeleton to match to. All model movement, including clothing, comes from the skeleton, so for clothes to be animated, the character's skeleton needs to have the appropriate bones to assign to the cloth.
ReplyDeletegoshaN:Thank you!!!
ReplyDeleteI want to ask one more question:
I don`t understand program is DDSREFEDIT32.exe, i can`t textured some parts of body, i make rufus`s hair to zangief and i can`t textured only hair, all model is textured. Explain me please what the problem)please)
Each object references a DDS texture to get its color. DDSREFEDIT lets you change those references, which is necessary if you import a new object.
ReplyDeleteSo, you would need to create new *.col.emb and *.nml.emb files containing the character's original DDS textures plus whichever one(s) is referenced by the imported model (put the new DDS *after* the old ones). Then use DDSREFEDIT to tell the imported object to use the imported DDS texture and normal map.
Make sense?
How I create nnew *.col.emb and *.nml.emb files?
ReplyDeleteI`am from Russia, some words i don`t now)
I think this is the easiest way:
ReplyDeletehttp://filthypants.blogspot.com/2011/07/how-to-create-high-resolution-textures.html
When i create high-resolution textures, i can draw some parts of body in photoshop? Where i can draw the hair on the texrure?
ReplyDeleteThe high-resolution part isn't important, it's just that you're creating new emb files from scratch. These files can have any number or size of DDS textures that you want, including the normal, original DDS files, as well as the one that goes with your new object.
ReplyDeleteIf you're bringing in Rufus' hair, you need the DDS from his col.emb that has his hair on it.
If this doesn't make sense, try reading my tutorial on EMG swapping and see if that helps any.
Wait please, i try to make, like in tutorial on EMG swapping. It is necessary use Kensou`s tools?
ReplyDeleteThe emb files are really just a wrapper around the DDS files. Kensou's tool creates the wrapper for you. If you don't want to use Kensou's tool, you'll have to modify the hex code like in sensibeat's tutorials.
ReplyDeleteModel swapping is difficult, doesn't always work, and relies on a lot of other modding techniques to work. If you are new to SF4 modding, I recommend starting with simple skinning and model editing (I have tutorials for them elsewhere on my site), then move on to hex editing (col-based transparency and material editing), and then maybe come back to model swapping after that.
I can make model, like on the 9 screenshot in the tuturial on EMG swapping. THIS IS DEAD END!) I can`t understand wnat i need do next!))
ReplyDeleteOk, at that point you need to make the emb files that contain your old and new DDS textures and then use DDSREFEDIT to point tell the new object which DDS texture to look for.
ReplyDeleteI don't really know what else to say.
After using Kensou's sf4tool in folder is appear new file: newpack.emz is it right way?
ReplyDeleteyes, that's right. just rename it to ZGF_01_01.col.emb or whatever.
ReplyDeleteIf i makes Ruy, i must write RUY_01_01.col.emb. Than i must use DDSREFEDIT32.exe?
ReplyDeleteyes, that's right. Even before you use DDSREFEDIT, you should be able to load it into SF4Viewer (Asset Explorer) and see it on the model. It will probably just look strange (wrong colors) until you can fix it with DDSREFEDIT.
ReplyDeleteIf the colors don't show up on the model, you've done something wrong.
I load RYU_01_01.col.emb. My textured models looks strange. Now i must use DDSREFEDIT32.exe and than what?
ReplyDeleteOnce you've used DDSREFEDIT to make the textures match the model, you're finished.
ReplyDeleteWhat write in "new texture map", if guy`s texture stay at first?
ReplyDeleteIf you're doing the exact steps from my EMG swap tutorial, I think you would put 4.
ReplyDeleteThe number comes from the number of textures available in the col and nml emb files, starting with the col (and starting with the number 0 instead of 1). So, if you have 4 DDS files in each, and you want to point to the first DDS, your numbers would be 0 for the col and 4 for the nml.
Ok, lets fill:
ReplyDeleteInput EMO file: RYU_01.obj.emo
EMG# : 12 ( this is head)
New texture map# : 0
New normal map# : 4
Output EMO file : new.emo
\/ +1 to every other normal maps references.
GO!
That should be right. However, try it once without checking the box to +1 the normal map references, just to be sure. It's easier to go back and add it, if needed than it is to correct it if you've done it wrong.
ReplyDeleteIn fact, you should probably backup your files now, in case something goes wrong.
hmm....
ReplyDeleteIn the assest explorer there are 5 textures: Guy texture1.dds, 2.dds, 3.dds, 4.dds.dds=>
New texture map# : 0
New normal map# : 5
??
Guy texture.dds, 1.dds, 2.dds, 3.dds, 4.dds.***
ReplyDeleteyes, if you have 5, those numbers would be correct
ReplyDeleteIf i don`t make *.nml files it will be wrong for the texture?
ReplyDeleteYes, if you didn't create a normal map, the object will be looking for the wrong thing and will have a strange textured look to it that won't match up with the colors.
ReplyDeleteSometimes it won't be very noticeable, other times it will.
ok, i must makes nml texture)
ReplyDeleteIt didn`t work(( nml files makes like col files?
ReplyDeleteyes, nml files are DDS textures, just like the colors. You can extract them from the nml.emb files just like we did with the textures.
ReplyDeleteI extract 4 Ruy`s textures (his hand and arm, his face, hislegs and his wear), now i need to extract Guy texture, then makes *.nml like texture. Then use Kensou`s tool and makes newpack.emz - rename it on RYU_01_01.col.emb, then makes newpack.emz for nml files and rename it - RYU_01.nml.emb. THen import this two files. It is right?
ReplyDeleteThat's exactly right :)
ReplyDeleteThen use DDSREFEDIT32.exe.
ReplyDeleteInput EMO file: RYU_01.obj.emo (this file must be on the desktop, RYU_01.obj.emo situated in c:/?)
EMG# : 12 (this is head)
New texture map# : 0 (0 - because Guy`s texture stay at first, 5 - it is number of a nml texture?)
New normal map# : 5
Output EMO file : new.emo
\/ +1 to every other normal maps references.
GO!
It is right?
put the input emo file (in this case, RYU_01.obj.emo) in the same folder with DDSREFEDIT.
ReplyDeleteEverything else looks good, but make sure you backup your files before doing it.
If that doesn't work out correctly, try putting Guy's DDS (color and normal map) AFTER Ryu's and use 4 and 9 for the references with the box checked.
How putting Guy's DDS (color and normal map) AFTER Ryu's? USe the Kenso`s tool?
ReplyDeleteNumbers of texture must be: 1.dds, 2.dds, 3.dds, 4.dds, Guy texture.dds or 4.dds,3.dds,2.dds,1.dds and Guy texture.dds?
ReplyDelete1, 2, 3, 4, guy.
ReplyDeleteI can't keep doing this. you'll have to just try it yourself from here on out. You have all of the information you need. Just backup your files and try things. If they don't work, try something else.
It does bot work((Any way, we(russians) have a good proverb: morning is wise than evening))
ReplyDeleteGood buy, see you tomorrow))
Hello Nunter K.,
ReplyDeleteIt does not work(( why? I do everything right!
I think i have some problems with texture.
In your tutorial on a EMG swapping i see that:"Guy.dds, 2.dds, etc. and Guynmap.dds, 2nmap.dds, etc." => Did you extract texture with Ryu`s bag? I don`t do this)
Your number of texture was (Guy.dds, 2.dds(bag, himo), 3.dds(hand), 4.dds(head), 5.dds(pants), 6.dds(wear)) six?
Why he is black?
ReplyDeletehttp://s016.radikal.ru/i334/1109/2e/8bf5e63e5c4e.jpg
Download this file, please http://www.getzilla.net/files/1732838/wtf___.rar.html and explain my problem.
ReplyDeletethe only sensibeat tool that works for me is obj2emg. the other ones say error:array variable subscript badly formatted. what should i do.
ReplyDeletehey can you update the screen shots ? thanks
ReplyDeletePics restored courtesy of the Wayback Machine :)
ReplyDelete