Lasso fill

768 views
Skip to first unread message

beeheemooth

unread,
Mar 6, 2017, 6:09:31 AM3/6/17
to OpenToonz Users Forum
If there is a eraser which erases every frame in "Frame Range" mode, then why not have a tool such as the lasso selection, who fills the empty selected area in "Frame Range" ?

Rodney

unread,
May 22, 2017, 7:00:59 AM5/22/17
to OpenToonz Users Forum
@beeheemooth

OpenToonz does allow us to lasso fill across frame ranges so I'm not quite sure what you are requesting.
With more information we should be able to clarify if the current feature satisfies your need or if it needs further enhancement.

beeheemooth

unread,
May 23, 2017, 6:40:14 AM5/23/17
to opento...@googlegroups.com

This should look something like this, but instead of the Eraser Tool, there must be a Fill Tool (or Paint Brush with Frame Range)
The idea is to draw the form yourself, and not just fill the areas between the lines.
Here I used an overlay of two levels: the bottom level is black, and the upper level is white (light gray)

But if I need a background, I'll be in a quandary

This way of animation, in my opinion, is the easiest and fastest way to get the form of light and shadow (and even color) without caring about the closed lines.


(I mean Toonz Raster Level, or Raster Level)
Auto Generated Inline Image 1

Rodney

unread,
May 23, 2017, 12:26:28 PM5/23/17
to opento...@googlegroups.com
Thanks for the screenshots.  That helps tremendously.

OpenToonz does allow lasso fill across frame ranges in the Level Strip (via Drawing Room).
I'll have to look into this further to see how it might be used elsewhere..


P.S.  Nice work!

beeheemooth

unread,
May 23, 2017, 1:12:46 PM5/23/17
to opento...@googlegroups.com
O.O

It turns out that in different rooms the instruments have different settings?
?

Please explain me! I opened the Drawing Room. What tool should I use to fill an empty area like on my video?

At what levels can this be done?

Rodney

unread,
May 23, 2017, 1:33:25 PM5/23/17
to OpenToonz Users Forum
There is a video tutorial out there somewhere on this...
In the meantime I'll try to do a quick screen record of the process and share that.

The basic steps:
- In Drawing Room
- Select Fill Tool
- On Tool menu make sure "Frame Range" is selected
- Select first Level Strip image and click in area you wish to fill
You should see a change in the cursor as it becomes a plus sign
- Select the last frame (or whatever end frame you wish)
-Click inside the area you wish to fill
This will fill all those areas in the frames inbetween those two frames

Note that some logic needs to be used in the selection of the first and last locations.
OpenToonz must try to figure out where the start and end points overlap.
So, we are looking to select an area in the first and last frames that overlap.
Areas that have no logical connection will likely not be properly filled.




Rodney

unread,
May 23, 2017, 1:47:09 PM5/23/17
to opento...@googlegroups.com
Here's a quick look at the process.
I note that its hard to see the second area selection as the screen capture immediately fills the area without displaying the actual selection.
I also note that one area doesn't get filled with correct color.  I'll guess that is because it doesn't have a closed gap from when the frames were inbetweened.

Gah!  The forum isn't liking the gif animation.
Let me scale it down and try again.

beeheemooth

unread,
May 23, 2017, 2:35:06 PM5/23/17
to OpenToonz Users Forum
Are you sure that this is possible?

The fill tool should fill an empty area, which he draws, and not fill any lines drawn earlier. I know about the "Frame Range" option for the fill tool, but it fills only the closed areas of the drawn lines. Correct me if I am wrong.

I want this tool to work both in the "Frame Range" mode and without it. He must draw by himself. That is, just draw them closed forms in raster levels, and when necessary, turn on the "Frame Range" mode and do the morphing (as in my first video).

Rodney

unread,
May 23, 2017, 3:06:23 PM5/23/17
to OpenToonz Users Forum
It can be hard enough to implement a new feature or enhancement but where there is any gray area... you won't get what you want... you'll get what a programmer was instructed to write.

I am reading your words but they seem to change meaning slightly as we explore.
That's a good thing because we are getting closer to the goal of what a programmer would have to create.  :)

You say:
The fill tool should fill an empty area  (check.  Users can fill areas or lines or both)
which he draws (check.  Users can fill areas and lines in both drawn and imported/converted imagery)
and not fill any lines (check.  Users can opt to fill only areas)

