Page MenuHome

Vector pass errors with animated array, curve and subsurf modifier combined
Closed, ArchivedPublic

Description

System Information
Windows 7 64-bit, nvidia gtx 570

Blender Version
Broken: official 2.71 (9337574) and latest 64-bit build (7c9b8aa)
Worked: -

Short description of error
Using a specific combination of modifiers and keyframes the vector pass displays errors using Cycles, with the vector pass being displayed as a patchwork of faces instead of solid objects.

Using an array modifier, a curve modifier and then a subsurf modifier AND having kefyrames on the array's 'count' value causes this error to appear. Remove any one of the modifiers or the keyframes or remove the curve used by the curve modifier and the error does not appear.

The object has a 90 degree rotation animation just to get some vector data to appear.

Happens with both GPU and CPU render.

Exact steps for others to reproduce the error
Just render this file to see the effect:

:
Or just view this render:

To reproduce effect:

  1. Add array modifier.
  2. Animate the 'count' value to change over time.
  3. Add curve modifier.
  4. Add a curve and set it to be used by the curve modifier.
  5. Add a subsurf modifier.
  6. Animate the object to give it some movement, in my example it just rotates between 90 and 0 degrees.
  7. Choose a frame that has the object moving (e.g. middle of animation) and render.
  8. View vector pass in image editor.

Details

Type
Bug

Event Timeline

Ray Mairlot (madog) updated the task description. (Show Details)
Ray Mairlot (madog) raised the priority of this task from to Needs Triage by Developer.
Ray Mairlot (madog) set Type to Bug.
Sergey Sharybin (sergey) triaged this task as Normal priority.

Quite extreme case, will have a look, maybe it's solvable.

Sergey Sharybin (sergey) closed this task as Archived.Aug 27 2014, 12:31 PM

So the issue is that you actually modifying the geometry by the keyframes. In this case it's not really possible to distinguish which pars of objects were moved to where (that's NP-complex problem to do such a mapping) and hence both Cycles and BI expects that's objects are not changing their topology for the vector pass.

Would be nice to support with some fancy algorithm, but that's outside of the scope of the bug tracker and considered a TODO. Thanks for the report anyway.