|
@@ -329,17 +329,6 @@ void FabrikInverseKinematic::solve(Task *p_task, real_t blending_delta, bool ove
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void FabrikInverseKinematic::reset(Task *p_task) {
|
|
|
- ChainItem *ci(&p_task->chain.chain_root);
|
|
|
- while (ci) {
|
|
|
- p_task->skeleton->set_bone_global_pose_override(ci->bone, Transform(), 0);
|
|
|
- if (!ci->children.empty())
|
|
|
- ci = &ci->children.write[0];
|
|
|
- else
|
|
|
- ci = NULL;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
void SkeletonIK::_validate_property(PropertyInfo &property) const {
|
|
|
|
|
|
if (property.name == "root_bone" || property.name == "tip_bone") {
|
|
@@ -542,8 +531,6 @@ void SkeletonIK::start(bool p_one_time) {
|
|
|
|
|
|
void SkeletonIK::stop() {
|
|
|
set_process_internal(false);
|
|
|
- if (task)
|
|
|
- FabrikInverseKinematic::reset(task);
|
|
|
}
|
|
|
|
|
|
Transform SkeletonIK::_get_target_transform() {
|