Add a "Tag non-humanoid bones with <NoIK>" option when using Armature Merging? #136

Closed
opened 2024-07-04 17:09:52 +00:00 by Ghost · 4 comments
Ghost commented 2024-07-04 17:09:52 +00:00 (Migrated from git.disroot.org)

The Problem

Currently, as of writing this, Resonite's model importer can sometimes have issues when non-humanoid rig bones contain humanoid rig bone names, which causes Resonite to select the incorrect bone for the IK system. An example of this is a model containing a bone named "Chest", and a bone named "ChestStrapsBack". When importing into Resonite, there is a chance for Resonite to select "ChestStrapsBack" as the IK bone for the chest, resulting in a broken IK setup.

Proposed Resolution

This issue can be resolved by altering the name of every non-humanoid rig bone, placing the "" tag anywhere in the name, however this is time consuming and quite tedious to search the bone hierarchy to find every single one that should have it (as child bones do NOT inherit the No IK tag). As such, I would like to suggest that an extra toggle is added with Armature Merging which means any non-humanoid rig bone that doesn't follow the Unity Mecanim humanoid bone specification has a "" tag prefixed/suffixed onto its name.

Potential Issues

This could have the issue of occasional false positives, however I believe fixing a few incorrectly tagged bones would be better than having to go through every single non-humanoid bone on a (potentially quite large) model to prefix/suffix them with "", and would therefore be a life saver for some Resonite creators like myself.

If you have any questions about this request, feel free to let me know and I'll respond as soon as possible!

## The Problem Currently, as of writing this, Resonite's model importer can sometimes have issues when non-humanoid rig bones contain humanoid rig bone names, which causes Resonite to select the incorrect bone for the IK system. An example of this is a model containing a bone named "Chest", and a bone named "ChestStrapsBack". When importing into Resonite, there is a chance for Resonite to select "ChestStrapsBack" as the IK bone for the chest, resulting in a broken IK setup. ## Proposed Resolution This issue can be resolved by altering the name of every non-humanoid rig bone, placing the "<NoIK>" tag anywhere in the name, however this is time consuming and quite tedious to search the bone hierarchy to find every single one that should have it (as child bones do NOT inherit the No IK tag). As such, I would like to suggest that an extra toggle is added with Armature Merging which means any non-humanoid rig bone that doesn't follow the Unity Mecanim humanoid bone specification has a "<NoIK>" tag prefixed/suffixed onto its name. ## Potential Issues This could have the issue of occasional false positives, however I believe fixing a few incorrectly tagged bones would be better than having to go through every single non-humanoid bone on a (potentially quite large) model to prefix/suffix them with "<NoIK>", and would therefore be a life saver for some Resonite creators like myself. If you have any questions about this request, feel free to let me know and I'll respond as soon as possible!
Ghost commented 2024-07-04 17:40:27 +00:00 (Migrated from git.disroot.org)

Thanks for the report I not the person who deals with the resonite stuff soooo

@989onan this is your area

Thanks for the report I not the person who deals with the resonite stuff soooo @989onan this is your area
Ghost commented 2024-07-04 17:50:30 +00:00 (Migrated from git.disroot.org)

I will also add though, there will be a lot of changes made in the upcoming Avatar Toolkit and I can't promise any major changes will happen to cats as we are just maintaining it unto we release our Avatar Toolkit. This issue is entirely up to @989onan to deal with as there see fit and if there want to fix it in cats or not.

You can suggest stuff for Avatar toolkit here: https://github.com/teamneoneko/Avatar-Toolkit which will be a direct replacement for cats in the future.

I will also add though, there will be a lot of changes made in the upcoming Avatar Toolkit and I can't promise any major changes will happen to cats as we are just maintaining it unto we release our Avatar Toolkit. This issue is entirely up to @989onan to deal with as there see fit and if there want to fix it in cats or not. You can suggest stuff for Avatar toolkit here: https://github.com/teamneoneko/Avatar-Toolkit which will be a direct replacement for cats in the future.
Ghost commented 2024-07-04 17:57:51 +00:00 (Migrated from git.disroot.org)

Okay I can see this working just fine. The only thing we need in code is a reliable way to tell if the bones are humanoid
This is easily done with cats, but in the upcoming Avatar Toolkit I will see if I can just say "When translating to Resonite -> throw <noik> on the bones that aren't humanoid ones" and that should fix it. I can look into making this implementation today

Okay I can see this working just fine. The only thing we need in code is a reliable way to tell if the bones are humanoid This is easily done with cats, but in the upcoming Avatar Toolkit I will see if I can just say "When translating to Resonite -> throw `<noik>` on the bones that aren't humanoid ones" and that should fix it. I can look into making this implementation today
Ghost commented 2024-07-04 18:00:47 +00:00 (Migrated from git.disroot.org)

Awesome I assigned your it and put as in-progress!

Awesome I assigned your it and put as in-progress!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Kneelawk/Cats-Blender-Plugin#136
No description provided.