• 10-06-2020, 15:03:46
    #1
    Selamun aleyküm,
    Kafayı yemek üzereyim 3 gündür internetteki bütün kaynakları denedim. Hep bir yerden problem çıkıyor. Lütfen yardımcı olun.

    Kısaca yapmaya çalıştığım şu,
    (A dan B ye X sürede sıralı şekilde (yumuşakça) sayıyı artır. Sona doğru hafifçe yavaşla) bunu en stabil şekilde nasıl yapabilirim?

    Lerp le deniyorum sonlara doğru öyle yavaşlıyor ki takılıp kalıyor resmen. Hiç bir zaman Max değere erisemiyor
  • 10-06-2020, 15:05:22
    #2
    Unity bilmiyorum ama ivmede hata var demek, ivme o kadar yüksek olmamalı ki hız o kadar düşmesin yani daha yumuşak geçişler yap
  • 10-06-2020, 15:09:40
    #3
    Tam anlamadım ama Dotween işine yarayabilir.
  • 10-06-2020, 15:10:09
    #4
    lordyazilim adlı üyeden alıntı: mesajı görüntüle
    Unity bilmiyorum ama ivmede hata var demek, ivme o kadar yüksek olmamalı ki hız o kadar düşmesin yani daha yumuşak geçişler yap
    C# kodu aynı olabilir hocam. 0'a en yakın ve en uzak değerleri denedim bir türlü oturmuyor.

    Unitye özel olarak zamanı bir şeylerle çarpıp bölmek gerekiyor galiba ama çözemedim. İnşallah yardımcı olan biri çıkar artık bunaldım
  • 10-06-2020, 15:11:01
    #5
    İlgili kodları görebilir miyiz? Ben matematikçiyim anlarım belki.
  • 10-06-2020, 15:12:28
    #6
    epicsosyal adlı üyeden alıntı: mesajı görüntüle
    Tam anlamadım ama Dotween işine yarayabilir.
    3-5 satır kod için büyük bir paket kullanmayı pek düşünmüyorum hocam. Şu sorunu çözsem yeter.

    Level barı olarak düşünün. Mesela 0 dan 75 e 1 saniyede artsın. Değer büyüse bile 1 saniye sabit kalsın. Mesela 0 dan 700 e de 1 saniyede çıksın.
    Tabi bar dolmaya yakın hafif yavaşlasa daha iyi olur tak diye durması pek hos olmaz
  • 10-06-2020, 15:15:32
    #7
    mfa95 adlı üyeden alıntı: mesajı görüntüle
    3-5 satır kod için büyük bir paket kullanmayı pek düşünmüyorum hocam. Şu sorunu çözsem yeter.

    Level barı olarak düşünün. Mesela 0 dan 75 e 1 saniyede artsın. Değer büyüse bile 1 saniye sabit kalsın. Mesela 0 dan 700 e de 1 saniyede çıksın.
    Tabi bar dolmaya yakın hafif yavaşlasa daha iyi olur tak diye durması pek hos olmaz

    Hocam load level bar yapmaya çalışıyorsan youtube'da var, async ile yapıyorlar.
    Bir şeylerle çarpmaktan kastın time.Deltatime mı?
  • 10-06-2020, 15:18:33
    #8
    lordyazilim adlı üyeden alıntı: mesajı görüntüle
    İlgili kodları görebilir miyiz? Ben matematikçiyim anlarım belki.
    Slider slider=0;
    void Update(){
    sure += Time.deltaTime;
    slider.value = (slider.value, slider.maxValue, sure);
    }


    Valla en son denediğim kod bu hocam. Tutoriallerde buna benzer şeyler vardı ama süreyi tam belirlemiyor. Ve zamanı sifirlamadigim için bir süre sonra yeni değerler pat diye geçiyor



    Softwareus adlı üyeden alıntı: mesajı görüntüle
    Hocam load level bar yapmaya çalışıyorsan youtube'da var, async ile yapıyorlar.
    Bir şeylerle çarpmaktan kastın time.Deltatime mı?
    Hepsini izledim hatta tek tek denedim hcoam istediğim sonucu alamıyorum. Projeye adapte edemedim.

    Aradığım şey çok basit ama bulamıyorum.

    0 sayısından 100 sayısına 1 saniye içinde art. Sona doğru da sayı aletimi Yavaşlasin. Yani baştan hızlı sona doğru yavaş. Lerp kullanıyorum o yüzden ama artistaki süre sıkıntılı
  • 10-06-2020, 15:39:29
    #9
    mfa95 adlı üyeden alıntı: mesajı görüntüle
    Slider slider=0;
    void Update(){
    sure += Time.deltaTime;
    slider.value = (slider.value, slider.maxValue, sure);
    }


    Valla en son denediğim kod bu hocam. Tutoriallerde buna benzer şeyler vardı ama süreyi tam belirlemiyor. Ve zamanı sifirlamadigim için bir süre sonra yeni değerler pat diye geçiyor





    Hepsini izledim hatta tek tek denedim hcoam istediğim sonucu alamıyorum. Projeye adapte edemedim.

    Aradığım şey çok basit ama bulamıyorum.

    0 sayısından 100 sayısına 1 saniye içinde art. Sona doğru da sayı aletimi Yavaşlasin. Yani baştan hızlı sona doğru yavaş. Lerp kullanıyorum o yüzden ama artistaki süre sıkıntılı

    Dostum bunu void update kısmında yapmayacaksın IENumerator oluşturacaksın Update kısmında olmaz. Ben sana direkt projemden o kısmı atayım bak aşağıdaki gibi.

    IEnumerator goToMenu() //goToMenu load screen
    {
    sliderContent.SetActive(true); //sliderBar visible=true
    progressBar.enabled = true; //progressBar enabled
    AsyncOperation async = SceneManager.LoadSceneAsync("menu");

    while (!async.isDone)
    {
    progressBar.value = async.progress;
    yield return null;
    }

    }