Monday, September 19, 2011

SSF4AE - Swapping Static Objects with sloth86's Tools

Swapping static objects with sloth86's tools.
copyright sensibeat

sloth86's toolshttp://aemods.pbworks.com/w/page/42053948/aetools#Sloth86sModelSwapTools

piecemonteeSF4explorerV0.37b.exehttp://sf4viewer.sourceforge.net/

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):

45 comments:

Anonymous said...

jam007: thankssssssssss!!!!!!!!!!!!

Anonymous said...

goshaN: I have a questions:
Yesterday 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)

Hunter K. said...

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.

Anonymous said...

goshaN:Thank you!!!
I 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)

Hunter K. said...

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.

So, 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?

Anonymous said...

How I create nnew *.col.emb and *.nml.emb files?
I`am from Russia, some words i don`t now)

Hunter K. said...

I think this is the easiest way:
http://filthypants.blogspot.com/2011/07/how-to-create-high-resolution-textures.html

Anonymous said...

When i create high-resolution textures, i can draw some parts of body in photoshop? Where i can draw the hair on the texrure?

Hunter K. said...

The 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.

If 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.

Anonymous said...

Wait please, i try to make, like in tutorial on EMG swapping. It is necessary use Kensou`s tools?

Hunter K. said...

The 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.

Model 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.

Anonymous said...

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!))

Hunter K. said...

Ok, 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.

I don't really know what else to say.

Anonymous said...

After using Kensou's sf4tool in folder is appear new file: newpack.emz is it right way?

Hunter K. said...

yes, that's right. just rename it to ZGF_01_01.col.emb or whatever.

Anonymous said...

If i makes Ruy, i must write RUY_01_01.col.emb. Than i must use DDSREFEDIT32.exe?

Hunter K. said...

yes, 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.

If the colors don't show up on the model, you've done something wrong.

Anonymous said...

I load RYU_01_01.col.emb. My textured models looks strange. Now i must use DDSREFEDIT32.exe and than what?

Hunter K. said...

Once you've used DDSREFEDIT to make the textures match the model, you're finished.

Anonymous said...

What write in "new texture map", if guy`s texture stay at first?

Hunter K. said...

If you're doing the exact steps from my EMG swap tutorial, I think you would put 4.

The 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.

Anonymous said...

Ok, lets fill:
Input 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!

Hunter K. said...

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.

In fact, you should probably backup your files now, in case something goes wrong.

Anonymous said...

hmm....
In 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
??

Anonymous said...

Guy texture.dds, 1.dds, 2.dds, 3.dds, 4.dds.***

Hunter K. said...

yes, if you have 5, those numbers would be correct

Anonymous said...

If i don`t make *.nml files it will be wrong for the texture?

Hunter K. said...

Yes, 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.

Sometimes it won't be very noticeable, other times it will.

Anonymous said...

ok, i must makes nml texture)

Anonymous said...

It didn`t work(( nml files makes like col files?

Hunter K. said...

yes, 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.

Anonymous said...

I 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?

Hunter K. said...

That's exactly right :)

Anonymous said...

Then use DDSREFEDIT32.exe.
Input 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?

Hunter K. said...

put the input emo file (in this case, RYU_01.obj.emo) in the same folder with DDSREFEDIT.

Everything 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.

Anonymous said...

How putting Guy's DDS (color and normal map) AFTER Ryu's? USe the Kenso`s tool?

Anonymous said...

Numbers 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?

Hunter K. said...

1, 2, 3, 4, guy.

I 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.

Anonymous said...

It does bot work((Any way, we(russians) have a good proverb: morning is wise than evening))
Good buy, see you tomorrow))

Anonymous said...

Hello Nunter K.,
It 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?

Anonymous said...

Why he is black?
http://s016.radikal.ru/i334/1109/2e/8bf5e63e5c4e.jpg

Anonymous said...

Download this file, please http://www.getzilla.net/files/1732838/wtf___.rar.html and explain my problem.

Anonymous said...

the only sensibeat tool that works for me is obj2emg. the other ones say error:array variable subscript badly formatted. what should i do.

Anonymous said...

hey can you update the screen shots ? thanks

Hunter K. said...

Pics restored courtesy of the Wayback Machine :)

Analytics Tracking Footer