Guide: Creating a Custom Model

FrenzY

Movie Battles II Team Retired
Posts
400
Reaction score
367
With v1.6 came a new feature to add custom models for whichever class you decide. This is more-or-less copied from how Base JKA works, but with a twist - you can now choose which custom model you want per class with a bit of work. All that requires is a tool to opening .pk3s, edit text files and a bit of time understanding how it all works after duplicating and properly renaming directories.

Since one has not been made yet, I have taken the liberty of making this guide to create non-replacing custom models which show up in the custom models section of MBII! If you want to know how to replace a model already in MBII, check out Peneke's video guide which is stickied in this very sub-forum. For those not aware of what I mean by 'custom model', I am referring the screenshot below seen in open/duel mode where if you click the 'custom' tab below the model scroll you are able to select your own shlew of non-officially supported custom models from packs that anyone has made (which show up as default models, like Shadowtrooper for Sith or Jedi Trainer for Jedi classes / etc on the server if the other player does not have it).

Most large packs like H.B. or Peneke use this method now, along side a few ported models which overwrite current MBII models.
1591919084298.png

Alright, now... let's get to it.

You will need:
Part 1 - Choose your process
is it in MBII already or are you adding an external model from JKhub or wherever?

There are a few ways to start by adding a custom model. One way is to add one from an external source, the other is to find an already existing one in MBII's many .pk3s and convert it to a custom model. These are two different processes, I will describe both below:

Process 1 - converting a model from a place like JKHUB to be a custom model.
When you download a model from a place like JKHub or wherever, it usually comes as a .zip-file that contains the .pk3.

First off - Put the MyNewModel.zip on your desktop and unpack it into a folder. (The name of the folder is up to you, it has no importance)

Open the folder and locate the MyNewModel.pk3-file in there. Open it with 7zip, Pakscape, Winrar (or whatever program you are using for Linux/Mac). In case Windows pops up a dialog asking you which Application you want to use to open this file, pick the option that allows you to select the program by yourself and choose that program.

Now that you opened the .pk3 - Unpack it into a folder. (you can name itz z_zz_MyNewModel if you want to, but you can also rename it later)

you'll now see a few of the following folders (Note: in most cases not all of these will be there):

