Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bone Attachment, Override Pose: Add the option to only affect Rotation or Position #11454

Open
LordMcMutton opened this issue Dec 30, 2024 · 1 comment

Comments

@LordMcMutton
Copy link

LordMcMutton commented Dec 30, 2024

Describe the project you are working on

The method with which I built my character armature made using Blend animations on the arms separate them from the body. It's too late to fix it, so the best option is messing with Bone Attachment 3D nodes to attach the potentially-floating arm bones to the shoulder bones.

Describe the problem or limitation you are having in your project

Using the various get_bone_pose_position/set_bone_pose_position settings and set_bone_parent are yielding no fruit, and we can't directly modify the skeleton, itself, so the Bone Attachment 3D nodes are a promising option. The trick is that I need to be able to override just the position of the bone without messing with its rotations.

Unfortunately, Override Pose is just a binary option with no further settings.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Override Pose could have the option to only modify the target Bone's Position or Rotation, as opposed to only both.

For my current predicament, it would allow me to keep the animations intact while fixing the detachment issue. I would use two Bone Attachment 3D nodes:
-One to attach to the floating Upper Arm bone, Override Pose, then set it to just modify Position
-One to attach to the proper Shoulder bone, this one without Override Pose
-Then write a script to attach the first Bone Attachment 3D to the second.
-Profit

For general use, it sounds like it would add a dimension of utility that doesn't currently exist in Godot's arsenal.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

In terms of the UI, it could probably use the same setup that Remote Transform nodes use:
Image

If this enhancement will not be used often, can it be worked around with a few lines of script?

It doesn't seem like it can. Working with individual Bones doesn't seem very intuitive or robust, unfortunately.

Is there a reason why this should be core and not an add-on in the asset library?

Enhances the functionality of an existing Node

@Calinou
Copy link
Member

Calinou commented Jan 2, 2025

cc @TokageItLab

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants