About This File
An addon for Blender that supports import and export operations for .SkinnedMesh, .SkinnedAnim and .Skeleton files. Drag and drop importations are also supported, even for multiple files of the same type.
Meshes to be exported are limited to 65536 vertices, 1 uv map and 1 texture to go along with it. Even stationary objects in the game have a simple skeleton, so it's safe to say that even the simplest object should be exported while being bind to a skeleton. The mesh's textures are not exported by this addon and should be placed manually within xml and zip/folders to work.
Skeletons are limited to 256 bones, should have a bone named "Head"(case-sensitive) and at least one bone named either "base" or "root", both of which are case-insensitive. Not having the "Head" bone causes the game to crash in some cases as it is responsible for the positioning of entity dialog.
There are also three helper operators that can be called from the search menu on Blender: "Check If Armature Is Valid", "Retarget meshes weights to skeleton" and "Rebuild Bone IDs for Armature".
Check if the armature is valid is useful to see if there are any necessary adjustments to be made on the armature for it to be valid for either importation(useful when importing other things that use the armatures, such as skinned meshes) or exportation.
When importing meshes without a valid skeleton, their weights are assigned to vertex groups with bone ids as their name. By selecting one or more meshes and a single armature, retargeting the meshes' weights will rename each vertex group on the meshes to their respective bone in the target armature.
Rebuild bone ids for armature will work as long as a root/base bone is present. It rebuilds invalid bone_id properties on the armature and is necessary to set up new armatures or fix broken ones.
Animations to be exported should have no problems as long as it's target armature is valid. If the "Export all actions in armatures" is not checked, then the currently selected action in the action editor will be exported. Different animations should be organized in different actions.
There are explicit options for choosing whether to export only selected objects now.
There is also a new option to only consider deformation bones. This is useful when exporting rigged armatures so that only bones that are responsible for deformation(and are obligatory bones, such as the root/base and Head bones) are exported, reducing the risk of the armature running over the 256 bone limit. To work with deformation bones one has to rebuild the bone id properties of the whole armature before doing other operations by using the respective operator while having "Consider only deform bones (Recommended)" turned on.
The addon was made for Blender 4.1.0 and probably won't work on earlier versions due to the new drag and drop functionality that Blender added recently. You can try to delete the drag and drop related code and correctly assign the specular value to the correct BSDF shader node on earlier versions and it might just work.
I've created a github repo to help in versioning and keeping track of bug fixes, the download is also there on the releases page:
Link
Or you can download it directly from here.
Edited by Cardboard_Box
New version, new ways to work with the addon
What's New in Version 1.0.1 See changelog
Released
Added some checks for the bones "StaffJoint2" "R_HandEnd1" "L_HandEnd1" to force them to have no parent when importing. The game manually overrides these bones to have no parent, so if their parent is not removed the animations won't work properly.