mirror of
https://github.com/godotengine/godot.git
synced 2024-12-27 11:24:59 +08:00
Orthonormalize PhysicalBone3D transforms
This commit is contained in:
parent
313f623b9d
commit
b015fba2c8
@ -2239,11 +2239,14 @@ void PhysicalBone3D::reset_physics_simulation_state() {
|
||||
|
||||
void PhysicalBone3D::reset_to_rest_position() {
|
||||
if (parent_skeleton) {
|
||||
if (-1 == bone_id) {
|
||||
set_global_transform(parent_skeleton->get_global_transform() * body_offset);
|
||||
Transform3D new_transform = parent_skeleton->get_global_transform();
|
||||
if (bone_id == -1) {
|
||||
new_transform *= body_offset;
|
||||
} else {
|
||||
set_global_transform(parent_skeleton->get_global_transform() * parent_skeleton->get_bone_global_pose(bone_id) * body_offset);
|
||||
new_transform *= parent_skeleton->get_bone_global_pose(bone_id) * body_offset;
|
||||
}
|
||||
new_transform.orthonormalize();
|
||||
set_global_transform(new_transform);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user