← Về kho

Mã của skin

//! name: lime blur
//! author: MusicBar
//! kind: progress
//! description: One flat slab of lime up to the playhead with a soft out-of-focus edge, deliberately minimal and a little lo-fi.

float hash2(float2 p)
{
    float3 q = frac(float3(p.x, p.y, p.x) * 0.1031);
    q += dot(q, q.yzx + 33.33);
    return frac((q.x + q.y) * q.z);
}

float4 main(float2 uv : TEXCOORD) : COLOR
{
    float2 px = float2(uv.x * size.x, rise(uv) * size.y);
    float H = size.y;
    float head = progress * size.x;

    // The slab: low along the screen edge, so the lyrics keep the dark above it.
    float top = H * (0.4 + 0.05 * level);
    float soft = 2.5 + 2.5 * beat;
    float body = smoothstep(top + soft, top - soft, px.y);

    // The playhead is out of focus, and blurs a little more on every beat.
    float blur = 18.0 + 26.0 * beat + 10.0 * level;
    float played = smoothstep(head + blur, head - blur * 0.6, px.x);

    // A haze leaks above the slab, as if the picture were slightly overexposed.
    float haze = exp(-max(px.y - top, 0.0) / 5.0) * step(top, px.y) * played * 0.22;

    // Grain, fixed in place, like a cheap print.
    float grain = 0.97 + 0.06 * hash2(floor(px / 2.0));
    float3 lime = colorA.rgb * grain * (1.0 + 0.08 * beat);

    // The rest of the song: the same slab, barely there.
    float rest = body * (1.0 - played) * 0.08;
    float alpha = max(body * played * 0.93, rest) + haze;
    return paint(lime, alpha);
}

Thanh tiến trình

Xem cả kho

Golden Hour Silk

Thanh tiến trình Preset của MusicBar

Cinema Crimson

Thanh tiến trình Preset của MusicBar

Heartbeat

Thanh tiến trình Skin của MusicBar

Pixel Rainbow Run

Thanh tiến trình Skin của MusicBar