Commit Graph

109 Commits

Author SHA1 Message Date
Yusarina f4dc74d091 Fixes 2024-12-14 01:10:24 +00:00
Yusarina 1e0fe403aa Re-do 3rd attempt I hate MMD stuff 2024-12-13 01:59:28 +00:00
Yusarina c39f77d6d5 Re-do still hate it 2024-12-08 06:52:05 +00:00
Yusarina 3e187bd18a Start of MMD Tools
- The idea is to have several buttons which kinda mimic what Cats used to do.
- These are very basic, don't work very well, will improve before Alpha 1.
2024-12-05 15:09:40 +00:00
Yusarina b1631b2868 Tools Panel Finished. 2024-12-05 14:44:41 +00:00
Yusarina 5ce3f9ff68 Start of Tools Panel
Several Improvements and etc. Still need to do the other half of the functions but getting there.
2024-12-05 13:36:25 +00:00
Yusarina 9cc5a41a98 Optimzation Panel Re-Added
- Major Improvements all round, Join Meshes improved, Combined Materials, Remove Doubles Improvements.
2024-12-05 01:13:10 +00:00
Yusarina 9961223548 Setting Panel Added, Debuging Added.
Added the Armature Validation modes now, we have Stritct, Basic and None, it will give a warning to the user in the panel if there have it set to basic or none.
Settings panel added, langauge change has been added back. Did some work on it to slightl improve the system.
Added dubug area, basically everything but autoload will use logging now, you be able to turn it on/off in debug settings.
Did other bits and bobs.
2024-12-04 14:58:34 +00:00
Yusarina 5dcaba381d Pose mode improvements, armature validation improvements.
Pose mode Improvements:

Batch processing for all mesh operations
Numpy-powered vertex array handling
Optimized modifier stack management
Smart shape key processing
Enhanced progress tracking

The armature validation system improvements:

Essential bones (hips, spine, chest, neck, head)
Proper bone hierarchy validation
Symmetry pair verification (e.g., arm.l/arm.r)
2024-12-04 00:54:21 +00:00
Yusarina ff23d23cfc Start of the Major Overhaul
I decided to go through each function and UI section one by one, improving and overhauling things. Each function and section is going to be fully tested and not rushed out.

This is the best way to catch things, but also include the code base as much as possible.
2024-12-03 22:58:17 +00:00
Yusarina 7f9dc20564 Fixes 2024-12-03 17:40:31 +00:00
Yusarina 7e584e3648 Fixes
This fixes is to get everything working on the new auto load and properties system.
Also some other small fixes.
2024-12-03 01:26:10 +00:00
Yusarina fe8f5f69d5 Plugin Registration Changes
- Re-wrote how the plugin registers itself.
- No longer need @register_wrapper classes get auto detected and added.
- The new Auto loader is much better then the old way, no longer need "if "bpy" not in locals():" this was an old way of doing things and wasn't really efficient.

 using auto_load.py provides several advantages:

- It automatically discovers and loads all modules in the addon.
- It handles dependencies between classes correctly through topological sorting.
- It manages registration order automatically.
- It properly handles unregistration in the correct order.

This approach is much less error prone and I not had any issues so far. However it still needs testing fully.

I have also start to re-organise files into folders as well, this is going to be needed so we don't have a long list of files as Avatar Toolkit is getting larger then i originally planned.
2024-12-02 01:52:11 +00:00
Yusarina 6b6773e70a Further Fixes to Optimise Armature 2024-11-27 03:41:57 +00:00
Yusarina 503b8f0919 Make sure it end in Object mode 2024-11-27 03:36:56 +00:00
Yusarina 27ebd5ebfb Fixes
- Optimise Armature no longer errors out and bones don't change position now.
- Improvements to remove zero bones.
2024-11-27 03:34:10 +00:00
Yusarina 0ac4b4a144 Join Meshes Fixes 2024-11-27 02:56:12 +00:00
Yusarina bb77d54a49 UI Improvements for Atlasing
Made some UI imprvoements to the Atlas system, uses icons, able to collapse materials to prevent a huge long list and more.
2024-11-26 03:50:56 +00:00
Yusarina 4d20ce77f7 More Fixes
- Fixes an other error in the updater due to urllib not being imported and used correctly.
- Small Atlas Texturing fixes and UI Improvements.
2024-11-26 03:12:42 +00:00
Yusarina 346f73ebb0 Bug Fixes
- Fixes issue where console was getting spammed re armature selection.
- Fixes apply as rest pose issues and improves the system. https://github.com/teamneoneko/Avatar-Toolkit/issues/52
- Fixes Apply pose to shapekey, it does what it's meant to do now. https://github.com/teamneoneko/Avatar-Toolkit/issues/52
- Fixes error in updater when there no updates to list.
2024-11-26 02:42:17 +00:00
Yusarina 56706c859f Bug fixes
- First attempt to get Chinese Characters to work, kinda working, but also not.
- Small bug fixes.
2024-11-26 01:07:51 +00:00
Yusarina 1b908a4200 Fixes 2024-10-22 00:08:07 +01:00
Onan Chew db2e3e8787 Merge pull request #63 from Yusarina/cleanup-p1
Cleanup p1
2024-10-18 18:03:29 -04:00
Onan Chew a817ef341f Merge pull request #66 from Yusarina/import_anything_changes
VRM Added, Import Anything chages.
2024-10-18 18:02:50 -04:00
Yusarina 1fb1e74689 Add remove doubles warning
Gives user a warning about how long advanced remove doubles takes.
2024-10-14 05:31:13 +01:00
Yusarina 670115a947 VRM Added, Import Anything chages.
- Added VRM to the list of files able to be imported.
- Added error handling for missing vrm importer, will popup to the user telling them to download vrm addon.
- Removed automatically url opening as we should have user consent to open a url, automatic url opening goes against blenders best practices and can be a security concern.
- Optimised the way we import multiple models, the old way just added unnecessary complexity, The try-except block was used to iterate over self.files and set is_multi to True if no exception occurs. However, this is an unnecessarily complex way to determine if the list is non-empty. Simply checking the length of the list is more straightforward and efficient. The way we were using the try-except box could of also lead to silent failures which is not user friendly.
2024-10-14 00:13:08 +01:00
Yusarina 503ba52b9b Move Separate By to Additional Tools
Move Separate BY to Additional tools, makes no sense having these smaller functions in it's own file.
2024-09-27 22:59:45 +01:00
Yusarina 909b104882 Move Join Meshes to Mesh Tools
I see no point having two files here if we can just move join meshes into the mesh tools file.
2024-09-27 22:58:01 +01:00
Yusarina f64c8daa03 Merge pull request #60 from Yusarina/mmd_options
Mmd options (WIP)
2024-09-26 00:52:49 +01:00
Yusarina 5addb26ad4 Small Fixes, forgot some things change in the API 2024-09-26 00:21:37 +01:00
Yusarina 3c2a63f29a Improvements and fixes to some whoopsies
- Fixed double import
- Improved Cleanup mesh, includes removal of empty shapekeys and unused vertex groups.
- Optimise Armature now includes fix broken names function
- Optimise Weights now includes a limit for bone weights
- Material conversion now handles transparency
- automatically rename bones to a standard naming convention such as  _Left _Right

