Explorar o código

fixed smooth movement popping after reparenting

Darren Ranalli %!s(int64=18) %!d(string=hai) anos
pai
achega
55e9d9cdf5
Modificáronse 1 ficheiros con 11 adicións e 0 borrados
  1. 11 0
      direct/src/deadrec/smoothMover.cxx

+ 11 - 0
direct/src/deadrec/smoothMover.cxx

@@ -789,5 +789,16 @@ handle_wrt_reparent(NodePath &old_parent, NodePath &new_parent) {
     (*pi)._pos = np.get_pos(new_parent);
     (*pi)._hpr = np.get_hpr(new_parent);
   }
+  
+  np.set_pos_hpr(_sample._pos, _sample._hpr);
+  _sample._pos = np.get_pos(new_parent);
+  _sample._hpr = np.get_hpr(new_parent);
+
+  np.set_pos_hpr(_smooth_pos, _smooth_hpr);
+  _smooth_pos = np.get_pos(new_parent);
+  _smooth_hpr = np.get_hpr(new_parent);
+
+  compose_smooth_mat();
+
   np.detach_node();
 }