Category Archives: Art Brush

Art Brush Features

To those of you who use my art brush tool, what features or tweaks would you like it to have? Here’s what I’ve got working so far in my development version:

  1. If a brush was applied in the wrong direction, just run the tool again and it’ll apply it the other way around
  2. It can now be used in multi-frame editing mode, allowing many strokes to be applied at the same time
  3. Brushes can be reapplied to a stroke that already has a brush applied to it. Simply select the art brushed stroke symbol on the stage and your new brush symbol in the library and run the tool. Your new brush will be applied in the same direction as the old one.
  4. Brushes always get applied from upper left to lower right, depending on the relative positions of the stroke’s endpoints.
  5. Undo.

Some things I’m planning on including but haven’t implemented yet:

  1. Select a symbol in the library that you’ve used as an art brush. You’ll be able to run a command that automatically updates all the strokes that have had that that brush applied to them. This means that you could change a brush that you’ve already used a bunch, and  the tool will go through and make sure everywhere that the brush is used, the stroke looks like the most current version.
  2. Modify the art brush tool to be able to apply animation, not just a still image, to a series of strokes. (See my previous post about this).

Some things I might do if there’s enough interest in it

  1. A control panel that changes how the brush is applied – direction of application, whether to scale the width relative to the length, etc.
  2. A shape-hint-style marker to indicate where to start the stroke
  3. Smarter decisions about which branch to follow when the path crosses itself.

So let me know what you think. What would you like to see it do? What current behavior annoys you and you’d like to see it fixed?

Animated Art Brushes

Ooooooh, holy crap! I just had a crazy awesome idea. I’ve been working on my art brush tool, implementing the ideas I laid out in my previous post. It got me thinking about some of the possibilities with the sort of changes I’m making. I could create more tools that expand the possibilities.

Here’s my crazy idea: animated art brushes.

Ahem. Let me put that another way.


Here’s how it would work. An animated brush symbol would be just like a normal brush symbol – all the art would have to be raw shapes on the first layer. The difference is that you could have more than one frame of art on that first layer. The frames could be applied in sequence to subsequent strokes. You’d apply it by selecting a range of frames and running the tool. It would apply the frames of the animated brush to the strokes in those selected frames.

What would you do with such a tool? I leave that up to you, but the possibilities stretch out before us like a gleaming possibility-filled thingamajig.

We Have the Technology.

I have some crazy ideas knocking around my head. My art brush tool is incredibly useful but it’s far from the most user friendly. There are a few usability features that I’ve wished for it for a long time:

  1. Be able to change brush art and have it be reflected in all the existing applications of that brush
  2. Be able to apply a brush in either direction, so that I don’t have to have duplicate brush symbols that are flipped around versions of each other.
  3. Avoid the problem of exiting a brush symbol before deselecting the art, which leads to the transform that’s been applied to it not taking hold for the purposes of the art brush tool.
  4. Be able to apply an art brush to multiple lines across multiple frames.
  5. Be able to apply a new brush to an existing stroke without having to deal with invisible lines or deleting the previously applied stroke
  6. Somehow be able to indicate a starting point for applying the art brush.
  7. Fix CS3 compatibility of the recolor version of the art brush. Unfortunately the non-recoloring one will likely never be possible in CS3 or earlier.

Here are some of my thoughts on solutions to these problems:

  1. This would actually be pretty easy if I made it so that every new application of a brush stroke was inside a new symbol. It would change to use the art brush tool a little, but it would add much more potential functionality than it takes away. If I did this I would probably keep the original stroke on a guided layer inside the new brush stroke symbol. I could store some data in the symbol, which would identify how this brush stroke was created – what direction, which brush, whether it was recolored, etc. Then it would be a snap to go through the library and find all the brush stroke symbols and operate on them in turn – updating the brush art, apply a different brush, etc.
  2. This would mean a new tool to apply the brush in the opposite direction than how it usually goes, but it would be a pretty simple change to the code.
  3. I’m pretty sure this is a bug in the Flash code, but I might be able to work around it. If I could check the brush symbol before applying it, making sure that there’s nothing selected in it, it would I’d never have to deal with this unapplied transform problem again. Amy I in a fantasy world to think that it could be so simple?
  4. This one might be solved with the symbol method I mentioned in #1. The problem so far has been that when I‘m in multi-frame editing mode and I have lines selected on multiple frames, if I run the brush tool it ends up putting all the art brush strokes on a single frame. This is one are that’s definitely worth investigating, because this is a problem that comes up frequently when, for instance, animating an animal’s tail or some waving seaweed or what have you. To have to go through and apply the art brush tool separately on each frame is a big pain in the butt.
  5. This one is solved by the solution to #1 as well. With the info in the symbolize brush stroke it would be easy to delete the existing brush art and apply the new brush to the original line in the same way it was originally applied. It would just mean that the art brush tool would do its normal thing if a raw shape is selected but if a symbol instance is selected it would try to replace the existing brush art with the new. If the selected symbol instance doesn’t conform to the standard brush stroke symbol format, the tool would do nothing. Badabing!
  6. If I used something like the shape hint system that I use for the autotweener when operating on raw shapes, it would mean that the starting point could be much more easily managed in a long sequence of animated brush strokes. The tool would just start from whichever end point is closest to the shape hint.
  7. I had it working before so it shouldn’t be hard to get it back into shape.

