Вы же помните, что я просто обожаю необычные эффекты)
Вот как тут, например - с принтером и анимацией отчётов за пару десятков строк кода. Или в стиле tap to cash (до сих пор прилетают запросы где взять туториал).
Так вот, делюсь одним необычным и несложным эффектом - вдохновиться можете где-нибудь здесь.
А по факту у нас два текста кроссфейдятся с анимированным блюром, а с помощью шейдера поверх мы режем альфу по заданному порогу. В общем из-за этого размытые буквы «слипаются» и перетекают друг в друга, как жидкость)
Если разобраться, как такое сделать, можно удивиться, насколько все просто (это аналог feColorMatrix "0 0 0 255 -140" из примера выше):
#include <metal_stdlib>
#include <SwiftUI/SwiftUI_Metal.h>
using namespace metal;
[[stitchable]] half4 textMorphThreshold(float2 position,
SwiftUI::Layer layer,
float4 bounds,
float threshold,
float softness) {
half4 c = layer.sample(position);
float a = float(c.a);
if (a < 1e-4) {
return half4(0.0);
}
float na = smoothstep(threshold - softness, threshold + softness, a);
float3 rgb = float3(c.rgb) / a;
return half4(half3(rgb * na), half(na));
}Ну а если вам все-таки нужен исходный код, вы можете прям переписать его с гифки или не терять время и найти его: ⭐️ здесь или 💰 тут.
😃 iOS Dev