Depsgraph: remove features incompatible with new system.

Some features are incompatible with multithreading and reliable evaluation
of dependencies. We are now removing them as part of a bigger cleanup to
fix bugs in keyframing and invalid animation evaluations.

* Dupliframes have been removed. This was a hack added before there were
  more powerful features like the array modifier.
* Slow parent has been removed, never worked in 2.8. It was always
  unreliable for use in production due to depending on whatever frame was
  previously evaluated, which was not always the previous frame.
* Particle instanced objects used to have their transform evaluated at
  the particle time. Now it always gets the current time transform.
* Boids can no longer do predictive avoidance of force field objects,
  but still for other particles.

Differential Revision: https://developer.blender.org/D4274
This commit is contained in:
Brecht Van Lommel
2019-01-28 17:52:46 +01:00
parent 3e072da45b
commit 7400aa7e59
15 changed files with 34 additions and 389 deletions

View File

@@ -149,13 +149,6 @@ class OBJECT_PT_relations(ObjectButtonsPanel, Panel):
sub.prop_search(ob, "parent_bone", parent.data, "bones")
sub.active = (parent is not None)
col = flow.column()
col.active = (ob.parent is not None)
col.prop(ob, "use_slow_parent")
sub = col.column()
sub.active = (ob.use_slow_parent)
sub.prop(ob, "slow_parent_offset", text="Offset")
col.separator()
col = flow.column()
@@ -295,20 +288,7 @@ class OBJECT_PT_duplication(ObjectButtonsPanel, Panel):
layout.use_property_split = True
flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=False, align=False)
if ob.instance_type == 'FRAMES':
col = flow.column(align=True)
col.prop(ob, "instance_frames_start", text="Start")
col.prop(ob, "instance_frames_end", text="End")
col = flow.column(align=True)
col.prop(ob, "instance_frames_on", text="On")
col.prop(ob, "instance_frames_off", text="Off")
col = flow.column(align=True)
col.prop(ob, "use_instance_frames_speed", text="Speed")
elif ob.instance_type == 'VERTS':
if ob.instance_type == 'VERTS':
layout.prop(ob, "use_instance_vertices_rotation", text="Rotation")
elif ob.instance_type == 'FACES':