Model Swapping

Similar to the Thor -> Thor Collectors Edition swap, this time I’ll show how any unit model in the game can be swapped to any other you want. As an example, one I’ve already prepared is Ghost -> Nova which you can download here. To apply it, simply extract the two folders to SC2\Mods\LibertyMulti.SC2Mod (R.I.P 1.3.3).
Now that the previous method has been removed due to a patch, a new more complicated method is required. Instead of creating a folder structure inside LibertyMulti.SC2Mod, you must copy the original MPQs required to that folder and then add the files to the relevant location within the MPQs in use, so you’ll still need MPQEditor. By using this folder prioritising method, no MPQEditing actually takes places which supposedly considers this not disobeying the Blizz Tos, because nowhere did they say we can’t add more folders to theirs. That said, Blizz still have the right to ban anyone for any reason they want, so don’t consider yourself immune to ban just because of this method, although the risk is still incredibly low.

What this folder prioritising does is when you load the game and the game loads all the MPQs, it’ll first look in LibertyMulti.SC2Mod and then Liberty.SC2Mod, but because ghost (or whatever edit you might make) was already loaded from the first folder, it’ll simply skip it from the second, but still load everything else that wasn’t in the first folder.

As you can see from this Nova file, it’s been fully edited to give the correct icon, model, animations, portraits and sounds. With this particular file unfortunately I wasn’t able to animate the portrait. Trying to get a static fully textured version alone took me hours due to Blizzards retarded organisation. A more simple and common edit such as Marine to Marauder would be possible to animate the portrait, because both characters are used within Multiplayer games. Characters like Zeratul, Kerrigan and Nova all have unique portraits which Multiplayer is unable to load animations for as they’re separate files.

To get started on making your own, you’ll need MPQEditor. All characters used in Multiplayer are contained in SC2\Mods\Liberty.SC2Mod folder. A majority of the files like base models, animations and portraits are contained in the base.SC2Assets folder, while sounds are enGB.SC2Assets. I’ll give a simple example for this, being how to swap Marine and Marauder. Keep in mind that with this method you won’t need to be replacing any files within the MPQ itself.

First off, open base.SC2Assets with MPQeditor. The locations we need files from are Portraits, Textures and Units. For portraits, you simply go to terran and extract Marauder  then rename the file inside from MarauderPortrait.m3 to MarinePortrait.m3.
Now go to textures and scroll down to Marauder and there’ll be four .dds files. This will be the same combination for a majority of units, being Marauder_diffuse, Marauder_emmisive, Marauder_normal and Marauderportrait_static for people using the 2D portrait option. Extract these four and rename Marauder to Marine.
Finally go to Units, Terran and now you’ll see some files differentiate a bit because Marine has a lot more than Marauder. The reason for this is because marine has more death animations. All this means is when your new Marine dies, if he dies to something like a siege tank, the model will turn back into a marine and explode. To counter this, just copy MarauderDeath a few times and rename it to MarauderDeathBlast.m3 etc.

You’re now done with this MPQ and can move on to enGB.SC2Assets for the sounds (LocalizedData\Sounds). Open TerranUnitVO\Marauder and you’ll see several files for Deaths, Attacks and so on. Extract them all and rename them to Marine. It’s best to look into the actually marine sounds folder while doing this, because some characters have more sound files than others. Make sure you wind up with the same number. For example, if Marine has 8 attack sounds and Marauder has 7, just copy one and rename it to 8. Files must remain in the same format.

After you’ve done all this, create the same kind of folder structure I made for the Nova MPQ and add all your new files to the appropriate locations. It has to look the same as it did in the MPQ. If something happens like the model has changed but the sounds haven’t, you’ve probably put them in the wrong place.

Now lets say we wanted to do something more difficult, like Ghost to Nova. The main problem with swapping a campaign model with a multiplayer model is the portraits. In campaign, characters portraits are full 3D models which load animations from an individual archive. When you’re playing campaign you may only see the head of the model, but infact the entire body is there, just not visible. Because multiplayer portraits weren’t designed to load animations from an individual archive, it can’t be animated unless you design a brand new model yourself.

Ghost Portrait
Nova Portrait

As you can see, the Ghost portrait only contains the upper half of the original model and contains several animations, while Nova contains the entire model with none. This is the exact model used for Nova in the campaign. The black square at the back is where the background texture is applied.

Higher detailed portraits like novas also have a lot more than 4 textures. She has individual textures for hair, face, eyes, body and any effects. Some of these files are names so rediculously that it also makes them impossible to find, because often the file name isn’t even relevent to the character name, such as “sm_tosh_cloak_noise_norm.dds”, “reflection_marsarabar.dds” or “t1_sm_nova_hair_diff.dds”. In total, novas portrait required  26 textures.

A great way to get the file names is to use the Starcraft II Map Editor you got with the game. After you open it, hold Control, Shift + V to open the model viewer. By default the campaign models aren’t even loaded, so it’s best to take the NovaPortrait.m3, rename it to GhostPortrait and put it within the correct folder structure withing SC2\Mods\LibertyMulti.SC2Mod. This way we can trick it into loading the Nova portrait instead.

