LoL Custom Skin Model Tool-kit Now Open for Beta Testing

1234511 ... 30
Comment below rating threshold, click here to show it.

renticletape

Senior Member

07-04-2010

Note by Pendragon: Usage of this tool, or any tool to modify game files can break your ability to patch

Many of you may have already got a sneak peak at this tool I have been working on if you checked out my Teen Annie custom skin thread.

Basically what this is, is a tool that will allow you to create completely custom skins with new models and everything. Not just simple texture swaps. This will allow endless possibilities for new custom champion skins. Keep in mind however, these skins are client sided only. If you want skins that anyone can see, you need to purchase official ones them from the Riot Store.

I don't want to make the community wait too long for this opportunity to reach a new era of user content so I decided to release my initial beta version of this tool kit. It is far from complete, so right now it is fairly rudimentary and difficult to use but it can get the job done. Keep in mind this is an extremely early build. In fact so early that I have only started working on it yesterday.

I am releasing this to see what kind of issues users will run into trying to make custom skin models and I will try to address them in future versions.

Right now there is no support for custom animations, so you must use the base animations of the current champions. This feature will be added in a future release tho.

I also plan on creating a more streamlined user friendly interface in the future as well as a skin manager and model/animation viewer, but that is down the road.

For those who are concerned about the possible misuse of this utility. As a disclaimer, I take no responsibility for what any user chooses to do with this tool. One of the restrictions of this tool is that you must use the base animations for a custom skin model. This means that the model must fit around the original model. No size scaling or visibility modifications can really be made. A custom skin model will not effect the champion's visibility in brush or fog and will not effect the hitbox radius for the champions. The modification is purely visual and no advantage is given by having a different skin model on a character.

I am creating this thread particularly for development feedback and discussion of this new tool. If you are an experienced programmer and would like to collaborate on this project, let me know!!!

Anyways, here is the readme:

Quote:
Originally Posted by README.txt
League of Legends Custom Skin Tool-Kit Beta
by renticletape

Changelog:
Beta 0.3:
-Fixed crash/hang on files with more than 1 material

Beta 0.2:
-Organized code a bit better
-Fixed UV horizontal flipping issue
-Included full source code

Description:
This tool allows you to create custom model skins for League of Legends. Unlike simple texture swap mods, this tool allows you to completely change the model allowing unrestricted possibilities for custom skins and new champion models. This is just a beta version for testing so expect bugs. If you find any issues, be sure to post about it in the thread for this utility on the League of Legends forums.

Instructions:
Before you continue, you need to have the following:
- Any recent version of Maya with support for Python scripts.
- Good knowlege on how to execute custom scripts within Maya.
- Strong knowlege on character rigging in Maya.
- Experience working with commandline utilities.
- Image editing software capable of exporting as DDS.

This tool consists of these 3 components:
- The Maya skeleton import script
- The Maya skin model export script
- The ASCII to Binary Skin Model compiler

Step 1: Extracting the Champion's skeleton and skin model
To create a new custom skin model, you must first locate the skeleton file for the champion you wish to create a custom skin model for. The skeleton files are the files with the .skl file extention. You may also want to extract the .skn (skin model) file since this utility can also convert them to a .obj. These are all located in the HeroPak_client archive the your League of Legends game folder. Simply use any unzipping utility to extract them.

Once you extracted them, place them in the same folder as the lolskintool.exe. Open the command prompt and run:
"lolskintool.exe d skl mychampion.skl mychampion.skl.txt"

If you also want the model for reference, run the command:

"lolskintool.exe d skn mychampion.skn mychampion.obj"

to convert the .skn to a .obj which can be imported into maya.

Now launch Maya and load up the Maya_LoL_skl_import.py script. It can be easily loaded by opening the Script Editor and drag and droping the script onto the python panel then clicking the execute button. Once it is loaded, in the mel command terminal for maya type exactly as seen:

python "importSkeleton('C:\\complete\\path\\to\\skl\\text \\file.skl.txt')"

Pay close attention to the use of single quotes, double quotes and the double "\\" for the directory. If you do this wrong you will get a IOError from python.

If the script runs successfully, then you should see the skeleton in you viewport. Just import the .obj if you want to see it overlayed onto the model.

