I am attempting to use a noise distort layer to make an object look like liquid. The object itself is made up of an outline and a region. The distortion works great for the region, but it causes variations in the width of the outline, which does not match my art style (see the distorted circle below). I would instead like the outline to match the shape of the distorted region while maintaining a fixed width.
Does any method exist to outline a distorted region while keeping the outline’s width constant? The only alternative solution I can think of is using the shade layer, but I cannot find a way to remove its feathering.
I got the best result by only distort the region without the outline. Duplicate the result into a new folder. In the duplicated folder turn the red into black, select all the vertex of the duplicated region and manually scale it with the scale tool.
distortion.sifz (2.1 KB)
Thank you for your suggestion, but this unfortunately is not what I am looking for. I want the outline to match the shape of the distorted object, but I do not want the outline itself to be distorted. See the example below: I want to make the left circle look like the right circle without having to manually trace the distortion.
Essentially, I want a dynamically-generated outline. Like I mentioned in the original post, a shade layer would be perfect for this if there was a way to disable its transparency.
Shade layer usually has an opacity of .75 so you can increase to 1, set the blending mode to onto and reduce size to 0,0.
If you plan on controlling thickness, create a new filter group, change its blending mode to onto, drag in the shade layer, set it’s blending mode to composite and add a stretch distortion. To reduce or increase the size you just have to input the same number in the amount spaces (e.g. 0.8, 0.8)
This is what I see when using a filter group like you suggested (on the left). I have the filter group with the stretch and shade layers above the noise distort layer; is this the correct configuration? This does create an outline of fixed width, but the outline is still feathered. I want the outline to be completely flat opaque like it is on the right.
Try selecting both the outline and region layers change Blend Method to “Behind” .Then select the distortion layer and change displacement to 0 px and size to like 100px each.
You are on the right track, use “Shade” layer. In Synfig, “opacity” parameter isn’t really an opacity, but more like amount. So you can make it bigger than 1 to mitigate effect of feathering.
Check out this source:
OutlineBehindDistortion.sifz (1.3 KB)
It produces the following image:
On the left is an outline generated by “Shade” layer, on the right is the same but using 2 “Bevel” layers.
Although, I would like to point out that “Distortion” layer has performance problem, so I would recommend just making the desired shape the traditional way, because if you have a lot of distorted shapes your project can turn into a slog.
The animation I’m working on is only a few seconds long, so performance should not be a huge issue for me.
Using shade with an opacity greater than 1 seems to be the solution closest to what I want. Even so, I will probably just end up doing a frame-by-frame trace of the distorted object instead. Increasing the opacity over 1 still leaves a light blur in comparison to regular splines, but increasing the opacity too much causes aliasing between the object and its shadow/outline.
Did you try Disc Blur type of the Shade Layer?
I tried changing the blur type, but it only really reduced the aliasing rather than removing it completely. Notice the white spots between the region and its shade/outline on the left.