Once in the model viewer, expand the Assets folder on the right and go to Portraits, Terran, GhostPortrait and load the .m3. A new folder will appear in the box below. Open it and go to Materials. Within this there’ll be many directories. Expand the first one and a lot of details will pop up. The first four or five details will be follow by a .dds file name. You’ll know which is which because it’ll say .dds at the end.

Expand every one and take note of all the .dds names. These are the files your going to need to find in the textures folder within SC2\Campaigns\Liberty.SC2Campaigns\base.SC2Assets which you open with MPQEditor and go to Assets\Textures. You won’t need to rename these textures as the m3 is designed to load specifically named dds files.

If you have some knowledge with 3D modeling or just want to rescale a model bigger or smaller, these .m3 files can also be imported into Autodesk 3Ds Max using these plug-ins. Extract the 4 .ms files in the scripts folder to C:\Program Files (x86)\Autodesk\3ds Max 2011\Scripts\Startup and then the sc2_objects.ms in plugins folder to C:\Program Files (x86)\Autodesk\3ds Max 2011\plugins.

1. If you want the textures to load with it, put the necessary .dds files into a folder, click Customize at the top of 3Ds Max, Configure User Paths, External Files, Add, then select the folder directory.

2. Then click the hammer icon on the right side of the taskbar on the right of the program, then click MAXScript and use the scrolldown menu to select M3 – Import. Press Open and then locate your .m3 file.

To export your new models, just click on the drop down menu again, select M3 – Export and click Export on the bottom.

If you do replace a model using a character from the campaign, you’ll notice that the characters textures weren’t designed to support the team colours as heavily as one would like. If you want to learn about how to make the team colours a lot more noticeable, I’ve also written a guide on Model Texturing.

24 thoughts on “Model Swapping

  1. I think it would be cool if you could make a tutorial for swapping the terran units with all the campaign units :D
    War pig looks cooler than a marine :D

    • Not a bad idea. It could become awkward for some models like the siege tank though, as their merc unit is like twice the size of the original. I’ll look in to it though, I might be able to rescale the models or something.

      • I want to really thank you that you made that mod :D
        But some little things I would change:
        1. The campaign drop ship is kinda big
        2. a seperate mode with a phantom instead of Nova
        3.If you kepp Nova change the snipe animation, it looks like she´s throwing something instead of shooting

        PS: N1 work :DDD

        • What’s the drop ship bug? And could you link me to a picture or unit info of the phantom? Can’t find it :/ Sounds like it’d look a bit out of place, though.
          I’ll see what I can do about the snipe animation, but I think it’s attached to the model.

    • Ah right, the Spectre :P Yeah, I had a vote for it on Team Liquid and the majority of users wanted Nova instead. I can send you the Spectre files if you want, though.

          • Had a look at spectre, looks like it’s got the same bugs as Nova, and the model is twice the size of marines for some reason. I’m guessing the problem with the animation is that in multiplayer, it’s trying to call the animation “Snipe” when in campaign, snipe is called something else. Still learning a lot about how the models work for sc.

    • This is because the Ghost file has been modified somehow in patch 1.4 and will now be loaded from the Base19679 folder, in the patch.mpq. The Ghost.m3 now needs to be loaded there under Mods/Liberty.SC2mod/base.sc2assets/assets/units/terran/ghost.

      • I put the files in Mods/Liberty.SC2mod/base.sc2assets/assets/units/terran/ghost but it doesn’t work. I found a way around it however. If you open up the Mods/Libertymulti.SC2mod/base.sc2assets/, just copy paste the files that you would normally put in the Liberty.SC2mod into this MPQ.

      • I am having the same problem as above, only when i try to start up starcraft after i have added Ghost.m3, it forces to me patch 1.4 again then aborts at like 3%. the only way to fix it at that point is to reload and start over. (btw, the game loads fine when i do all the mpq meddling, its only when i do the last step to adress the above concern of the ghost model not loading as nova that the the game needs to patch and abort)

  2. Is there any chance that you could make a small video showing how you do?
    I’ve managed to get the portraits and sounds working but,
    i’m not able to replace the ghost textures due to there being many more .dds files for Nova than for the normal ghosts, so i’m not quite sure how to replace these.

    Thanks for the time and effort you put into this.

    • Unfortunately portraits can’t be changed, as far as I’ve discovered, also .gif images won’t be supported for anything. All images need to be in .dds format for mpq editing which can’t be animated.

      • i know they need to be in .dds but since in multiplayer they have all those animated portraits couldn’t you take each from the from .gif and convert each one into a .dds and then name it correctly to have a animated portrait created from the .gif? and also that ghost to nova mod only seems to work in custom games but not ladder games, there a reason for this?

        • Portraits aren’t dds files, they’re 3D animated models. So unfortunately it’s not possible. It works as Nova for me in ladder so I can’t explain why that is :S

          • oh okay, it seems the nova to ghost mod isn’t fully working for me, everything will work except the models stay normal ghost ones

  3. could you maybe make a video on the folder prioritizing since i’ve followed the picture of it and it still doesn’t work with having the models show up in game and even editing the files and not using the folders doesn’t work still.

Leave a Reply