STEP 2: Rigging your custom model
Before you rig your custom model, make sure that you finished all optimization and delete all construction history and triangulated your mesh. (If you don't triangulate, your mesh will have holes in it) Also, the entire model must have only 1 material. If the skin model you imported used no materials, make sure that you have the default "lambert1" material applied. This is very important. Otherwise, make sure that the name of the materal applied matches the exact name of the original skin's material. For example annie's material name is "Annie_". Also, your model must be 1 single combined mesh. The exporter will only export weights from a single smooth binded skinned mesh.

To skin your model, make sure you use the smooth bind skinning operation. All vertices are assumed to be bound to some bone in your mesh so make sure nothing is left unbound.

Once you are completed with the skinning of your model, load up the Maya_LoL_skn_export.mel script. Once the script is loaded, select the your model that you wish to export go to the Mel command terminal and type:

exportMesh("C:\\Full\\Path\\To\\File.txt")
This will dump out a text version of your skinned model.

STEP 3: Compiling and testing your custom model
No we are ready to compile and test out your new model. Once you have exported the skinned model from Maya, make sure it is in the same directory as the lolskintool.exe and go back to the command prompt. To compile the model back into a .skn file type:

"lolskintool.exe c skn mychampion.txt mychampion.skn"

You may want to compare the original .skn file and the new custom .skn file in a hex editor to verify that the material names match up. They are usually the first thing you see in the file. To install the skin, place the model into the League of Legend's game\data\Characters\<championName> folder. If the Characters folder does not exist, create one. Also, the skin texture needs to be exported as a DDS and replace the original .dds file with your new skin texture. Launch league of legends and create a practice game to test your model in the game.

WARNING!!! ALWAYS BACK UP YOUR GAME FOLDER BEFORE INSTALLING ANY CUSTOM SKINS. NOT DOING SO WILL RESULT IN BREAKING ALL FUTURE UPDATE PATCHES AND YOU WILL HAVE TO REINSTALL THE GAME.

UPDATE!!!
I released the first ever custom model skin using this tool: Yoshi KogMaw!
http://www.leagueoflegends.com/board...d.php?t=155285
You can download it and test it out for yourself.

UPDATE 2:
New version - Beta 0.2 (inc. source code)
-Organized code a bit better
-Fixed UV horizontal flipping issue
-Included full source code

UPDATE 3:
New version - Beta 0.3 (inc. source code)
-Fixed crash/hang on files with more than 1 material


Comment below rating threshold, click here to show it.

SunKyu

Senior Member

07-04-2010

only maya? it was much easier deleting stuffs in uv mapper, lulz.


Comment below rating threshold, click here to show it.

Judicator Wombat

Senior Member

07-04-2010

Shouldn't it be "create new fully skinned custom models"?

Other than that, though, rad


Comment below rating threshold, click here to show it.

StaticFrog

Senior Member

07-04-2010

Can't wait to see what the community makes!


Comment below rating threshold, click here to show it.

renticletape

Senior Member

07-04-2010

Quote:
Originally Posted by SunKyu View Post
only maya? it was much easier deleting stuffs in uv mapper, lulz.
Well the scripts only run in Maya, but it shouldn't be difficult to write scripts for other applications that can import and export to the ASCII formats that are compiled by my utility.


Comment below rating threshold, click here to show it.

Aarku

This user has referred a friend to League of Legends, click for more information

Senior Member

07-04-2010

Cool,
I have no idea how to model/reskin stuff so I guess I'll leave this up to the people who know how


Comment below rating threshold, click here to show it.

IEatU

Senior Member

07-05-2010

yay psssttt how bout also releasing the annie skin?
i know its not finished but it'll be coooool


Comment below rating threshold, click here to show it.

ZuKii

Senior Member

07-05-2010

Quote:
Originally Posted by renticletape View Post
This means that the model must fit around the original model. No size scaling or visibility modifications can really be made. A custom skin model will not effect the champion's visibility in brush or fog and will not effect the hitbox radius for the champions.
So does that mean your teen annie skin can never be taller than normal annie because of the restrictions?


Comment below rating threshold, click here to show it.

piratesas

Senior Member

07-05-2010

Quote:
Originally Posted by ZuKii View Post
So does that mean your teen annie skin can never be taller than normal annie because of the restrictions?
Probably

But Annie is the largest 8 year old you've ever seen, so I think there's ways around that


Comment below rating threshold, click here to show it.

qRv5TJD8smYKmbyw

Senior Member

07-05-2010

Very nice.


1234511 ... 30