You say:
I know about the "Frame Range" option for the fill tool, but it fills only the closed areas of the drawn lines.  Correct me if I am wrong.

You are correct.  Frame Range fills will fill only closed shapes.  This is true of all fills in OpenToonz.
There are known issues with the gaps that should close lines and I must assume (because I've needed it myself) that even unclosed shapes should be fillable (as if there was an imaginary line that closed the shape automatically).  This of course would be a different feature request.  One that perhaps would always (behind the scenes and not visibly) "connect" lines.  It is not entirely clear how this would be optimally implemented but other programs do have this feature so it can be done.  It would just have to be implemented in a way that conforms to OpenToonz approach and technology.

With regard to the desire to have this envisioned tool work both in and out of Frame Range, in raster level and morphing... that's what needs to be outlined.

I will say that if you are following some of the github developments you can see that some folks are working on foundations to build your desired tool upon.
Specifically that of predictive drawing/artificial intelligence.  

Bottom line:  We'll have to investigate fully but to my knowledge there are very few exceptions to the rule that areas must be closed in order to fill with color.
Having said this, there are some autofill options to consider as they may meet your requirements.

 


beeheemooth

unread,
May 23, 2017, 5:53:30 PM5/23/17
to opento...@googlegroups.com

 https://www.youtube.com/watch?v=USlnm2om1BI&feature=youtu.be

Look at my workflow to understand what I'm trying to achieve.
No lines. I use only the eraser in the "Frame Range" mode. I like this process, because with its help I can create animation quickly enough. But I can not use the background, because what I have drawn is holes, through which the lower level is visible.

I use this strange animation method precisely because the Eraser Tool behaves the way I would like to see a drawing (or filling) tool that is not currently available in OpenToonz.

Here, one user has a similar request: https://groups.google.com/forum/#!category-topic/opentoonz_en/feature-requests/6j8cHRdtUUY

If we combine our ideas, then we need a tool that fills the field not limited by strokes or lines.
If to speak even easier (quite simply), then this is the Paint Brush Tool with the settings:
Type: Normal, Rectangular, Freehand, Polyline.
Mode: (maybe only Areas)
Selective
Onion Skin
Frame Range

P.S. Sorry for my english, i use GoogleTranslator
but he does not understand what I want from him :)

openanim

unread,
Sep 2, 2017, 10:00:42 PM9/2/17
to OpenToonz Users Forum


I continue here...
Autopaint lines created in the vector level and transferred to Toonz Raster are always IN FRONT of the contour lines
For me the autopaint for lines does not work on a vector level but just on tonnz raster level when it checked, or i still don't understand how it works. I usually put my separations lines in 0 alpha color style or invisible if I have to do it in OT.
I did not understand the passage of lines in front. If you create a group and you put the group in "send back" it solves your problem ?
Im not even sure , i understand the issue. If you put an exemple more people will be able to help you.

PS : indeed, nice work

I will have trouble doing it with the eraser tool

Kite R

unread,
Sep 2, 2017, 11:53:04 PM9/2/17
to opento...@googlegroups.com
I still don't get why you're erasing? If you want to do the cel shade look, there is a tried and true method to doing it, I believe Toonz was the first to pioneer it digitally, and most anime is made this way.

Separate your shadow shapes and light shapes using colored lines, effectively you need to think of them as secondary animation, think back to the tail on the bouncing ball. When working with shadows its easier to work with line, so you can do flip tests, make corrections and so on.

There isn't many examples I can show, NDA's... look at this image at his eye on the left, the red line creates a logic boundary between the white of the eye and the skin color. Just like back in the 80's cel painters would paint within the lines, the computer will do the same thing, it will stop filling up to the line or replace the line, by just clicking a mouse button.

Excuse this crude example, but you can frame range fill using freehand, as long as there is line logic in the frame, so I'm going to guess its not working for you because you're creating holes in the fill calculation. But Toonz Raster fill is not like normal raster, its more like CTG in TVPaint, if you break the boundaries the fill calculation changes along with it.








beeheemooth