- botfiles (that's for bot-support)
- ext_data (that's for npc-support and hilt-references)
- models (that's the most important one)
- scripts (also for bot-support)
- shaders (well, that's for the shader...)
- sound (here are the taunts, etc...)


First off - you'll delete the folders botfiles ext_data and scripts
These are not required for MBII (if your model doesn't have them, be happy, less work for you).

Now double-click the models folder, you'll find a players folder inside. double-click that too. Now you're almost there, you will see a folder now that is called \"MyNewModel\" (with MyNewModel being whatever model it was you downloaded or are using). You will want to rename this to have the correct prefix of the class you wish for it to be a custom model in.

Here are the class prefixes:
Imperial Soldier: +sol
Rebel Soldier: +tro
Commander: +com
Elite Trooper: +eli
Sith: +sit
Jedi: +jed
Bounty Hunter: +bou
Hero: +her
SBD: +sbd
Wookiee: +woo
Droideka: +dek
Clone: +clo
Mandalorian: +man
ARC: +arc
In this case, we want MyNewModel to be a custom Hero model, so we will rename the directory from MyNewModel to +her_mynewmodel. Anywhere this directory is referenced will now need to be changed, or else you will have messed up shaders and missing textures.

Inside the MyNewModel (now named +her_MyNewModel in this case) make sure to check that the icon is renamed to MB2_Icon_Default or else it may not show up in the custom model area!

I have attached an example of a custom Sith replacement attached at the bottom of this post, Darth Jar Jar!

Now skip to Part 2 to edit the (ignoring Process 2)

Process 2 - converting an already-existing-in-MBII model into a custom model

If the model already exists in MBII, you need to create your own new .pk3 (I advise instead of making a new one, simple copy a current one, add in your new stuff and remove anything old, .pk3s are a bit weird and sometimes creating a new .pk3 will cause issues) and copy those files into this new replacement .pk3.

Where to find the model directory per pack:
- Official models: Most of the officially supported models are found in zz_MBModels, zz_MBModels2 and FAMBmodels .pk3s.
- CMP models: MB2_CMP_Assets2.pk3
- uMad? Pack models: MB2_uM_Assets2.pk3
- Movie Game Map Pack: both 02_MovieGameMappack and 03_MovieGameMappack

Where to find the text assets (.skin and .shader files) you will need to edit with the proper +prefix directory per pack:
- Official models: MBassets3.pk3
- CMP models: MB2_CMP_Assets3.pk3
- uMad? Pack models: MB2_uM_Assets3.pk3
- Movie Game Map Pack: 03_MovieGameMappack

Your process for making this work involves a bit of snooping around and moving text and model assets into your new pk3. The .skin files should be easy to find as they share the same directory as the model directory, but shaders might not be as easy to find as they are not necessarily named in an organized manner. Some models might not be using shaders as well, so maybe get to this at the end once you get your custom model working.
  1. Locate the assets you need for your replacement .pk3
    • find the model directory
    • find the model directory in one of the text asset.pk3s
      • You need to find the .skin of the file you are looking for
      • If the model uses a .shader, you need to edit that shader file with a text editor to have the new +prefix
  2. Put the contents of both model and text asset model directories (in this case we will use MyNewModel as the name of our example) into this new replacement .pk3
    1. copy all assets within the model/nameofplayermodel into your new pk3
    2. Copy any corresponding shader and .skin files into this new pk3
    3. Look for the shader file for your model
Here is an example of how I turned this CMP FA model:
1591951094450.png

Into a custom model replacement .pk3 (attached at the bottom of this guide)
I played this class in the CMP map Snow Facility, and I quite like those models/skins so I looked it up in the MB2_CMP_asset3.pk3's ext_data directory -> ext_data/mb2/teamconfig. opened up sf_jediteam.mbtc with a notepad editor and figured out that sf_facilitycommander was the name of the character file. I opened up that .mbch (found in ext_data/mb2/character) and discovered the model was jedi_hm with the skin hothelite4. I copied that .skin file from models/players/jedi_hm as well as grabbed the icon from mb2_cmp_asset2 and (here is the trickier part) since I recognized that jedi_hm is a base asset, I went out of the mb2 folder and into the base assets to find the .glm! So, after finding the .skin, icon (which I had to rename to match the .skin) and glm, I put it all in in .pk3, renaming that directory and added it's own modeldata.cfg to properly direct this new model to sounds!


Once you have your shader directory, model and sound directory (if using custom sounds) in your new replacement pk3, let's try making it into a Hero! Rename your directory within model/players/MyNewModel to +Her_MyNewModel

Or another class
Imperial Soldier: +sol
Rebel Soldier: +tro
Commander: +com
Elite Trooper: +eli
Sith: +sit
Jedi: +jed
Bounty Hunter: +bou
Hero: +her
SBD: +sbd
Wookiee: +woo
Droideka: +dek
Clone: +clo
Mandalorian: +man
ARC: +arc

You are not done yet, though as you still need to edit the text files (models/player/nameofmodel/model_nameofskin.skin + shaders/nameofshaderfile) regarding MyNewModel that point to the MyNewModel directory. These need to be adjusted to the new +her_MyNewModel directory!


Part 2 - renaming proper directories

Ok, you made it into the heart of the model. If you followed either processes, you should have a .pk3 with three sub directories:

model
shaders
sound (this may be optional if you wish to use already-baked-in-mbii sounds)

Let's start with the model directory. Within models\players\MyNewModel\ you should see a bunch of .jpg's, .tga's, .skin's and a .glm-file. There also should a few .cfg files (modeldata.cfg and holster.cfg being the most important ones)

Let's start by getting your .skin file correct. First, you need to determine which .skin you are using if there are multiple. You also need to rename it to be
Double-click the "model_default.skin" file with Notepad. (Again, if windows gives you a dialogue, chose the option to select the program manually and pick Notepad). Now you'll see some text that'll look something like this:

head,models/players/MyNewModel/hair.tga

If the model is already in MBII, you do not need to change this directory.

If it is a new model which does not exist in MBII, you will need to add your new prefix, in this example it is +her_

(I personally use the search-funtion [shortcut: CTRL+F] to find all the references i need to replace and just paste [shortcut: CTRL+V] the new reference)

head,models/players/+her_MyNewModel/hair.tga

If you also see lines like this:

hips_cap_torso_off,models/players/stormtrooper/caps.tga

Leave them as they are, all lines that point to the /stormtrooper/-folder are just for the caps. (the caps are what tells the game where to dismember a limb if it's cut off by a saber. you see them too when you f.i. cut somebody's arm off, they are the burnt wound you see at the end of the stump)

Once you're done, save the file. (Keep it's exact name - \"model_default.skin\")

If you want to have multiple skins per custom model, just remember to have the icon jpg named appropriately as well. if the skin is named model_haha, the icon should be named mb2_icon_haha.

Delete everything from the folder that you don't use. That means if your model comes with teamsupport, it will have .jpg's, .tga's and .skin-files for a red and a blue skin. If you don't use these skins, you should delete the files that belong to them. (If you delete these unused skins here you should remove their reference in the shader too, it's your choice, i personally do it because having too many shaders can cause a variety of bugs)


Now rename the file "icon_default to "mb2_icon_default" or mb2_icon_nameofskin. Now the icon of your MyNewModel will be seen instead of the icon of the model you wish to replace.


Once you're done, move up two folders until you see the directory called shaders. (If your model doesn't have it, skip this). If you followed process 1 you will need to rename your shaders with the new prefix similarly to how you edited the .skin files. If you followed process 2, you don't need to rename them as they already exist in game.


Again there is only text in the .shader, so it can be opened via a text editor. What you need to do is similar to the job at the \"model_default.skin\"-file. Find and replace every reference that has the name \"MyNewModel\" in it and replace it with \"+her_MyNewModel\" (or whatever the class prefix you want it to be.


Part 3 - Finishing it off / double checking your work

Don't forget to throw in a modeldata.cfg into your model's directory, use other model's modeldata as an easy method to creating your own.

If you did things right, your folder workspace should have just these directories:

models
shaders
sound

Grab a currently-working .pk3 and remove it of contents, and add these in (this is the safest way to avoid a weird .pk3 error)
or
Select all three of them and create a .zip-file called z_z_MyNewModel.zip. Rename this file to z_z_MyNewModel.pk3.

Now put it into your \"MBII\"-folder, delete everything you have on your Desktop from making this custom model and play!

Hop in game and test it! If you see missing textures, you probably made a typo in your .skin file. If you don't see the model at all in the custom models, make sure the mb2_icon_nameofskin is named properly! If you are hearing 'take that!' instead of your expected sounds, you are missing a modeldata.cfg!

I'll be editing this more if there are any updates or typos to fix. Have fun!

FrenzY
 

Attachments

  • z_z_FacilityEliteTrooper.pk3
    508.9 KB · Views: 110
  • z_z_darthjarjar.pk3
    1.3 MB · Views: 167
Last edited:

Nai

Posts
6
Reaction score
2
Hey, guys, im working with sounds and your tutorial was really helping !

Anyway, i still have a lot of confusion about the sound volume to use, if i want my sounds to be as loud as the game's original sounds, i have to crank the volume so high it saturate my sounds...
Its okay to do it that way i guess, it dosent sounds too bad to be unusable, but with that process i loose quite a bit of details from the sounds...

Any proper way to set a correct volume ? do you normalise ?
 

Noob

Nerd
Donator
Posts
1,374
Reaction score
1,384
Hey, guys, im working with sounds and your tutorial was really helping !

Anyway, i still have a lot of confusion about the sound volume to use, if i want my sounds to be as loud as the game's original sounds, i have to crank the volume so high it saturate my sounds...
Its okay to do it that way i guess, it dosent sounds too bad to be unusable, but with that process i loose quite a bit of details from the sounds...

Any proper way to set a correct volume ? do you normalise ?
I usually just crank it up to just before I receive clipping. I don't think there is a set standard between any of the sounds, that I know of.
 
Top