Oyun Kütüphanesi

Lerp ile Smooth UI Panel Geçişi

Kamera Kontrolleri Unity C# 2
LerpileSmoothUIPanelGeçişi .cs
C#
using UnityEngine;
using System.Collections;

public class UIPanelFade : MonoBehaviour
{
    public CanvasGroup panel;
    public float fadeDuration = 0.4f;

    public void Show() => StartCoroutine(Fade(0f, 1f, true));
    public void Hide() => StartCoroutine(Fade(1f, 0f, false));

    IEnumerator Fade(float from, float to, bool interactable)
    {
        float t = 0f;
        panel.alpha = from;
        while (t < 1f)
        {
            t += Time.deltaTime / fadeDuration;
            // Sinüzal ease: düz Lerp yerine daha estetik
            panel.alpha = Mathf.Lerp(from, to, Mathf.SmoothStep(0, 1, t));
            yield return null;
        }
        panel.alpha = to;
        panel.interactable = interactable;
        panel.blocksRaycasts = interactable;
    }
}

Açıklama

CanvasGroup.alpha değerini Lerp ile değiştirerek UI panellerini sinüzal geçiş ile açıp kapatan sistem.

Etiketler

UI Lerp Panel CanvasGroup Fade

Nasıl Kullanılır?

1. Hedefe CanvasGroup componenti ekle.

2. Bu scripti aynı veya başka bir objeye ekle, panel'i ata.

3. Show() ile görünür, Hide() ile gizle.

4. SmoothStep sayesinde başlangıç ve bitiş yavaşlar — daha estetik.

5. interactable = false yapınca fade sırasında tıklanamaz hale gelir.

Unity 2022+ ve Unity 6 ile uyumludur.

MonoBehaviour tabanlı scriptleri Assets klasörüne .cs olarak kaydedin.