unread,
Sep 3, 2017, 6:01:49 PM9/3/17
to opento...@googlegroups.com
openanim
Yes. You are right, Autopaint lines do not work in vector levels. Also, the Brush Tool here does not have the Selective mode to draw separations lines under the outline. You can solve this problem as follows:
1. Draw key frames of a contour (picture) in one level.
2. Make inbetween (manually or automatically, it does not matter)
3. Create a new style of another color and draw separations lines in the key frames (in the same level as the outline) They will be above the contour.
4. Place the separations lines in the key frames under the contour and make auto inbetween again, or manually draw them and place them under the contour in each frame (this action is pointless in my opinion, since it's also easier to do in Toonz Raster, although there is an advantage in that you can edit the contour points of vectors)
5. Use the Cells> Merge command to place the entire vector-level animation in the Toonz Raster. Select "Keep Original Palette".
6. Now, in the palette of this Toonz Raster level there will be three styles: zero (0), standard black and style of dividing lines, which will be in their place: that is, under the contour. Enable the "Autopaint" option for the style of dividing lines.

As you can see, this is not the most convenient option, requiring a lot of action.

Here's another way, more elegant:
1. Draw an animation of lines in one vector level.
2. Draw the animation of separations lines in another vector level.
3. Place the order of levels in such a way that the contour level is above the level of the separations lines.
4. Merge the levels.
5. Cells> Merge to get the animation in the Toonz Raster.

It's much easier and faster, right?

But, unfortunately, this method does not work if vector levels contain groups, lines of another style will be overlapped.

This method can still be made work, if you first get rid of the groups. I.e:
1. Vector level with groups turn into Toonz Raster.
2. This level is turned back into vector.
The quality will get a little worse, but there will be no groups.

Which method can be simpler in this workflow?

beeheemooth

unread,
Sep 3, 2017, 7:17:55 PM9/3/17
to OpenToonz Users Forum
konero
I did as you describe! But at some point, I realized that this can be done more quickly if in certain situations we exclude the presence of separations lines, namely in the places where auto inbetweening was performed.
My method has a number of advantages.
 Sometimes it happens that after filling with color, it turns out that some shadow should be a little longer

or shorter, or you need to change its shape. What you need for this:
1. Erase the dividing line.
2. Draw a different line.
3. Fill the required areas
4. Remove unnecessary areas (fill them with other color).
(Note that you have to draw all frames manually, and you can fill in Frame Range mode)

Using my method:
1. Erase an unnecessary color area in the frame range mode.
2. Fill erased areas in the frame range mode.

Another advantage is that with the Eraser Tool> Freehand, you can quickly erase a complex shadow (or light) by adding wrinkles, small parts, and so on.
But the most important advantage is that, the more shades, colors and shadows you use, the easier and faster you can work in Selective mode.

This does not mean that I abandoned Autopaint lines, I use them very often in places where the Erasre Tool behaves inadequately. For example, in very small oval details.

Rodney

unread,
Sep 3, 2017, 9:59:12 PM9/3/17
to opento...@googlegroups.com
This is somewhat related...

I have a methodlogy for vector levels that uses an 'autopaint for lines' approach and I find it useful especially as it makes working with vector lines and shapes almost the same as that of autopaint for lines in raster and Toonz raster levels.

Here's a quick example rendered out that also uses animated styles... which is worth exploring as well.



The important takeaway (i think) is that whatever level type we are using the standard red line for highlights and blue line for shadows approach is rock solid.
The use of these 'autopaint' lines with vector is uniquely suited for several things above and beyond that of raster/Toonz raster in that 1)  The vector lines can be easily animated 2) The vector lines can be auto-inbetweened.

And all this using the standard vector brush.


Edit:  I'm adding the . tnz Scene file as an attachment mostly as a test to see how much of the project is contained in the Scene file.  I'd like to get to the place where we can easily share these files without concern for leaving something out.

AnimatedSytles and AutoPaint .tnz

konero

unread,
Sep 3, 2017, 10:28:58 PM9/3/17
to opento...@googlegroups.com
I still think you're overcomplicating things. The lightsource should be figured out during layout phase, long before animation phase, then penciled in during animation as secondary animation, like hair, clothes, etc. How else will you know if your shadow animation is any good? If you outsource the painting, they will send you it back exactly how you sent it to them and won't correct it for free.


