Is there a way to fill all the closed areas in one click?

Please use this part to report bugs & errors, ask questions & "How to..."
Post Reply
User avatar
Soom
Posts: 1185
Joined: 25 Jul 2011, 16:25
Location: World
Contact:

Is there a way to fill all the closed areas in one click?

Post by Soom »

In CTP (Crater software), that I used to work with long time ago, there is an amazing function that lets you fill all the closed areas with a color with one click. You do it by drawing a selection around an outlined drawing, and it fills the color inside all the closed areas. Currently in TVP 9.5 (don't know about 10) I struggle to paint inside outlines, especially, when the outline is not very clear and has many small areas.
Is there a possibility to do that? I couldn't find anything like it in the TVP manual...
at home: Hackintosh Intel Core i9-9900K, GPU AMD RX 6600 8GB, Cintiq 22" + Dell P2415Q 4K displays, MAC OS High Sierra / Windows 10, TVP Pro 11.7.1 + TVP Pro beta
at work: Windows 10, TVP 11.7.1 Std
https://vimeo.com/danas
User avatar
slowtiger
Posts: 2950
Joined: 08 May 2008, 21:10
Location: berlin, germany
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by slowtiger »

Try this:

(Duplicate your line drawing layer first!)
Use the magic wand selection to select all transparent areas around your character.
Invert this selection.
Use the filled rectangle set to "behind" and draw all over the area.

(Hm, this should be scriptable. It would come in handy for creating a uniform fill behind a character which gets painted with transparent brushed.)
TVP 10.0.18 and 11.0 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
TVP 11.0 and 11.7 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
TVP 11.7 Mac Mini M2pro 32GB OS 13.5
User avatar
Soom
Posts: 1185
Joined: 25 Jul 2011, 16:25
Location: World
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by Soom »

slowtiger wrote:Try this:
(Duplicate your line drawing layer first!)
Use the magic wand selection to select all transparent areas around your character.
Invert this selection.
Use the filled rectangle set to "behind" and draw all over the area.
I've tried that one - the main problem is that in my animation style I have lot's of areas on the edges of the drawing, that don't need to be filled. Therefore after I fill everything with inverting selection method, I need to erase a lot. My idea is to draw an approximate selection around an area, and the tool would detect all the closed outlines under the selection and fill them, and leave any open outlines unfilled.
Also using magic wand requires quite a lot of manipulations... Actually I paint on paper with same speed, maybe even faster.
I understand that filling simple, clear line drawing is easy with TVP, but when it comes to more complex / shattered / jittery / furry outlines, it becomes quite a pain.
slowtiger wrote:(Hm, this should be scriptable. It would come in handy for creating a uniform fill behind a character which gets painted with transparent brushed.)
Yeah, I'm not a scripter, but I also think it could be scripted quite easily - anyone?
at home: Hackintosh Intel Core i9-9900K, GPU AMD RX 6600 8GB, Cintiq 22" + Dell P2415Q 4K displays, MAC OS High Sierra / Windows 10, TVP Pro 11.7.1 + TVP Pro beta
at work: Windows 10, TVP 11.7.1 Std
https://vimeo.com/danas
User avatar
Animark
Posts: 505
Joined: 16 Oct 2008, 15:26
Location: Berlin

Re: Is there a way to fill all the closed areas in one click

Post by Animark »

Hello Soom,

maybe a picture of one of your drawings could help. But I know the advantages of the coloring method you described from CTP and Animo also. Maybe this could help:

1. Make a second layer under your outline drawing (maybe by copying the drawing layer and erasing the content)
2. Go to the drawing layer and select the magic wand tool. Set the settings for gap closer to 0 and for expand to 1, 2 ore even more - depending of the thickness of your lines. Then click somewhere outside the drawing. Then invert the selection. Now you should have selected all closed regions of your drawing and the selection outline should be somewhere inside the drawing line.
3. Go to the second layer and draw a freehand region around the area of all closed regions you will fill with the filled stroke tool. There are now maybe some more regions filled as you would like to, but they should be covered by the line drawing of the top layer.

It is very close to slowtigers manual, but using the filled stroke tool gives a little bit more control about what parts of the selection you want to fill. The expand setting of the magic wand could prevent you from having to erase too much of unwanted fills.

I know, these are some more clicks than in CTP or Animo. In both software exists an vector-concept under the bitmap drawing that makes that special fill operation possible - but I think there is nothing comparable to that in TVPaint. The way I described could be very fast with some training and good shortcuts, but it is restricted to one color. For different colors you have to do it the old way by selecting different areas with using the magic wand inside the regions to fill. In that case I would prefer the flood fill bucket (source = front, expand = 1 or 2, ...) on an layer under the drawing. I mostly use the magic-wand-way, when I like to fill some areas with a texture from a layer under the drawing. But that's another story ;-)
TVPaint 10.5.7 - Win10/64
TVPaint 11.0.8 - Win10/64
TVPaint 11.0.8 - Win10/64 (Wacom Companion 2)
User avatar
slowtiger
Posts: 2950
Joined: 08 May 2008, 21:10
Location: berlin, germany
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by slowtiger »

Actually I paint on paper with same speed, maybe even faster.
Well, in that case - why don't you paint on a separate layer under your animation? That's what I do when I have a fuzzy character.
TVP 10.0.18 and 11.0 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
TVP 11.0 and 11.7 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
TVP 11.7 Mac Mini M2pro 32GB OS 13.5
User avatar
Fabrice
Posts: 10077
Joined: 17 Jul 2007, 15:00
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by Fabrice »

Soom wrote:In CTP (Crater software), that I used to work with long time ago, there is an amazing function that lets you fill all the closed areas with a color with one click. You do it by drawing a selection around an outlined drawing, and it fills the color inside all the closed areas. Currently in TVP 9.5 (don't know about 10) I struggle to paint inside outlines, especially, when the outline is not very clear and has many small areas.
Is there a possibility to do that? I couldn't find anything like it in the TVP manual...
There is no need to use selections :)

Make a new layer, then fill all its images with one color.
Then use the floodfill tool in erase mode + select the right source, and click outside your drawing.
The job is done, and you can repeat the process on all frames (select all images on the layer and hit enter)
It's very fast if you need only one color.

I hope it makes sense.
Fabrice Debarge
User avatar
slowtiger
Posts: 2950
Joined: 08 May 2008, 21:10
Location: berlin, germany
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by slowtiger »

Wow! This works great!

(Setup: line layer on top, filled colour layer below. Fill-erase source set to "front".)
TVP 10.0.18 and 11.0 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
TVP 11.0 and 11.7 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
TVP 11.7 Mac Mini M2pro 32GB OS 13.5
User avatar
Soom
Posts: 1185
Joined: 25 Jul 2011, 16:25
Location: World
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by Soom »

Fabrice wrote: There is no need to use selections :)
Make a new layer, then fill all its images with one color.
Then use the floodfill tool in erase mode + select the right source, and click outside your drawing.
The job is done, and you can repeat the process on all frames (select all images on the layer and hit enter)
It's very fast if you need only one color.
I hope it makes sense.
Thanks Fabrice
This method is the closest to what I need, yet I think there is a very slight advantage of what I propose, in terms of amount of clicking around:
Here is a very quick example of what I mean (see picture) - maybe not the best one - I just did it for demonstration, as I didn't have my project in question under my hand:
1. Let's say I have an outline like that -a bit fluffy and several closed areas to be filled.
2. If I need to paint everything, In TVP I would use your method = 2 clicks for selecting tools + more clicks for changing prefs in the floodfill tool settings. in CTP I would use the auto-fill tool to draw an approximate selection around all the closed regions = 1 click.
3. This is a result in TVP - as you see, anyway lot's of areas in the hair are filled, so need cleaning. Although cleaning would be needed anyway in CTP too, but much less.
4. The clean result
5. But then what If I want to fill only the head? In TVP I need to either draw a separation line on the color layer, either just paint everything with a brush. In CTP I would use the same auto-fill tool with similar results.
6. The result.

