diff --git a/manimlib/animation/transform.py b/manimlib/animation/transform.py index 555a85b3..9c07747d 100644 --- a/manimlib/animation/transform.py +++ b/manimlib/animation/transform.py @@ -121,10 +121,6 @@ class Transform(Animation): target_copy: Mobject, alpha: float ): - if alpha == 0: - submob.become(start) - elif alpha == 1: - submob.become(target_copy) submob.interpolate(start, target_copy, alpha, self.path_func) return self diff --git a/manimlib/mobject/mobject.py b/manimlib/mobject/mobject.py index 9c9faf36..872feda5 100644 --- a/manimlib/mobject/mobject.py +++ b/manimlib/mobject/mobject.py @@ -1719,6 +1719,12 @@ class Mobject(object): keys = [k for k in self.data.dtype.names if k not in self.locked_data_keys] if keys: self.note_changed_data() + if alpha == 0: + self.data[:] = mobject1.data[:] + keys = [] + elif alpha == 1: + self.data[:] = mobject2.data[:] + keys = [] for key in keys: func = path_func if key in self.pointlike_data_keys else interpolate md1 = mobject1.data[key]