Since you mention interpolation, that can cause issues. Even with CACANi, it's not easy to paint with, their color separation lines are also zero thickness vector lines that immitate color trace lines with GUI overlays. Perhaps using zero thickness in OpenToonz is the way to go? Perhaps having a new setting to set the display size and color of zero thickness lines may help. That's how you'd do it in Harmony, which OLM uses to produce Pokemon these days.




Rodney

unread,
Sep 3, 2017, 10:37:17 PM9/3/17
to opento...@googlegroups.com
@konero

I'm not seeing why that lines in question cannot just be made 100% transparent (after initial usage whether scanned in or drawn).
The end result of setting lines to zero thickness or some other methodology is the same.

Draw vector shapes
Define highlights (red line)
Define shadows (blue line)
Fill areas as necessary
Make red and blue styles 100% transparent.

This literally takes seconds to accomplish.

There are added benefits as well, such as making those lines mostly transparent for styling purposes as some artists might prefer a slight line around their highlights and shadows.


What am I missing here?



Added:  Pardon the crude drawing but it attempts to show the red/blue line methodlogy with vector drawings.

.
VectorPaintLines.gif
VectorPaintLinesTransp.gif

konero

unread,
Sep 3, 2017, 11:45:49 PM9/3/17
to OpenToonz Users Forum
Rodney,

I didn't see your post sorry, nothing wrong at all doing it the way you suggest.

Rodney

unread,
Sep 4, 2017, 12:06:06 AM9/4/17
to opento...@googlegroups.com

Thanks, your example demonstrates the process perfectly.

What I think I like about that approach (and the zero thickness line approach should be much the same) is that we should be able to automate much of this via a script or macro so we don't have to actually go in and dial the transparency for those two line styles.  


beeheemooth

unread,
Sep 4, 2017, 8:38:25 AM9/4/17
to OpenToonz Users Forum



I do not have plans to work in animation studios, or to earn money on animation (it must sound wildly). I am a single-player animator who wants to translate his ideas without reliance on outside help.
Therefore, I can revise the generally accepted norms of production animation, but choose for myself a simpler (I think) way.
 
I can decide at any stage from which side to make the lighting or shadow, and if it is unsuccessful, I can easily fix it. For me, the silhouette is important as a constant of form, within which light will spread. Initially, the silhouette is gray (as imprimatur in painting).

This is the problem I'm talking about using Autopaint:


Rodney

unread,
Sep 4, 2017, 3:13:05 PM9/4/17
to opento...@googlegroups.com
I must be missing something you are doing because when made transparent there shouldn't be any line left to see and yet your images clearly show it there.

I'll try to replicate what you are seeing on my end and work from there.
I will guess you are using Toonz Raster level as that doesn't occur with Toonz Vector levels.

Rodney

unread,
Sep 4, 2017, 3:31:42 PM9/4/17
to opento...@googlegroups.com
I'm going to call that a bug on Toonz Raster levels although I see why it might not be considered such.
With autopaint I don't think the line should take on the attributes of the adjacent/fill color but rather be made to disappear via transparency.
If this would be the case then Toonz raster and Toonz vector 'autopaint for lines' would operate the same.

Longshot speculation
This *might* relate to why Japanese studios leave what will eventually be transparent as white.
Then when the white is adjusted later that threshold between the autopaint lines will be adjusted as well.

Added:  I note that if the autopaint line was under the drawing this problem wouldn't happen so... if the code allowed for that by considering the line to be behind all other lines it would resolve the problem.
Someone else noted the 'behind' issue before but I wasn't following the full details of that problem.


I'll also add... I love the methodology you are using as it can be used to create some very interesting stylistic drawings.
I just spend about 30 minutes drawing a fairly detailed dragon using the eraser... crazy... and I'd love to share that image but OpenToonz crashed while I was adjusting something in the Style Edtior.
That'll teach me to ignore all of those autosave popup menus.  :(




openanim

unread,
Sep 4, 2017, 3:42:47 PM9/4/17
to OpenToonz Users Forum

Hi,

I understand your problem better, a small question, 

if you make your separation lines on a vector lvl then you merge on toonz raster (after you are used alpha or 0 thickness), does that affect your work in one way or another ?
or you find it longer ?

beeheemooth

unread,
Sep 4, 2017, 5:38:04 PM9/4/17
to opento...@googlegroups.com
Yes. I use the Merge Vector Levels, and then I paste it into the Toonz Raster and turn on Autopaint.