Well, I think basically when you need to paint loads of images, hands get used to paint very fast in TVP too, but I still think this kind of tool would be just a good addition to filling functionality of TVP - it's just more simple in it's idea...
filling_example.jpg
at home: Hackintosh Intel Core i9-9900K, GPU AMD RX 6600 8GB, Cintiq 22" + Dell P2415Q 4K displays, MAC OS High Sierra / Windows 10, TVP Pro 11.7.1 + TVP Pro beta
at work: Windows 10, TVP 11.7.1 Std
https://vimeo.com/danas
User avatar
Fabrice
Posts: 10077
Joined: 17 Jul 2007, 15:00
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by Fabrice »

I might be wrong, but a such tool would need an object (=> vectorisation of the drawing) to paint inside. (because without object, it's not possible to recognize the inside and the outside of a drawing)
I will ask to the dev team if something can be done anyway.
Fabrice Debarge
User avatar
Peter Wassink
Posts: 4437
Joined: 17 Feb 2006, 15:38
Location: Amsterdam
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by Peter Wassink »

Soom wrote:
5. But then what If I want to fill only the head? In TVP I need to either draw a separation line on the color layer, either just paint everything with a brush. In CTP I would use the same auto-fill tool with similar results.
not everything....
You can use the stencil to keep the outline (since that doesn't change) so you only have to pay attention for the line between head and body.
For instance use the freehandfill tool draw a fast wide circle around the head and only go slow and precise for the part where head and body meet.
because the stencil only allows the new color on pixels already there, there is no risk of going outside of the outlines. this would work pretty fast
Peter Wassink - 2D animator
• PC: Win11/64 Pro - AMD Ryzen 9 5900X 12-Core - 64Gb RAM
• laptop: Win10/64 Pro - i7-4600@2.1 GHz - 16Gb RAM
User avatar
Soom
Posts: 1185
Joined: 25 Jul 2011, 16:25
Location: World
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by Soom »

Fabrice wrote:I might be wrong, but a such tool would need an object (=> vectorisation of the drawing) to paint inside. (because without object, it's not possible to recognize the inside and the outside of a drawing)
I will ask to the dev team if something can be done anyway.
Have no idea how this works in other software - in CTP there is no vector object as far as I understand - I think there is just a script, that recognizes all the closed areas on the outline layer...
Peter Wassink wrote:not everything....
You can use the stencil to keep the outline (since that doesn't change) so you only have to pay attention for the line between head and body.
For instance use the freehandfill tool draw a fast wide circle around the head and only go slow and precise for the part where head and body meet.
because the stencil only allows the new color on pixels already there, there is no risk of going outside of the outlines. this would work pretty fast

I'm using the "preserve transparency" to use only the present pixels - forgot to mention.
I didn't think about the freehand fill tool - thanks – will try that and see what's faster, but still - need precision in those connection areas, which take more time...
at home: Hackintosh Intel Core i9-9900K, GPU AMD RX 6600 8GB, Cintiq 22" + Dell P2415Q 4K displays, MAC OS High Sierra / Windows 10, TVP Pro 11.7.1 + TVP Pro beta
at work: Windows 10, TVP 11.7.1 Std
https://vimeo.com/danas
User avatar
Fabrice
Posts: 10077
Joined: 17 Jul 2007, 15:00
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by Fabrice »

Hervé is busy with some other stuff now, but I will ask him more details.
Please add a post in this topic if we are too slow to answer.
Fabrice Debarge
User avatar
slowtiger
Posts: 2950
Joined: 08 May 2008, 21:10
Location: berlin, germany
Contact:

Re: Is there a way to fill all the closed areas in one click

Post by slowtiger »

From your sample image I can't believe that any software would be able to automatically decide which of the black lines was hair and which was the body outline. (I've used Toonz and Animo myself.) Unless you carefully follow that body outline with your selection tool, any software would give the result as in Nr 3.
TVP 10.0.18 and 11.0 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
TVP 11.0 and 11.7 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
TVP 11.7 Mac Mini M2pro 32GB OS 13.5
User avatar
ZigOtto
Posts: 4102
Joined: 17 Feb 2006, 22:50
Location: south-Petazonia

Re: Is there a way to fill all the closed areas in one click

Post by ZigOtto »

also you can manage your scene differently when it comes you have an hirsute (haired) character to animate
(or a hedgehog) :mrgreen: , you may clean the (naked) body and the hairs/piles on 2 separate line-layers,
so you take in account only the naked one for your color work, making it a lot easier,
you can gain substantially times on a long scene in that way, if planed from start.
Post Reply