Introduce BVH export option to sort bone child node name appearances #105120

Open
Pierce-Brooks wants to merge 1 commits from Pierce-Brooks/blender-addons:plb/bvh-export-sort into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
First-time contributor

When an armature object is exported into the BVH format, the order of appearance of each bone's child nodes is determined by the order in which they were originally created or imported. This can be a problem for downstream asset consumption by technical animators for tasks like retargeting in certain project pipelines because the structure of the motion data expressed by a BVH file is dependent on the ordering of the transformation delta channels as specified by those corresponding joints.

My solution to this issue is to introduce a new checkbox option into the menu for exporting with the BVH format which will allow any user to decide whether to sort bone children by their node names alphabetically. In addition to addressing what has been described above, if other tools are in use besides Blender in such an environment, this feature can allow for multiple comparable skeletons to have their hierarchy expression order unified through Blender across a variety of different sets of motion data. Yet another resolution is detailed in a forum post below...
https://blenderartists.org/t/how-does-one-reorder-child-bones-within-an-armature/684994/3

The present solution is limited in that it does not provide any greater customization of the sorting option, but rather only supports sorting alphabetically.

Attached is a screenshot sample of the current implementation of this new feature's interface.

When an armature object is exported into the BVH format, the order of appearance of each bone's child nodes is determined by the order in which they were originally created or imported. This can be a problem for downstream asset consumption by technical animators for tasks like retargeting in certain project pipelines because the structure of the motion data expressed by a BVH file is dependent on the ordering of the transformation delta channels as specified by those corresponding joints. My solution to this issue is to introduce a new checkbox option into the menu for exporting with the BVH format which will allow any user to decide whether to sort bone children by their node names alphabetically. In addition to addressing what has been described above, if other tools are in use besides Blender in such an environment, this feature can allow for multiple comparable skeletons to have their hierarchy expression order unified through Blender across a variety of different sets of motion data. Yet another resolution is detailed in a forum post below... https://blenderartists.org/t/how-does-one-reorder-child-bones-within-an-armature/684994/3 The present solution is limited in that it does not provide any greater customization of the sorting option, but rather only supports sorting alphabetically. Attached is a screenshot sample of the current implementation of this new feature's interface.
Pierce-Brooks added 1 commit 2024-01-14 07:53:16 +01:00
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u plb/bvh-export-sort:Pierce-Brooks-plb/bvh-export-sort
git checkout Pierce-Brooks-plb/bvh-export-sort
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
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: blender/blender-addons#105120
No description provided.