Commit Graph

37 Commits

Author SHA1 Message Date
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 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 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
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
989onan b015736ead fix merge armatures
now the different options work. and it has an apply transforms
2024-09-13 12:38:08 -04:00
Yusarina dd751a9d32 Merge branch 'main' into MergeBones 2024-09-11 01:36:05 +01:00
989onan dc2b6e46ce Add Bone Tools
- Added merge to active to tools section for bones
- Added merge to individual parents, which merges each selected bone to their parent bone
2024-09-06 12:32:50 -04:00
Onan Chew a08d888acb More cleanup
- operator strings are referenced via the class property rather than a hard coded string
- class names have been cleaned to have _OT_ or _PT_ depending on the kind of class it was.
- Class names should mostly be CamelCase now.
2024-09-04 20:16:34 -04:00
Yusarina 771c4926a6 Progress System
- Added Progress system so the user knows something is being done when there use certain functions. Currently only Join Meshes, Viseme creation and combine materials use it.
- Disbabled some translation debguing stuff to remove spam from the console.
2024-07-25 23:06:20 +01:00
Yusarina bb108d28a0 Importing now removes default cube, camera and light. 2024-07-25 22:18:40 +01:00
Onan Chew b018708005 Merge branch 'main' into Texture-Atlasing 2024-07-24 20:49:25 -04:00
Yusarina 018a080a47 Update common.py 2024-07-25 01:45:21 +01:00
Yusarina deaada347a Shapey Key Update.
- Viesmes will now use selected armature.
- New dropdown menu in the viseme UI so the user can select which mesh to create visemes on.
- New helper function get_armature_meshes
- Added a new check before we create the new visemes to see if any exist, if there do we will remove them and create the new ones.
- fixed several issues and errors.
2024-07-25 01:42:34 +01:00
989onan 54f1800ead Hot Fix
fix texture atlas having registry problems, and the normal maps not looking good after being atlased.
2024-07-24 20:35:49 -04:00
Yusarina ddb76a0c90 Merge branch 'main' into viseme-dev 2024-07-25 00:57:08 +01:00
Yusarina 9bca4888f5 Merge branch 'main' into Digitigrade-legs-tool 2024-07-25 00:50:56 +01:00
Yusarina c27ea638a1 Merge branch 'main' into Import-Anything 2024-07-25 00:48:27 +01:00
989onan 7401ba78d5 Adds a bunch of import methods
Yes I did do this code all myself and they have been looked over and modified since proposed to other addons.

The commented MMD animation importer is stashed as a comment for now till an MMD animation importer is properly created.
2024-07-24 18:20:28 -04:00
989onan ce7c6aa664 Add digitgrade legs tool 2024-07-24 17:41:17 -04:00
Yusarina a8d7cd3032 Typing 2024-07-24 00:52:04 +01:00
Yusarina 76046f7c6d Armature Selection Improvements.
- Added a check to make sure Armature is valid.
- Added a helper to select the current armature  selected in armature selection.
- Added a helper to get all meshes.
- Updated all current functions to work with the system.
2024-07-24 00:27:14 +01:00
Yusarina 06c7cff4b7 Basic Start of Armature Selection 2024-07-22 23:13:10 +01:00
Yusarina 2107c11e66 Organise Code and fixes.
- Organised some of the code better.
- Fixed sort order loop.
- Added typing in some places there wasn't.

This is a very basic start to Viesme creation, I still need to add translations for some stuff and improve it. This is very much inspired from the Cats Version.
2024-07-08 10:14:30 +01:00
Yusarina 07b2dba51f Basic Viseme Creation Support
Does not work yet, but it's the start
2024-07-08 09:41:46 +01:00
989onan 4808d288e2 Added Resonite Tools
- Added Resonite translation with automatic <NOIK> marking. If this doesn't work, please improve the dictionary, or hook it along with others into a better translation layer to deal with identifying body parts
- Added Resonite export, which simply exports the model with the proper settings as a GLB/GLTF for more graceful importing and editing within the game.
2024-07-04 16:38:31 -04:00
Yusarina 31f76931b9 Tpying 2 2024-06-19 00:01:26 +01:00
Yusarina fc0fb5035b Typing 2024-06-18 23:55:04 +01:00
Yusarina 1d507ddaa0 Add some Basic Functions
- Added functions folder.
- Added Combine Materials (Basic and needs imporvements.
- Added common file, this is where any common things that could be used by multiple functions will live.
- Clean materials, basic at the minute it cleans up material names in the given mesh by removing the '.001' suffix.
- Added fix UV Cords in which is in common, this should fix faulty uv coordinates, may need improvements as it's was the best way i could think of for the time being.
- Added join all meshes and selected meshes functions, this will use the fix uv cords while joining mehses. This is pretty basic as blender is quite good at doing the mesh joining itself. We may want to expand it in the future though.
2024-06-18 03:54:10 +01:00