openanim

unread,
Sep 4, 2017, 6:44:01 PM9/4/17
to OpenToonz Users Forum
Here's another way, more elegant:
1. Draw an animation of lines in one vector level.
2. Draw the animation of separations lines in another vector level.
3. Place the order of levels in such a way that the contour level is above the level of the separations lines.
4. Merge the levels.
5. Cells> Merge to get the animation in the Toonz Raster.

It's much easier and faster, right?

Yes, there is a way to select all  lines separations of a drawing sequence ? 
same style option of the selection tool can't be applied to a frame range

Here is how I proceed in OT :

I lineart my keyframes on vector levels, with the lines separation in the same level, then i create 1 main breakdown on level strip.
I do some corrections about gaps, thickness and lineart, i apply my timing chart and continue to do some correction during the inbetween process like that... and I put in final step, my separations lines with 0 alpha.

My biggest problem are the gaps, which is why I would like an little improvement of the gaps chek too.
It is not very fast but I have the freedom to use the vector editing tools

it looks like the first 3 steps of your first method. What I do not understand is why you switch for tlv levels, just a preference, Is it for something else ?

Toonz raster level require to be precise to use the autopaint option like you said,

however on a vector leve, no matter if the line is above or below or exceeds with workaround solution.
I have the impression that there is something that escapes me. You switch to toonz raster level,
to use the autopaint function simply or for a coloring issue ? it is faster ?I do not usually use the level tlv so I wonder.


my gif is not compatible with your method ?


Rodney

unread,
Sep 4, 2017, 7:00:42 PM9/4/17
to OpenToonz Users Forum
The problem with classifying what I'm seeing as a bug is that if fixed we lose a very important feature I didn't even realize we had.
Namely, the ability... via Toonz Raster levels... to use brush styles that paint masks that cut through all areas and/or lines exposing the background behind.
That's great stuff and likely relates to why the styles used the designation RGBM (M=Matte) rather than RGBA (A=Alpha).
The difference is subtle but important and a bit difficult to nail down.

Let me see if I can properly describe this.
I think... the underlying issue is that autopaint for lines should be ignoring the matte but processing the transparency  FOR LINES.  (I'm not quite sure I've got this locked down though)
In other words, a 'transparent' line in Toonz Raster level is masked/matted out... black.... not actually transparent.
A line that is not transparent in Toonz Raster level is white... opaque.
This is actually the best implementation of the use of Alpha Channel I've seen in any software but is problematic because of the way we tend to think of transparency.
It allows us as users to paint through lines and areas all the way through to the background.  Nice.

I'm not exactly sure what I'm discovering here besides the masking capability of styles (which is powerful and not present in other programs).
My tests suggest that using Toonz Raster levels with autopaint for lines for all but the most detailed workflow (where lines are precisely defined) isn't optimum.

Also, to complicate the matter a little more... it seems to me there may be a distinct difference between Toonz Raster and Toonz Raster that has been converted from Toonz Vector at some previous time. I need to run some tests to confirm this and make some simple demonstrations if I find anything.

Rodney

unread,
Sep 4, 2017, 7:53:20 PM9/4/17
to OpenToonz Users Forum
Thanks to this discussion I'm learning a ton.

One thing I note when using Autopaint for lines in Toonz Raster is that it can be important to turn Selective on when drawing the separation lines.
What this does is prevent the separation line from running over the boundary line.
Then when the area is filled that fill will stop at the boundary.
And THEN if we make the remaining part of the separation line's style transparent it disappears without effecting the filled area or the boundary line.



openanim

unread,
Sep 4, 2017, 8:25:16 PM9/4/17
to opento...@googlegroups.com

Well seen thanks Rodney, and in this situation it's possible too , I  can't do it.

It's random ?


Rodney

unread,
Sep 4, 2017, 9:21:13 PM9/4/17
to opento...@googlegroups.com
@openanim I can't tell exactly what you've done differently but something is definitely wrong in that the top of the line is acting one way while the bottom is acting another.
It may be that you have the Segment option turned on and that makes a difference or.**.. the separating line isn't all of the same line and part of it was drawn without the autoline option (in Style Settings) turned on.
I can't see far enough up on your screen to see what options you have checkmarked.