Conclusion: it seems like a no-brainer, then, to change the functionality of the art brush tool to be more like I outlined in #1. #2 and #3 shouldn’t be difficult to implement, assuming everything goes as I expect (which may not be a reasonable assumption based on my past experience with JSFL). #6 will be a little more work and I may put that off a bit. At least I could reuse some code from the autotweener, though. And #7, as I said, should be pretty easy.

These changes are pretty high on my to-do list for my library of Flash commands. If you leave a message encouraging me I’ll be more likely to make it happen.

New and Improved Art Brush – Now With Backward Compatibility™

I’ve been meaning to do this for a long time.  I finally got around to finishing off some changes to the art brush tool and now I’m ready to put them up.

In the main tool things are mostly the same.  I fixed compatibility with CS5, so now die-hard Art Brush users can upgrade, and die-hard CS5 users can finally use the tool.  I also improved rendering of corners.  Seriously, it does corners way better now.  It might still need a little improvement, but at this point changes would be a judgement call of whether they’re better or now.  Basically, now what the tool does with corners is to try and make the diagonal of the corner be the same width as the brush would be at that point anyway.

Another thing I’ve changed is that it’s now responsive to the thickness of the pencil path that it’s following.  For instance, if the line has a thickness of 2 then the resultant brush stroke will be twice as thick as in the brush symbol.  This is particularly useful with the other new thing I’m introducing…

… a version that recolors the brush stroke!  Now all the shapes in the brush symbol will be drawn out using the current fill color.  This makes it possible to use the art brush tool as a more generic paintbrush, where the brush symbol only defines the shape of the resulting stroke.  I use it a lot for creating linework on characters.  Below is an example of the output.


One of the advantages of the new “recoloring” art brush is that it’s more backward compatible.  In fact, it may be compatible as far back as Flash MX 2004!  I can’t say for sure, since I don’t have a copy of that program.  I would definitely be interested to hear results from anyone who tries it on a version of Flash prior to CS4.  Leave comments here or email me.

As a reminder, these tools are free for non-commercial use but there’s a small fee if you’d like to use them in a commercial setting.  Contact me for more information.

Art Brush installer (45kb download)

A Better Art Brush

One of the main things I was thinking of doing to improve the Art Brush tool was to give it the ability to add vertices to the brushstroke.  That would mean it could more easily follow the paths the user defined without requiring the manual addition of vertices to the brush symbol.  Well, it turned out to be pretty easy, and I implemented it yesterday and today.  So as of now, the Add Vertices tool is no longer necessary.  I’d encourage anyone who downloaded the Art Brush tool before Wednesday April 7th to re-download it.  It’ll be a significantly friendlier tool to use, and no more will you have to think about whether your brush symbol has enough vertices to follow your complex path.

For convenience, here’s the download link again:

Art Brush installer

New Flash Extensions: Art Brush, Add Vertices, Distribute Symbol Along Path

Well, the art brush is working and I think it’s in a good state to release.  There’s a good chance I’m going to do more work on it eventually but I think it’s to a point where people will be able to use it productively.  As another example of what you can do with this tool, I present the following eye candy that I knocked together real quick-like:

Continue reading

Flash Art Brush Tool: It Works!

As I mentioned in a previous post, for years I’ve wished for the ability to use art brushes in Flash.  I’ve found, though, through years of wishing and hoping followed by disappointment, that the Flash development team is very unlikely to add in new features that are likely to help me as an animator.  They’re too focused on supporting Flash as an application development platform, not as an animation medium.  I think on their list of priority customers, animators who target non-interactive media are near the bottom.

That’s a big reason why I started creating Flash extensions — to fill in the gaps that the Flash development teem is either unaware of or is unwilling to address.  Well, a short time ago I realized that I could probably create a tool to perform one of my all-time wished-for features: art brushes.  Illustrator’s had them for a long time.  They’re very useful in there, and they would be similarly useful in Flash.

After about a week and a half of work, I’ve attained success!  My art brush experiment has blossomed into an actual usable tool!  It turned out significantly better than I had hoped, with fairly quick runtime (even before I’ve done any optimization) and very good visual results.  It’s not quite ready to post for the general public but I’m interested in getting people to test it a bit and give me feedback — Tell me what new features it needs and let me know if you run into any bugs.  If you’re interested, please let me know either in the comments or via email.

To give you a tantalizing taste of the possibilities, here are some actual examples of what my new Flash art brush tool can do:

Art Brushes Are Within My Grasp

Oh my goodness, I’m so close. You don’t even understand. For the last week or so I’ve been using all the spare time I could find to work on a new Flash command. It’s so complex that the source file is now more than 1000 lines. To put this in perspective, I’ve never seen any jsfl command that comes even close to this length, apart from my own autotweener. To put this further in perspective, this tool will do something that Flash has never been able to do, and for which I and many of my Flash animator friends have been clamoring as long as any of us has been using Flash.

Curious yet?  The tool that I’m working on will map arbitrary art onto an arbitrary path.  That means you can create “art brush” symbols and then apply them to any path and have the brush bend itself to follow the path.  For instance, if you’re animating a tiger with a wagging tail, you’d just animate a line, then apply your tiger tail art to your lines.  Boom, you’ve got a wagging, serpentine tiger tail.

I haven’t got the tool finished yet but I thought I’d put up an image to illustrate what I’m talking about.  The image below is from the Art Inspires blog (see the original post here).  It’s a screen capture from Adobe Illustrator, which has had this feature for a long time.  I’m kind of skeptical that I can make my art brushes look as good as Illustrator’s, and it will certainly be slower (since it’s written in Javascript), but either way it’s going to be awesome.  Seriously, this is sharks with frickin’ lasers territory.