Recording Bezier Paths While Painting

Studio Artist layers are composed of a raster image (RGBA) as well as an associated bezier path frame. The bezier path frame can be used in many different ways. Craig discussed one approach recently for building up comic art by first drawing bezier paths to build up a comic sketch. And then using the Path : Path Paths menu commands to later paint those bezier paths in using one or more paint presets.

Another approach would be to record your bezier paths while directly drawing with a paint preset. You can do this for manual or automatic drawing. There are a series of menu flags under Path : Path Layer Record Options that will do this for you automatically if you have them checked. So Path : Path Layer Record Options : Pen Draw menu flag checked means that when you draw a manual paint stroke, it will be bezier converted and the associated bezier path added to the current contents of the bezier path frame after you finish manually drawing that paint stroke.

The path layer record options (ie: the menu flags i'm talking about above) are discussed in more detail in this tip.

There are unfortunately some caveats associated with that Pen Draw and Action Draw menu flags that automatically record bezier paths into the bezier path frame while you are painting. Basically the path needs to be contiguous. If there is more than a 2 pixel gap in the path, then it's not going to be recorded.

Many paint presets use various Path Randomization features. This control panel randomizes a path, usually scattering it about with significant pixel gaps between adjacent path points. And when you do this, then that path cannot be converted into a bezier path.

So, you need to stick with tube of paint kind of paint presets, as opposed to cloud of paint nib paint presets, in order for this automatic bezier path recording feature to work.

There is an option in the Path Application control panel to make a path contiguous, which would then allow for that contiguous path to be automatically converted into a bezier path. But that's usually not what you would really want. You would want the original physical path you manual painted to be what is automatically converted into the recorded bezier path.

The limitations associated with this are somewhat historical in nature. And this feature is very old, it's been around since V1 Studio Artist. When Studio Artist was first created, memory was a big deal. So you didn't want a lot of complete path buffers taking up valuable memory.

And the bezier path conversion process was slow, so you didn't want to do it until after the paint stroke was fully drawn, because it might take a few seconds to automatically generate that bezier path. Which would probably drive Craig nuts, since he draws really fast.

And at that time we felt it made sense to record the randomized path in a PASeq (as opposed to the original un-randomized path). So that when you played it back later, it looked like it did when you first painted it.

So that's why it has those caveats associated with needing a contiguous path to work. 

Now today, memory is a lot cheaper, and there is way more of it. And things tend to run faster. So it makes sense to rethink some of this. And in fact V5 does keep around the original manual drawn path in a separate path buffer, because we can afford to use additional memory to do that without crippling the program, which would have been the case back in the old days with V1.

In looking at Craig's comic strip work flow, it seems like making the automatic bezier recording work for all paint presets would be a big win. So i'll look into making that happen.

But i'm also interested in how people might use this feature. Or want to use it if maybe it worked differently. Because maybe tweaking it in some way would be better for their particular work flow?

It seemed like an interesting topic to open up for discussion. So feel free to talk about how you would want to use this particular feature. Or see it improved or changed in the future.

You need to be a member of Studio Artist to add comments!

Join Studio Artist

Email me when people reply –

Replies

  • You can give an example of?

  • Being able to draw with any preset and have a bezier curve be generated would be great. I posted a tut advocado back in the 2009 on painting using bezier paths, that showed the "draw once paint many" possibility of overstroking the same paths with different presets. It is a very cool feature. Duplicating the paths and offsetting them a bit adds to the complexity of such a process.

    I would add that generating paths from the auto-sketch Ip Ops would be even more useful if there was an intelligent simplification algo which would eliminate "duplicate" lines-- something that we have discussed before. 

    I am also intrigued by the new path buffer- I am wondering if it is spacious enough to be helpful in animation. It would be interesting to be able to draw paths and have them play back in sequence over time- possibly faster or slower than real time.

    • thank you

    • The animation idea is interesting. As we move forwards we will be seriously reducing our dependency on quicktime. Since apple no longer loves it and is treating it like an abandoned child lost in the wilderness. So in addition to open source video apis we've also been looking at doing some things ourselves. Bezier animation preview might be one of those do it ourselves things. It's an idea that's actually been floating around here for a long time, but never made it into any product release.

  • I wanted to point out a feature associated with the auto-recording of bezier paths while painting that most Studio Artist users are probably blissfully unaware of.

    So, i've got Path : Path Layer Record Options : Pen Draw menu flag turned on.

    2472673637?profile=original

    And i erased the canvas to white and painted 3 simple paint strokes.

    2472673812?profile=original

    And i recorded all of that hard work into a Paint Action Sequence (PASeq).

    2472675479?profile=original

    Now the fun part is that you can actually edit the bezier paths associated with these individual manual painted pen strokes.

    To do this you switch to Bezier Edit operation mode.

    2472676612?profile=original

    I use the helpful command key Flip option (cmnd 5) that flips between where ever you are in Studio Artist and Bezier Edit mode, and then back again to where ever you were before you did that flip.

    2472676979?profile=original

    So you can use command keys to do this quickly while working. Without having to reach up to the menu bar or the main operation mode popup in the main operation toolbar and do it manually.

    And if you do that, then you will see the contents of the current bezier path frame displayed in the canvas.

    2472677452?profile=original

    And all 3 are there, although it's real hard to see the first one because the paint and the bezier path are both black.

    And if you don't like the color of the bezier paths displayed there, you can adjust that in the main preferences dialog in the Path tab there.

    2472678730?profile=original

    So i could re-edit any and all of those bezier paths, and then use the Path : Paint Paths : Full Layer menu command to repaint them all, with the newly edited bezier paths. Or i could select one or more of the bezier paths, and then use the Path : Paint Paths : Selected Only menu command to just paint in the selected bezier paths only.

    And we knew this already, based on previous discussion in this forum thread. So, now on to the fun new stuff.

    Normally, if you press down on the red keyframe for the second Interactive Pen action step in the PASeq timeline, that would cause that action step to redraw that middle paint stoke recorded inside of it. And by normally i mean you are in some operation mode that isn't Bezier Edit operation mode.

    2472680046?profile=original

    Except, if you are in Bezier Edit operation mode and you press one of those red keyframes associated with a manually drawn paint stroke, then the entire contents of the bezier path frame vanish and you just get the bezier path associated with the manually drawn paint stroke action step you pressed the red keyframe for. No actual painting will take place, you just get the bezier path associated with that specific manually drawn action step. Remember, we're in Bezier operation mode when we do this.

    2472680258?profile=original

    So since i'm in Bezier Edit mode operation mode, i can edit that bezier path.

    So let's do that by just moving it.

    2472680332?profile=original

    Now that we have edited it, let's option click the red keyframe we clicked associated with the action step it originally came from to re-record just the bezier path part of that paint stroke. Remember, we're still in Bezier operation mode when we do this.

    2472680046?profile=original

    Now let's get out of Bezier Edit operation mode.

    We'll use that fancy cmnd 5 hotkey to do it. So now we're back in Paint Synthesizer Classic op mode.

    2472680596?profile=original

    Now let's playback our edited PASeq.

    2472680769?profile=original

    Magic. We edited that second pen stroke. By editing it's associated bezier path.

    Of course we also blew away the entire contents of the bezier path frame when we did that.

    They all vanished and were replaced with a single bezier path associated with the specific action step we clicked the keyframe of. While we were in Bezier Edit mode.

    So we might have wanted to use one of the 4 global bezier path memories to save it's contents before we did that.

    2472684075?profile=original

    And the context sensitive help tips even tell us that G1 is global bezier memory 1, and that we click to play it's contents back, and we option click to record what is in the interface into the memory button.

    Remember, memory buttons in Studio Artist always work the same way, click to play back their contents into the interface, option click to record the associated interface contents into the memory button.

    Now as it turns out, we didn't even need to have that Path : Path Layer Record Options : Pen Draw menu flag turned on to use this feature. Turning that on in the beginning of this little essay probably just made things more confusing. But i wanted to get across the point that editing individual paint strokes this way blows away the contents of the current bezier path frame. And now you know that.

    Of course, if you have a sharp eye you maybe are wondering why i only translate moved the bezier curve as opposed to doing some fancy edit where i radically changed it's shape. And the reason why is that when i played it back, maybe it would have worked, or maybe only part of the edited curve would have redrawn. There are some issues that obviously need to be worked out with that if you play around with it. And Craig would probably figure out this issue in about 15 seconds when he tries to use it.

    But i think the basic idea is there, and could be used for all kinds of different things. If people knew about it. But like many things hiding in Studio Artist, i kind of think they don't. Or they did, and then they forgot about it.

    And as i pointed out, it could be tweaked to work better when you do fancy edits to the curves.

    And i think we can fix that.

    And if you try it on a paint path that has a ton of path randomization in it, you might be surprised at the results, because they might not be what you expected.

    So we should probably work on that too.

    But i am interested in whether we're on the right track with this feature from a workflow perspective, or if we need to rethink it a little. 

    So people like Craig and Liveart, speak up.

    Is this all old news to you?

    Or was this little essay kind of a surprise?

    And do you have any thoughts on how we could make all of this smoother for people trying to get real work done in a hurry?

    From a workflow perspective.

    Besides the obvious point that no matter how much you edit and twist that bezier path, it should always capture the complete new edited curve when you record it back into that action step it came from, and then repaint that action step, not just repaint some part of it that happens to be the same length as the original curve. Which gives you some insight into why the bug i described with fancy curve edits is happening.

    • Well the erasing of the entire bezier frame contents is a bit of a problem. I think in the past I used to use the path memory collections to overcome that vs the Global ones. It would be better if only the path being edited was effected. I also remember that the editing was tricky -because the handles were difficult to see (that issue was fixed) and because of the Neutrino Wand issue. i.e. don't cross the streams, as I recall editing a path that might loop back on itself was an issue for animation playback- I mostly was interested in the auto morphing back then.

      You did forget to mention the hotkey edit function which Craig might find most useful. In Bezier mode Select a line hold down the e key and draw over the line. the path will be edited without erasing the other paths. 

      I have been and remain a strong proponent of making the bezier draw features more accessible and more interesting to use. Maybe some elements from a program like Livebrush and inkscape could be incorporated in a uniquely SA manner.

      • You under stand why it erases it all, except for the path you are editing.

        A reply might be, well just select the one being edited, and then the one selected is what is recorded back in the keyframe when you option click it in bezier mode. That way you don't blow away everything in there where you do an edit. Now i will explain why that selection idea might not be such a good idea.

        Keep in mind that a single action step might actually have a complete bezier path buffer stored inside of it, potentially hundreds or thousands of paths. If you click on that one in bezier op mode, they all appear there to be edited. So the selection idea works ok for the edit a single path case, but would be a big giant mess for this second case where a second complete bezier path frame suddenly appears in there, all selected and mixed in with whatever was in there before.

        We could try to be more modal about it all i guess. Drop into that magic editing mode and out of it somehow. And your original bezier path frame returns like magic when you leave magic bezier editing mode.

        The origins of all of this came from making bezier defined morphing easier to do. And it actually does that pretty well.

        When i thought about how Craig was trying to work when he posted his notes on trying to build a comic strip using bezier paths, i thought to myself, he obviously doesn't know anything about this feature of Studio Artist, or he would be using it.

        And then i tried to do some Craig style stuff with it, and found the path length issue i mentioned in my post yesterday. And i thought to myself, no one is using this bezier feature or they would have been yelling about this bug to me a long time ago. And i would have fixed it, like i've been doing yesterday afternoon and this morning since i became aware of it. So it should be fixed later today.

        I think the Neutrino Wand joke issue is only associated with morphing. But correct me if i'm not getting it. Because you're talking about animation when referring to it above, so maybe i don't know what effect you are really referring to.

        And i have been told by some people that what they love the most about warping and morphing is the magic bubbles they get when those Neutrino streams cross. So i would hate to take that away from them. But that editable grid you want as an alternative would be useful to have around.

        Yes, thanks for pointing out the e hot key. Select a bezier path, then hold down the e key and just re-draw it. Absolutely essential when doing warping or morphing with bezier paths, the magic key to success and getting the job done quickly. Because it places that newly edited bezier path at the exact same index in the bezier path frame that the original curve was located at

        • Just to be clear:

          I'm very open to alternative ways to make it work. Ways that would be better for all of the different workflows it could be used in. So feel free to speak up if anyone has any suggestions about it.

          I proposed one alternative above and then shot it down by looking at the bigger picture. And i vaguely talked about another one without getting specific. Specific is always good if you do have any idea, but vague ones are fine if you don't, because it might push someone else to think it through.

        • My language was loose, I mentioned Morphing then used animation later in the discussion- I was actually referring to the auto morph issue.

          • OK.

            The one issue with interpolation of paths for animation is that the direction you draw the path is important.

            So if you draw a line from top to bottom, and then keyframe it to a line drawn from bottom to top, the line interpolates to a small point of ball in the middle (think it though if anyone doesn't understand why).

            If we were really smart, maybe that would not happen, but then we'd be using some other magic way of generating the interpolation that might introduce some other artifacts for certain curves or region shapes.

This reply was deleted.

Is anybody making a copy of all the material in the Tutorials Forum

Since the Forum is going away in June, has anyone started to make a copy of all the stuff in the Tutorials forum?I've made copies of some of the tutorial material on the main site, but haven't looked at the Tutorial Forum yet.I'm going to continue copying as much as I can for my own personal use anyway, but if anyone else is doing it, or has already started doing it, please let me know.Maybe we can co-ordinate our efforts. ps can't ..... believe John, would let this happen without so much as a…

Read more…
1 Reply · Reply by Thor Johnson Apr 13

Studio Artist is in Italy!

I was crawling the streets of Matera, Italy today and may have discovered where SA is hiding!  (see attached photo). Not meaning to make light of this great, sad mystery. But I just couldn't resist as I try to make sense of what's happening. Losing my connection to SA, Synthetik and John has been a great sadness... and if real, ends a monumental era in my creative life. love,~Victor   

Read more…
3 Replies · Reply by Thor Johnson Apr 13