Пример #1
0
 def get_drag_limbs(self):
     limbs = []
     pose = self.animation.poses[self.pose_index]
     for i, limb in enumerate(self.skeleton.limbs):
         vertices = ik.solve(limb.vertices, pose.targets[i])
         limbs.append(Polygon(vertices, closed=False))
     return limbs
Пример #2
0
 def on_mouse_drag(self, x, y, dx, dy, button, modifiers):
     if self.limb_index is None:
         return
     mouse_point = self.camera.get_world_point(Point2(x, y))
     limb = self.skeleton.limbs[self.limb_index]
     vertices = ik.solve(limb.vertices, mouse_point)
     self.drag_limbs[self.limb_index] = Polygon(vertices, closed=False)
     pose = self.animation.poses[self.pose_index]
     pose.targets[self.limb_index] = vertices[-1].copy()