Jump to content
You must now use your email address to sign in [click for more info] ×

Brush behaviour


Recommended Posts

Affinity Designer 1.7.3.481
Windows 10 (spec probably irrelevant here)

So, I'm identifying this as a bug, but there may be other opinions about the way this works. Ultimately, fixing this will have an affect on older designs that use brushes.

 I've made a test brush pattern within designer as a PNG, and exported it (it's 200 pixels height and 568px width). So I then bring this in as a Textured Intensity Brush with a width of 200px to match the height of the exported brush image (black rectangle with white stripes). I then draw a path over the top widthwise of my original brush and assign my new brush - see attached image - brush is in red on the highlighted straight two node path. IMHO I'd expect that brush to be aligned perfectly with the original design now being that the length of the line is the same as the width of the rectangle, and the height is the same. So, heightwise it's fine, but widthwise it's off by a long way. More interestingly is when I use the node tool and drag the end node to the right the pattern will stretch, but then suddenly snap back to allow another repetition to fit in. This then looks very squashed. I would expect the behaviour along a path like this to be consistent - certainly on a straight line, so I think this is highlighting a problem with the maths algorithym - it looks like modulus is bieng used with the repeats but in a way that's not quite right. I'd expect that behaviour to be consistent from the start of the line running to the end, so altering points on the end of a long path with lots of nodes doesn't affect the brush pattern at the start end of the line. It should be working on length of line based from the start node. This is not whats happening, and thus why I'm reporting it as a bug. Brush settings are Width: 200px, size variance: 0%, Opacity Variance: 0%, default pressure curve, Body: Repeat, Head Offset: 0px, Corners: Fold (I tried them all here), Tail Offset: 568px (with a brush graphic width of 568.0px).

I've just tested a thought I had and discovered that changing the stroke to Butt Cap makes the alignment on the image below perfect, however pulling out the node with that mode on still stretches the brush pattern a lot and then snaps back when there's more than enough space for two patterns to fit. My expectation would be that it would simply add pattern onto the end of the first pattern and allow it to get cut off at the end of the path, rather than stretching one pattern length until there's room for two pattern lengths. It's hard to describe, but it looks to me like the algorythm is working the wrong way round with the modulus. So if the line is 1.5 pattern lengths long, I'd expect it to be using two pattern lengths and cropping the second pattern halfway along. That way the start of the line would always look the same when you adjust the end point.


image.thumb.png.f57ddafe43238738b652d54be750ffd7.png 

Link to comment
Share on other sites

  • 2 weeks later...

Hi Gabe,

Thanks for looking into this.

Here's the design file I saved. The black block with the white lines is what I used to make the brush from (just exported that element as PNG), and hopefully the brush line will emain anyway? This raises the question, if I save a file like this does it carry the brush information with it that is needed to recreate the design? If so you should see the red lines over the top, otherwise I guess that may not be showing. I've attached the exported png anyway, and also the brush (hopefully if I've done that bit right!)

The issue is easily recreatable - it'll be the same with any pattern that has lines running diagonally, or some repeating pattern like this.

Thanks,
Darren

brush test.afdesign

slice1x.png

Brushes.afbrushes

Link to comment
Share on other sites

  • Staff

What you see is expected. Textured brushes will always deform the texture to fit the curve based on your cap type. When your curve matches the pattern length, you will need a Butt Cap to contain the pattern within the curves' nodes. Otherwise, with a round cap, the pattern will also be used to fill the round cap. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.