• 25-02-2021, 15:37:24
    #1
    [COLOR=var(--primary-text)]Merhaba zıplama butonu yaptım 1 kere zıplamasını istiyorum zemine deydikten sonra böyle bir kod var oyuncuya ekledim

    unity marketten first person aıo dosyasını indirdim onunla çakışıyor sanırım onu deactive edince top istediğim gibi zıplıyor ama o kodu active edince hiç zıplamıyor ne yaparsam zıplıyabilir first person aıoyu çıkartmamam lazım





  • 27-02-2021, 11:57:58
    #2
    Onu aktif ettiğinde öncelikle zıplama butonun çalışıyor mu onu kontrol et Debug.Log("kontrol"); satırı ekle eğer çalışıyorsa eklediğin rigidbody de constraintler olabilir y ekseninde zıplamayı bu engelliyorsa onları kaldırman gerekicektir.
  • 27-02-2021, 12:18:01
    #3
    Millikan adlı üyeden alıntı: mesajı görüntüle
    Onu aktif ettiğinde öncelikle zıplama butonun çalışıyor mu onu kontrol et Debug.Log("kontrol"); satırı ekle eğer çalışıyorsa eklediğin rigidbody de constraintler olabilir y ekseninde zıplamayı bu engelliyorsa onları kaldırman gerekicektir.
    şöyle oluyor aslında top en başta hiç haraket etmiyince o zaman zıplıyor ama joistick ile haraket ettirince o zaman zıplamıyor
  • 27-02-2021, 12:19:15
    #4
    mitches adlı üyeden alıntı: mesajı görüntüle
    şöyle oluyor aslında top en başta hiç haraket etmiyince o zaman zıplıyor ama joistick ile haraket ettirince o zaman zıplamıyor
    fotoğrafı açamıyorum ama joystick ile hareket ettirince büyük ihtimal y ekseninde hareketi sabitliyor o yüzden zıplayamıyorsun onu ayarlaman gerekecek.
  • 27-02-2021, 12:28:36
    #5
    Millikan adlı üyeden alıntı: mesajı görüntüle
    fotoğrafı açamıyorum ama joystick ile hareket ettirince büyük ihtimal y ekseninde hareketi sabitliyor o yüzden zıplayamıyorsun onu ayarlaman gerekecek.
    kodlar şu şekilde yanlış yer neresi if (rb.velocity.y == 0) bu kodmu hatalı
    rrrr


  • 27-02-2021, 12:51:16
    #6
    mitches adlı üyeden alıntı: mesajı görüntüle
    kodlar şu şekilde yanlış yer neresi if (rb.velocity.y == 0) bu kodmu hatalı
    rrrr


    ha oraya debug.log ekle eğer console da bildiirm geliyorsa muhtemelen rb.velocity.y değeerin tam 0 değildir bunu anlamak için y eksenine göre konum değilde topla yer temas ediyorsa zıplama yapmak daha mantıklı olabilir bu şekilde yolu y ekseninde de değiştirebilirsin.
  • 27-02-2021, 12:57:57
    #7
    Millikan adlı üyeden alıntı: mesajı görüntüle
    ha oraya debug.log ekle eğer console da bildiirm geliyorsa muhtemelen rb.velocity.y değeerin tam 0 değildir bunu anlamak için y eksenine göre konum değilde topla yer temas ediyorsa zıplama yapmak daha mantıklı olabilir bu şekilde yolu y ekseninde de değiştirebilirsin.
    aynen sorun o yerdeymiş en başta topu haraket ettirmeden önce zıplıyor console yansıyor ama topu joistick ile haraket ettirince komut gelmiyor ancak
    if (CrossPlatformInputManager.GetButtonDown("jump"))
    {

    rb.velocity = Vector3.up * zipguc;


    sadece şu şekil yazarsam topu haraket bile ettirince zıplıyor ama 1 kere değil art arda zıplıyor 1 den fazla zıplıyor benim amacım top zemine deydikten sonra 1 kere zıplıyacak her zaman bunu nasıl sağlarım
  • 27-02-2021, 13:02:34
    #8
    mitches adlı üyeden alıntı: mesajı görüntüle
    aynen sorun o yerdeymiş en başta topu haraket ettirmeden önce zıplıyor console yansıyor ama topu joistick ile haraket ettirince komut gelmiyor ancak
    if (CrossPlatformInputManager.GetButtonDown("jump"))
    {

    rb.velocity = Vector3.up * zipguc;


    sadece şu şekil yazarsam topu haraket bile ettirince zıplıyor ama 1 kere değil art arda zıplıyor 1 den fazla zıplıyor benim amacım top zemine deydikten sonra 1 kere zıplıyacak her zaman bunu nasıl sağlarım
    zemine box collider ekle , topa da sphere collider ekle sonrasında ikisine de tag ver top için player zemin için ground olabilir.
    sonrasında top update fonksiyonunda
    void OnCollisionStay(Collision collision) {
    if(collision.gameObject.tag == ground)
    {
    ZIPLAMA FONKSİYONUN BURADA
    }
    }

    bu script işini görür bunu topa ekle
  • 27-02-2021, 14:17:49
    #9
    Millikan adlı üyeden alıntı: mesajı görüntüle
    zemine box collider ekle , topa da sphere collider ekle sonrasında ikisine de tag ver top için player zemin için ground olabilir.
    sonrasında top update fonksiyonunda
    void OnCollisionStay(Collision collision) {
    if(collision.gameObject.tag == ground)
    {
    ZIPLAMA FONKSİYONUN BURADA
    }
    }

    bu script işini görür bunu topa ekle
    hiç durmadan zıplıyor şimdi zeminin üstünde o tagda olan zemininde