**Edit:  I just checked and having the Segment option shouldn't make a difference.

A few too many variables to track down without knowing more about how you set up the separation line.
I'd need to know more about that separating line before I can comment further.


Definitely not random on my end.  
It works every time.

Rodney

unread,
Sep 4, 2017, 10:11:04 PM9/4/17
to OpenToonz Users Forum
Another thing of note... important especially since the bug I thought I was running across relates to things being on top or on bottom.

The option "Selective" controls this behavior.
If Selective is on the new line drawn is pushed to the back.
If Selective is off the new line drawn is brought to the front.

This behavior is the same regardless of whether 'Autopaint for Lines' is on in the style settings.

Toggling Selective on/off while drawing might be a quick way to draw chains and such.
Or... a basket/fence/mesh...
Selective.png

beeheemooth

unread,
Sep 5, 2017, 3:54:22 PM9/5/17
to opento...@googlegroups.com
openanim

Your method is really good!

Judging by the fact that you have assigned hotkeys to execute these commands, you use this method quite often.
Tell me, if you animate the character's walk in this way, the character is in the same level, or in several?
How many vector lines do you use per vector level?

In my workflow, I use only two vector levels: one for merging with the total animation of the form (contour), the other for morphing some separate parts, lines. Orienting the level with rough animation (a separate level), I draw in the second level some detail with several vector lines, I copy-paste into another frame, edit or deform and do inbetweens (as in your gif). Then I merge the second level with the first, I clean the second level, and draw another detail in it, and the cycle continues.

Why am I doing this? In this way, you can get an animation in one level, where different parts have different timing - spaceing.
But such a level can not be colored by color, because with multiple applications of Merge Levels, hierarchical vector groups are formed that do not form closed areas at intersections. Ungroup this mess is possibe only by placing it in the Toonz Raster. If all vector lines of the same style, then the conversion to Toonz Raster goes well. But if there is another style (for Autopaint), when converting a group, it is overridden.

Although, your method pushed me to some thoughts. Thanks!

openanim

unread,
Sep 7, 2017, 12:42:21 AM9/7/17
to opento...@googlegroups.com
@Rodney
I reproduce the same thing., I must be mistaken somewhere so I will look more carefully as soon as I can. 

@Beeheemooth

About the walkcycle, what I do is adaptable. I like the frame range guided (
what a pity that it does not work with geometry tools)

with drawing guided to lineart from my keyposes. For the coloring, I like to use the mode onion skin in this case, too.

Yes, I make my lines of separations always in the same level, and tweening them, close gaps, etc...color process

in rare cases, I can do different parts of my character with different color styles, if I do not make shadows with separations lines. Instead of different columns.

Concerning the shortcuts in the level strip, they are basic by default, Ctl + a for select all, ctlr + c / x for merge, i just added an additional shortcutd to clone
, very useful

I sometimes also use several columns for different parts of a character for tweening if it's too much hard ... or when i build cut out

But most of the time only one is enough
by character for me with classic tweening.

Anyway, I understand better your need to go into toonz raster. Thank you for the detailed explanation.

And i like your method about that,
what bothers me is the impossibility of selecting the same style applied on a frame range to accelerate this process

But, that leading to new and different reflections also, thanks.



beeheemooth

unread,
Sep 7, 2017, 5:14:31 AM9/7/17
to OpenToonz Users Forum


openanim

unread,
Sep 18, 2017, 3:45:53 PM9/18/17
to opento...@googlegroups.com

@beeheemouth
sorry, I do not understand what you tried to explain with your gif :(
Can you specify?

@ Rodney
I can no longer reproduce my issue . This time all my tests work. I think, this must be related to when I turn on or off the selective option. I had to get tangled at this level.
no matter, thank you for the trick I think it will serve

ps : i have display issues, i don't know if u can see my last post
Message has been deleted

beeheemooth

unread,
Sep 19, 2017, 5:13:33 AM9/19/17
to OpenToonz Users Forum
@openanim It is obvious. If the Autopaint option does not work for vector levels, then the most logical thing that it could do is - when enabled, move strokes with a style labeled "autopaint" below the remaining strokes (in the entire current level), so that when exporting to Toonz Raster these strokes would be UNDER the remaining strokes of another style.

Probably this is a topic for another feature request.
Reply all
Reply to author
Forward
0 new messages