07-26-2015, 06:25 PM
Hey everone!
A couple of weeks ago I wrote a Blender script that extracts and exports DragonBall XenoVerse character models. After extracting a bunch and uploading them however, I was notified that the models do not meet this site's standards. I exported the models in a way that left as much of their original file layout in tact as possible for modding purposes, but it seems this site is far more heavily focused on usability. Hard to argue with that!
Unfortunately I don't really feel like going through them all again and pick the script back up, so I figured I'd just release everything I have for others to play with.
What needs to be fixed?
- Textures must be PNG only
- Move alpha channels in alpha-only textures to RGB or BW space
- Rename textures from "XXX_005_PartName/DATA000.png" to "XXX_005_PartName_000.png" e.g.
- Consolidate all "PartName" texture folders into the single parent "Textures" folder
- Join all mesh objects into one (Torso, Head, Arms, etc.)
- Include an exported OBJ and/ or DAE version as well
- While you're at it, the grayscale diffuse detail maps could use a cutoff; they don't have the blurry outline in-game.
How the script works:
The main script is in the top-left Text view and can be run by hovering over it and pressing "alt+P". The script then finds the relevant data, runs it through the existing LibXenoverse tools, imports and assembles the resulting files, and then exports an FBX file.
I think the script is fairly linear and easy to follow, as well as decently commented. There are some weird lines like "['Something', 'SomethingElse'][1]", but these are just to allow for quick switching, as some characters follow different conventions. I.e.: To some a hat may need to be alligned to the Head bone, while another needs the Neck bone.
To make it all work on your end you need to:
- Have ImageMagick installed and added to your PATH. (Standard install seems to do so automatically iirc.)
- Have LibXenoverse installed.
- Have "emdtxi.exe" placed inside LibXenoverse's /bin folder. (See link below -> Tools.)
- Point the Blender script to your LibXenoverse directory (at the top of the script).
- Have an extracted DragonBall XenoVerse "DATA1" folder.
- Point the Blender script to DATA1's "chara" folder (at the top of the script).
- Specify the character code and versions you wish to extract (at the bottom of the script).
Pitfalls and caveats:
- There doesn't seem to be any clear way of determining whether a texture is special in any way, or can just be used as-is. To that end, I have added some "texture modifier" and "material modifier" code, to provide some user-level control over that.
- This also goes for model parts; the usual formula usually works, but there are exceptions like different part fallbacks and/ or requirements.
- I changed the script half-way through, so you will need to check if the character you're importing has some old "material modifier" code, somewhat near the top of the script.
- Teen Gohan had something weird going on, so I advice against starting with him. Videl seems to have a good coverage of different parts and possible pitfalls.
Downloads:
I've uploaded all characters I had ripped but were rejected to a public Dropbox folder (in FBX format), as well as my .blend file and emdtxi.exe application. I have also uploaded the emdtxi source code there, should you fear any viruses or just want to build it yourself. Note though that it is dependant on existing LibXenoverse code.
Now then, at long last - the link: https://www.dropbox.com/sh/yoek9rofktna4...HzRba?dl=0
If you have any questions, please feel free to ask! Hope someone will find this useful; enjoy!
A couple of weeks ago I wrote a Blender script that extracts and exports DragonBall XenoVerse character models. After extracting a bunch and uploading them however, I was notified that the models do not meet this site's standards. I exported the models in a way that left as much of their original file layout in tact as possible for modding purposes, but it seems this site is far more heavily focused on usability. Hard to argue with that!
Unfortunately I don't really feel like going through them all again and pick the script back up, so I figured I'd just release everything I have for others to play with.
What needs to be fixed?
- Textures must be PNG only
- Move alpha channels in alpha-only textures to RGB or BW space
- Rename textures from "XXX_005_PartName/DATA000.png" to "XXX_005_PartName_000.png" e.g.
- Consolidate all "PartName" texture folders into the single parent "Textures" folder
- Join all mesh objects into one (Torso, Head, Arms, etc.)
- Include an exported OBJ and/ or DAE version as well
- While you're at it, the grayscale diffuse detail maps could use a cutoff; they don't have the blurry outline in-game.
How the script works:
The main script is in the top-left Text view and can be run by hovering over it and pressing "alt+P". The script then finds the relevant data, runs it through the existing LibXenoverse tools, imports and assembles the resulting files, and then exports an FBX file.
I think the script is fairly linear and easy to follow, as well as decently commented. There are some weird lines like "['Something', 'SomethingElse'][1]", but these are just to allow for quick switching, as some characters follow different conventions. I.e.: To some a hat may need to be alligned to the Head bone, while another needs the Neck bone.
To make it all work on your end you need to:
- Have ImageMagick installed and added to your PATH. (Standard install seems to do so automatically iirc.)
- Have LibXenoverse installed.
- Have "emdtxi.exe" placed inside LibXenoverse's /bin folder. (See link below -> Tools.)
- Point the Blender script to your LibXenoverse directory (at the top of the script).
- Have an extracted DragonBall XenoVerse "DATA1" folder.
- Point the Blender script to DATA1's "chara" folder (at the top of the script).
- Specify the character code and versions you wish to extract (at the bottom of the script).
Pitfalls and caveats:
- There doesn't seem to be any clear way of determining whether a texture is special in any way, or can just be used as-is. To that end, I have added some "texture modifier" and "material modifier" code, to provide some user-level control over that.
- This also goes for model parts; the usual formula usually works, but there are exceptions like different part fallbacks and/ or requirements.
- I changed the script half-way through, so you will need to check if the character you're importing has some old "material modifier" code, somewhat near the top of the script.
- Teen Gohan had something weird going on, so I advice against starting with him. Videl seems to have a good coverage of different parts and possible pitfalls.
Downloads:
I've uploaded all characters I had ripped but were rejected to a public Dropbox folder (in FBX format), as well as my .blend file and emdtxi.exe application. I have also uploaded the emdtxi source code there, should you fear any viruses or just want to build it yourself. Note though that it is dependant on existing LibXenoverse code.
Now then, at long last - the link: https://www.dropbox.com/sh/yoek9rofktna4...HzRba?dl=0
If you have any questions, please feel free to ask! Hope someone will find this useful; enjoy!