mirror of
https://github.com/Relintai/broken_seals.git
synced 2025-02-22 15:17:57 +01:00
Fixed the set rest pose implementation.
This commit is contained in:
parent
878f045f92
commit
de97b132a2
@ -236,10 +236,21 @@ func get_add_bone():
|
|||||||
func is_done_editor():
|
func is_done_editor():
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
func evaluate_rest_pose(n : Spatial):
|
||||||
|
if !n:
|
||||||
|
return
|
||||||
|
|
||||||
|
n.set_as_rest_pose()
|
||||||
|
|
||||||
|
for ch in n.get_children():
|
||||||
|
evaluate_rest_pose(ch as Spatial)
|
||||||
|
|
||||||
func set_set_pose_as_rest(val):
|
func set_set_pose_as_rest(val):
|
||||||
if val:
|
if val:
|
||||||
for n in bone_handle_nodes:
|
for ch in get_children():
|
||||||
n.set_as_rest_pose()
|
evaluate_rest_pose(ch as Spatial)
|
||||||
|
#for n in bone_handle_nodes:
|
||||||
|
# n.set_as_rest_pose()
|
||||||
|
|
||||||
for n in bone_handle_nodes:
|
for n in bone_handle_nodes:
|
||||||
n._ready()
|
n._ready()
|
||||||
|
@ -37,9 +37,19 @@ func set_pose( basis:Basis, origin:Vector3 ):
|
|||||||
# printt( self.bone_name, basis, origin )
|
# printt( self.bone_name, basis, origin )
|
||||||
|
|
||||||
func set_as_rest_pose():
|
func set_as_rest_pose():
|
||||||
original_rest = self.pose
|
self.skeleton.set_bone_rest(self.bone_id, transform)
|
||||||
self.skeleton.set_bone_rest(self.bone_id, original_rest)
|
|
||||||
self.skeleton.set_bone_pose( self.bone_id, Transform( ))
|
self.skeleton.set_bone_pose( self.bone_id, Transform( ))
|
||||||
|
transform = Transform()
|
||||||
|
|
||||||
|
self.original_rest = self.skeleton.get_bone_rest( self.bone_id )
|
||||||
|
|
||||||
|
var parent_bone_id:int = self.skeleton.get_bone_parent( self.bone_id )
|
||||||
|
if parent_bone_id != -1:
|
||||||
|
self.original_parent_rest = self.skeleton.get_bone_global_pose( parent_bone_id )
|
||||||
|
|
||||||
|
self.transform.basis = Basis( )
|
||||||
|
self.transform.origin = self.original_parent_rest.basis.xform( self.original_rest.origin )
|
||||||
|
self.original_global_rest_origin = self.transform.origin
|
||||||
|
|
||||||
|
|
||||||
func _process( delta:float ):
|
func _process( delta:float ):
|
||||||
|
Loading…
Reference in New Issue
Block a user