Page 1 of 9 123 ... LastLast
Results 1 to 20 of 180

Thread: GSoC 2016 - Improvements to Bezier Curves

  1. #1

    GSoC 2016 - Improvements to Bezier Curves

    Hi everyone. I will be participating this year in GSoC, working on the project "Improvements to Bezier curves".

    I decided to create this thread in order to keep you posted about my progress, and also to answer your questions and hear your suggestions, in case you have any :-)

    If you would like to know more about my project, you may read the proposal here:

    https://wiki.blender.org/index.php/U...c2016/proposal



  2. #2
    Congratulations; hope everything goes according to plan. Cheers.



  3. #3
    Congratulations on getting into GSoC! I just looked at your proposal, and it sounds like you plan to add some useful improvements and features that Blender currently lacks. I'm really looking forward to hearing about your progress and in particular am really hoping that you can get the uniform uv calculation in!

    Here are a few things I would like to see with regard to the bezier curves in Blender in no specific order of preference:
    1. The option to specify twist and taper as an amount and blend type (e.g. square, inverse square, linear, smooth) instead of only being able to use a control curve.
    2. Even subdivision option that makes sure that the curve has evenly spaced mesh subdivisions - maybe close to the uniform uv calculation work you plan to do?
    3. Subdivisions based on curvature option that subdivides tight curves more and long, gentle curves less.
    4. Edit mode function to extrude selected mesh feature (polygons, edges or vertices) along a curve for quick edits.
    5. A saveable option in the user preferences to hide the curve direction lines - the default makes curves look like centipedes! Otherwise a different way of rendering the direction (more obvious handle at the start for example).



  4. #4
    Congratulations !
    I hope that everything will go well, too.

    Ideas from proposal would be great improvements.
    You can read this thread about old 2.5 Curve Tools addon.
    http://blenderartists.org/forum/show...ols-for-curves

    Although some of these tools were added to blender and some were merged with animation nodes addon; it could give you other ideas like a merge tool or boolean operations for 2D Curves or spline length calculation.

    Currently, we can assign a different material to each spline of a curve object.
    Of course, it would be great to avo´d spline splitting and be able to assign material to segments.
    It would also be cool to be able to assign a different material at Front side, Back side or Slice of an extruded curve.

    Maybe, your GSOC will have impact on Freestyle rendering, too.



  5. #5
    Member
    Join Date
    Jul 2010
    Location
    Dominican Republic
    Posts
    1,569
    I would like to see a better way to draw curve similar to illustrator pen tool point+click drag not place a curve like an object this is not correct.



  6. #6
    Congratulations. Hopefully this will get into master. Working with curves in blender is so hard that whenever I can I use mesh instead. Will this GSOC handle curve twisting as well? I'd love to see something like in the image below addressed (a curve with bevel object just twists randomly)

    .
    Attached Images Attached Images



  7. #7
    Member
    Join Date
    Nov 2010
    Posts
    883
    I'd just like to be able to select some verts/faces and select a curve tool "handle" - the potential curve tool having a range of curve options, from gradual to tight arcing curves, in like manner with the proportional editor. And by dragging the mouse, just like with proportional editor the affected verts deform to follow the curve.
    What I don't like- the hairy centipede "bezier thing" that sets of to the side and has a couple of handles.



  8. #8
    Member
    Join Date
    Nov 2010
    Posts
    883
    Possibly better would be stroking out the curve with grease pencil



  9. #9
    Member
    Join Date
    Aug 2010
    Location
    Adelaide, South Australia
    Posts
    2,724
    Originally Posted by FXR View Post
    Possibly better would be stroking out the curve with grease pencil
    Already present in trunk, go into edit mode on the curve, hold shift and left click



  10. #10
    Member
    Join Date
    Aug 2010
    Location
    Adelaide, South Australia
    Posts
    2,724
    I know your scope is already somewhat defined, but if you get time... a simplify curve function would be awesome, as well as an option for shrinkwrap to take the tilt amount from the face normal.

    But... that being said good luck and look forward to what you bring to blender!



  11. #11
    Member Okavango's Avatar
    Join Date
    Mar 2013
    Location
    Serbia
    Posts
    291
    Drawing a bezier from zero, like in inkscape, with corners when you do not drag and some kind of constraints to x/y/z.
    Last edited by Okavango; 24-Apr-16 at 07:54.



  12. #12
    Thanks for all your messages guys! Although I am sure all your suggestions would all be great improvements, I am already constrained by my proposal, the time available, and my technical capabilities :-) When I asked for suggestions, I had intended to mean suggestions on my GSoC work, which currently is pretty much none, except for this patch. I invite you to have a look at it, if you're interested.

    I will post more things in this thread when I have them.



  13. #13
    Member SreckoMicic's Avatar
    Join Date
    Mar 2006
    Location
    /home/Serbia/NoviSad
    Posts
    292
    For me most important things are filleting and chamfering.



  14. #14
    Member dphantom's Avatar
    Join Date
    Jul 2009
    Location
    Lisbon, Portugal
    Posts
    188
    Best of luck for the project, this is obviously one that I am very interested in and will following closely.

    Originally Posted by FXR View Post
    Possibly better would be stroking out the curve with grease pencil
    Originally Posted by kakachiex2 View Post
    I would like to see a better way to draw curve similar to illustrator pen tool point+click drag not place a curve like an object this is not correct.
    For all the people asking for "curve drawing" or freehand stroking, Campbell Barton has been working on it recently from the Open Toonz project, see it in action in this video. It should be available in current daily builds

    Originally Posted by doublebishop View Post
    ... a simplify curve function would be awesome
    Simplify curves as been available in Blender as an addon at least since the 2.5-ish days. Just activate it in preferences
    Archviz | 3D modeling | Procedural Textures
    Google+ Portfolio | Personal Webpage www.duarteramos.pt



  15. #15
    Originally Posted by genio84 View Post
    When I asked for suggestions, I had intended to mean suggestions on my GSoC work, which currently is pretty much none, except for this patch. I invite you to have a look at it, if you're interested.
    In fact, patch does not correspond to a crucial need.
    Users have a simple workaround that consist to use an edited curve as Bevel Object.
    It is not as precise and intuitive as a clean extrusion setting. So, patch is useful.
    I just explain why users will be probably more excited by other parts of proposal.

    I don't really have much to say about the patch than what Campbell said.
    It is not necessary to have so much settings.
    With solidify modifier, blender users are used to negative value to reverse direction.
    I don't recommmend that. I just say that toggle is not necessary.

    IMHO, extrude symmetricaly toggle does not make sense, too.
    Initial request was to mimic fill mode that is working for bevel settings.
    I don't really see use case where a different fill mode is needed for bevel and extrusion.
    I mean setting fill mode to Back or Front should be sufficient to indicate that user don't want a symmetrical extrusion and what direction is desired.
    For 2D Curve, an option to fill side in plane of curve would probably be welcomed.

    For an extrusion using Half or Full mode, an offset in direction of extrusion would cover the rest of needs.

    Your proposal is about a lot of curve tools. Will they be all submitted as patches or could we test a git branch ?



  16. #16
    Hello,
    please can you watch this session:
    https://www.youtube.com/watch?v=VF51...RAnuFungnQOxLg

    EDIT: the algorithm is discussed in the video at 13:20 and onward

    The coder on that praject ALLREADY implemented a great new auto handles for beziers in blender. Those would be usefull not only for beziers in 3d view, but before all would be great for animation.

    Currently, bezier handles when set to automatic, simply point towards neighbours(actually when there are 2 neighbours somewhere in the middle... which never works as wanted, so automatic handles are often useless if you are going for nice results, whether it be animation speed or trajectory...

    see the linked image, left is current state, right what a user would probably expect from automatic handles...

    https://snag.gy/lK2dvM.jpg
    Last edited by pildanovak; 30-Apr-16 at 04:47.



  17. #17
    Member pauljs75_'s Avatar
    Join Date
    Jan 2006
    Location
    Chicago 'burbs
    Posts
    855
    Curves would also be more useful for some rigging things if they have a length parameter. Some useful calculations for drivers can be made with that info, and it's currently a property that's not inherent to a curve by default.

    Other than that, would be nice to have separate scaling axes for control points on a bezier, the current implementation doesn't allow for fixing bevel angles as scaling a control point makes it bulge out in thickness too. I think this should be optional though. And with two parameters, there could probably be some command or toggle to optimize bevels in a curve. (Basically something that evens out the width of a curve extrusion by adjusting scaling at the control points.)



  18. #18
    Member ManuelGrad's Avatar
    Join Date
    Feb 2007
    Location
    Stuttgart
    Posts
    217
    it would be nice if there was a way to displace curves procedurally ...
    is it possible to somehow make the displace modifier available for curves?

    or is there already a way to displace curves (make them wiggle based on noise etc.)?



  19. #19
    Member edna's Avatar
    Join Date
    May 2002
    Location
    London
    Posts
    105
    Sounds great. The editing tools would certainly save a lot of trial and error.

    If the improved extrude made it into trunk then I could use it in shared models without the end user needing the same add-on. Or maybe that already works. I'm not sure how to turn the DIFF file into an add-on in order to try it out. Currently I use curves with a solidify modifier to achieve the same thing, but it isn't entirely reliable so the extrude function should be both simpler and more robust.

    If I understand the texture proposal properly, then it should avoid this (see image below) without having to convert to mesh. Am I right? If so, great! Converting to meshes then going back to the original curve to make changes and then converting again is a right pain.
    Attached Images Attached Images
    I am a Blender Cloud member. Are you?



  20. #20
    Member dphantom's Avatar
    Join Date
    Jul 2009
    Location
    Lisbon, Portugal
    Posts
    188
    Originally Posted by edna View Post
    If the improved extrude made it into trunk then I could use it in shared models without the end user needing the same add-on. Or maybe that already works. I'm not sure how to turn the DIFF file into an add-on in order to try it out. C
    Are you talking about the "Improved Bezier curve extrusion" patch? The DIFF is short for difference, it is a comparison between Blender original code and the new proposed code. It is not an addon nor do you use it directly, it meant to be applied to blender codebase and compiled before it can be used. If it ever makes it to trunk you won't need any addons.

    Originally Posted by edna View Post
    If I understand the texture proposal properly, then it should avoid this (see image below) without having to convert to mesh. Am I right?
    The extrusion patch should only affect geometry generation, not texturing workflow. The above problem is caused by using 2D mapped textures on 3D objects. You can already easily fix it by either using cube mapped textures, or if you are in Cycles you can additionally use a custom node setup to simulate cube mapped textures.
    Archviz | 3D modeling | Procedural Textures
    Google+ Portfolio | Personal Webpage www.duarteramos.pt



Page 1 of 9 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •