Curve modifier is not applied correctly on curves #17338

Closed
opened 2008-07-16 06:54:49 +02:00 by Tobias Minich · 5 comments

%%%OS: Windows XP
Blender: SVN 15551 from GraphicAll, also occurred on earlier SVN version

I want to apply a curve modifier on a Bezier curve. The deforming curve is also a Bezier curve with some tilt. The 3D view shows the modified curve correctly, but when I apply the modifier, the curve start and stops too early (its stretched by the deforming curve). The curious thing is that the part that sits correctly is also transformed correctly.

The issue is probably best described by an example. The blend file contains the deforming curve (_deform), a deformed mesh object (Cube, with array modifier) and two deformed Bezier curves (strL/R_spline). As you will see, the two curves "run on" the mesh object (as they are supposed to do), but as soon as you apply the curve modifier on one of them, you'll observe the effect described above.%%%

%%%OS: Windows XP Blender: SVN 15551 from GraphicAll, also occurred on earlier SVN version I want to apply a curve modifier on a Bezier curve. The deforming curve is also a Bezier curve with some tilt. The 3D view shows the modified curve correctly, but when I apply the modifier, the curve start and stops too early (its stretched by the deforming curve). The curious thing is that the part that sits correctly is also transformed correctly. The issue is probably best described by an example. The blend file contains the deforming curve (_deform), a deformed mesh object (Cube, with array modifier) and two deformed Bezier curves (strL/R_spline). As you will see, the two curves "run on" the mesh object (as they are supposed to do), but as soon as you apply the curve modifier on one of them, you'll observe the effect described above.%%%
Author

Changed status to: 'Open'

Changed status to: 'Open'

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Member

%%%This is caused by the Apply button operating on the curve control vertices, while the regular modifier stack evaluation operates on the final tessellated vertices.

This means that when Apply is pressed the curve modifier sees the bezier control vertices that go beyond the visible part of the curve, and takes them into account when doing the stretch operation. If you change the curve type to Poly you can see that the problem goes away.

Modifiers should really operate on the control vertices all the time, rather than the tessellated vertices, but I'm not sure how to handle control vertices that go beyond the visible part of the curve. I will look into it.%%%

%%%This is caused by the Apply button operating on the curve control vertices, while the regular modifier stack evaluation operates on the final tessellated vertices. This means that when Apply is pressed the curve modifier sees the bezier control vertices that go beyond the visible part of the curve, and takes them into account when doing the stretch operation. If you change the curve type to Poly you can see that the problem goes away. Modifiers should really operate on the control vertices all the time, rather than the tessellated vertices, but I'm not sure how to handle control vertices that go beyond the visible part of the curve. I will look into it.%%%
Author

%%%My personal gut feeling would be to extend them according to the control points of the modifying curve.
Maybe some simple (sensible?) user contol over this could be implemented by taking the handle type (free/aligned/auto) into account.%%%

%%%My personal gut feeling would be to extend them according to the control points of the modifying curve. Maybe some simple (sensible?) user contol over this could be implemented by taking the handle type (free/aligned/auto) into account.%%%
Member

%%%Not a bug, but more like further development/maintence. The code does what it was meant to! :) Move to the todo list.%%%

%%%Not a bug, but more like further development/maintence. The code does what it was meant to! :) Move to the todo list.%%%
Sign in to join this conversation.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blender/blender#17338
No description provided.