Still no where near complete, but I getting there.
2024-09-26 00:11:52 +01:00
Yusarina 6c918b8209 Very Basic MMD Options Panel (MASSIVE WIP)
This is a massive WIP most options don't work yet. However this is the start of it.
2024-09-25 23:48:16 +01:00
Yusarina fcbcd0a4fb Quick Fix to Apply shapeky to basis
Was causing addon not to load, just a quick fix.
2024-09-25 23:42:55 +01:00
Yusarina 4f572e069f Merge branch 'main' into remove_constraints 2024-09-22 22:53:29 +01:00
Yusarina fc0bafef48 Merge pull request #58 from 989onan/MergeArmatures
Add apply shapekey to basis
2024-09-22 22:46:55 +01:00
989onan 8191c795f4 Add apply shapekey to basis
add apply shapekey to basis to shapekey menu

I believe I wrote this simple implementation for Tuxedo, I don't remember how I came up with it.
2024-09-22 14:50:26 -04:00
Yusarina a3111644af Rigify To Unity Function
- This is an work in progress, this expands on the system that NyankoNyan and improves that system.

- It remaps the bone hierarchy to match Unity's expectations
- It adds necessary constraints to ensure proper bone movement (For the people who need it, can be removed via remove constraints button).
- It removes redundant bones that could cause issues in Unity.
- It renames bones to match Unity's Humanoid Avatar naming convention.
- It provides an option to merge or remove twist bones, which are not supported by Unity's humanoid system.
- It adjusts bone connections and deformation settings.

I think more needs to be added, but this seems to work for now.
2024-09-20 16:48:51 +01:00
Yusarina 9361423335 Remove Bone Constraints
- Adds Remove Bone Constraints, this uses pose mode instead of edit mode as this is supposedly a safer method.
2024-09-20 12:18:08 +01:00
Yusarina 5086e753c1 Connect Bones
- Connect bones button added.
- Added slider so the user can choose the distance, cats was set at a hard coded amount which could sometimes cause some issues for some modals.
2024-09-20 12:03:36 +01:00
Yusarina 1782e54ff3 Report to user what we done. 2024-09-19 23:43:25 +01:00
989onan b015736ead fix merge armatures
now the different options work. and it has an apply transforms
2024-09-13 12:38:08 -04:00
989onan 0cb4d6bb3a Merge armatures button 2024-09-12 21:56:39 -04:00
989onan 4f211bd79a fix more 2024-09-11 21:01:34 -04:00
Onan Chew f35e1235e0 Merge branch 'teamneoneko:main' into RemoveUnusedShapekeys 2024-09-10 21:23:04 -04:00
989onan 494077b1a0 fix some broken changes 2024-09-10 21:11:36 -04:00
Onan Chew 178d76d89f Merge branch 'main' into PoseMode 2024-09-10 20:47:06 -04:00
Yusarina c987a6d69f Merge branch 'main' into RemoveUnusedShapekeys 2024-09-11 01:43:15 +01:00
Yusarina e766c20764 Merge branch 'main' into UVAligner 2024-09-11 01:41:05 +01:00
Onan Chew f7d4e4e5e9 Merge branch 'main' into RemoveUnusedShapekeys 2024-09-10 20:36:38 -04:00
Yusarina dd751a9d32 Merge branch 'main' into MergeBones 2024-09-11 01:36:05 +01:00