Making a filter layer behave like a transform layer

Currently when I want to add a blur effect to an animation, it requires me to make separate layers for each increment.

i.e. going from clear to 80 % gaussian blur, could require five layers: 0%, 20%, 40%, 60%, 80%

The great thing about the transform layer is how it automates transformation, making the job of the animator a lot easier.
For my suggestion I can think of a number of use cases that would lift automation in animation to the next level.
For example consider to be able to gradate from a highly saturated scene to complete monochrome, or colored monochrome.
Or to be able to pixelate your drawn animation scene, etc.

I think it would be great to have this, and would set animation in krita apart from other software as well.
I’m not sure how hard it would be to implement such a thing, but it seems like the ingredients are already there.

The last post in this thread contains an example of how I handled a blur effect in an animation.

https://krita-artists.org/t/backgrounds-for-an-animation-project/128898/6

In the meantime, you can use an animated greyscale transition then convert it to a Filter Mask to give an animated/blended filter transitiion:

The video should be played Looped.

(Original photo taken by me with people’s faces blurred for anonymity.)

2 Likes

That is very interesting, can you explain a bit more about the process involved?

For your original feature request, the difficulty would be that every filter that you want to use would have to be modified to make its parameters available/controllable by an Animation Curves docker type of interface. That would be a massive development effort.

I suppose the effort could be made for individual filters but it would still be effort required.

That effort was made for the Free Transform tool to give the Animated Transform Mask that is adjusted/presented by the Animation Curves docker but even that does not give animation access to every parameter and it also has UI/UX problems that have not been fixed yet, probably because of lack of available developer time/effort.

There are ‘tricks’ you can use for filters and there are three basic tricks with different levels of complexity, required time/effort and available control of detail.

The one I mentioned, the animated filter mask is the most complex and has greatest flexibility but is overkill for what I showed and I used it for a very simple end result.

In order of increasing complexity, the three tricks are:

a) Animation Curves docker opacity transition.

b) Animated Transparency mask transition.

c) Animated Filter Mask transition. (I used this one because I’d forgotten how to make it so I gave myself a quick relearning session. With hindsight, it’s too complicated and takes too much time/effort for the end result.)

Method a) is the simplest and quickest method:

You can adjust the shape of the transition by using the bezier curve controls in the Animation Curves docker to give a visually pleasing transition effect. Because of how human visual perception works, i.e. its complicated, a linear transition is not always the most visually pleasing.

Method b) is almost identical to method a) except that the opacity transition is controlled by an animated transparency mask that fades a separate filtered image in/out over the original image. Time and effort is required to make the animated greyscale transition image for conversion to a transparency mask. This method has two advantages over method a):

  1. The animated transparency mask can be quickly copied and used with any other image layer. That assumes it is a suitable transition effect for use with other parts of the animation.

  2. The animated transparency mask operates locally on the image and so can be made with very detailed local control resulting in the ability to make a variety of fancy effects such as shaped wiping transitions. More detailed ‘local artistic’ effects can be made but that takes time and effort and would probably not be suitable for copying and reuse.

The disadvantage of method b) is that time/effort are needed to make an animated greyscale transition for conversion to a transparency mask. That’s the price you pay for flexibility and capability.

Method c) is roughly equivalent to method b) except that the animated greyscale transition that you initially make is converted into a filter mask instead of a transparency mask. This means that it uses fewer layers than method b) but that’s not a big technical advantage.

Please remember that none of these methods are the same as varying the parameters of an applied filter. They are visual/animated tricks that often look good or can be adjusted to look good.

1 Like

A great explanation, thank you!
So basically there are the quick way to do it, and the more detailed ones that entail more work.
I suppose you can use this for any effect, and it is a good workaround.
You’re right in stating that it would take up a lot of development time, especially for all the different filters, and in that the transform method is nowhere near perfect.
I get artifacts and stutters as well from time to time, which currently can’t really be helped.

Bookmarked though, because I think I may actually be using these methods in some shape or form a lot!

1 Like