-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Allow users to override SkeletonModifier3D._process_modification
#91507
Allow users to override SkeletonModifier3D._process_modification
#91507
Conversation
SkeletonModifier3D._process_modification
d30b5b5
to
fbc599a
Compare
628271a
to
275c947
Compare
The main point of this PR is allowing custom modifiers with virtual I realized that when exposing |
In past designs, I would have considered exposing it as an advance(), but that may be a bit dangerous in the current design. If you want to add it, I recommend to add the signal at the beginning of the process that iterates the modifier during the SKELETON_UPDATE process and return an error so that it is not fired until during that process. This is because to make blending and restoring current pose working needs that; In other words, if it is executed outside of the expected steps, the result of set_bone_pose() updated at an unintended time will remain which may cause corrupting modification calculation, moreover the Influence property will be ignored. |
275c947
to
357c431
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM from point of view of implementation
357c431
to
1ccf0c2
Compare
Thanks! |
Currently, SkeletonModifer3D is abstract. This changes it so that it and _process_modification can be implemented.
This is needed so users can build their own custom IK, spring bones or body tracking.