Şimdi Ara

Unity Top Sınırdan Çıkma Sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
11
Cevap
0
Favori
641
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Unity Top Sınırdan Çıkma Sorunu

    Arkadaşlar duvarda box collider var. Topta capsule collider ve rigidbody var. Oyunu başlattığımda top sola kayıp duvarın colliderinden çıkıp aşağı düşüyor. Neden böyle yapıyor olabilir ? Çok saçma bir sorun değil mi ? Daha tek satır kod yazmadım



    _____________________________
    Intel Core i5-8250U/Kingston 16GB 1600MHZ DDR3/NVIDIA GeForce MX150 2GB/Corsair Force LE 240GB SATA 3.0 SSD/





  • Collider ayarlarını atar mısın resimli. Bi de oyunun sahnesinin

    Colliderları Trigger işaretleme.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-E94B9CA23 -- 7 Mart 2019; 0:14:3 >
    _____________________________
  • Unity Top Sınırdan Çıkma SorunuUnity Top Sınırdan Çıkma Sorunu

    ilk resim duvar
    ikinci resim top
    _____________________________
    Intel Core i5-8250U/Kingston 16GB 1600MHZ DDR3/NVIDIA GeForce MX150 2GB/Corsair Force LE 240GB SATA 3.0 SSD/





  • quote:

    Orijinalden alıntı: axlrose.



    ilk resim duvar
    ikinci resim top
    Scene tıklayıp duvarın colliderları doğru yerde mi kontrol edin. Duvarda offset girmişsiniz.

    2D hiç bulaşmadım Unity'de.

    Collision Detection Discrete yerine diğer ayarlara alıp deneyebilirsin ayrıca.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-E94B9CA23 -- 7 Mart 2019; 1:12:58 >
    _____________________________




  • Kod yoksa topu nasıl hareket ettiriyorsunuz sanırım mouse ile tutup hareket ettiriyorsunuz.Herneyse farketmez bir javascript oluşturup aşağıdaki kodları yapıştırıp bu scripti kontrol ettiğiniz topa eklerseniz benim yazdığım sınırın dışına çıkartamazsınız.Siz ihtiyacınıza göre limiti değiştirin.

    #pragma strict

    function Start () {

    }

    function Update () {
    transform.position.x=Mathf.Clamp(transform.position.x,-2,2);
    transform.position.y=Mathf.Clamp(transform.position.y,-2,2);

    }
    _____________________________
  • quote:

    Orijinalden alıntı: Bir internet kullanıcısı

    Kod yoksa topu nasıl hareket ettiriyorsunuz sanırım mouse ile tutup hareket ettiriyorsunuz.Herneyse farketmez bir javascript oluşturup aşağıdaki kodları yapıştırıp bu scripti kontrol ettiğiniz topa eklerseniz benim yazdığım sınırın dışına çıkartamazsınız.Siz ihtiyacınıza göre limiti değiştirin.

    #pragma strict

    function Start () {

    }

    function Update () {
    transform.position.x=Mathf.Clamp(transform.position.x,-2,2);
    transform.position.y=Mathf.Clamp(transform.position.y,-2,2);

    }
    Yanlış kişiyi alıntıladınız ve bu kod ile colliderların içinden geçer çünkü transform.position fizik kullanmaz.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-E94B9CA23 -- 7 Mart 2019; 20:26:24 >
    _____________________________




  • Evet yanlış alıntı kusura bakmayın.Bu kod zaten duvar coliderlere ulaşmasın çarpmasın diye, istediği bir sınır verebilsin diye.Tam colidere yakın bir limit verilirse duvar engellemiş gibi görünür.
    _____________________________
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: Bir internet kullanıcısı

    Evet yanlış alıntı kusura bakmayın.Bu kod zaten duvar coliderlere ulaşmasın çarpmasın diye, istediği bir sınır verebilsin diye.Tam colidere yakın bir limit verilirse duvar engellemiş gibi görünür.
    Sorunla alakasız ama. Colliderların mantığını anlatıyorum :D

    Top duvara çarpıp geri sekicek belki oyununda.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-E94B9CA23 -- 7 Mart 2019; 21:7:37 >
    _____________________________
  • Edit'e tıklayıp oradan da Project Settings tıklayın. Physics 2D tıklayınca en altta layer collision matrix çıkacak. Kapsül ile duvarın layerları farklıysa ikisinin çakıştığı kutucuk işaretli olmalı. Belki de bu yüzden duvarın içinden geçiyordur.
    _____________________________
  • quote:

    Orijinalden alıntı: Bir internet kullanıcısı

    Kod yoksa topu nasıl hareket ettiriyorsunuz sanırım mouse ile tutup hareket ettiriyorsunuz.Herneyse farketmez bir javascript oluşturup aşağıdaki kodları yapıştırıp bu scripti kontrol ettiğiniz topa eklerseniz benim yazdığım sınırın dışına çıkartamazsınız.Siz ihtiyacınıza göre limiti değiştirin.

    #pragma strict

    function Start () {

    }

    function Update () {
    transform.position.x=Mathf.Clamp(transform.position.x,-2,2);
    transform.position.y=Mathf.Clamp(transform.position.y,-2,2);

    }
    Hocam sayende yeni bir kod öğrendim. Aradığım bir şeydi bu, bir cismin transform position derğerlerini tek tek değiştirmeyi istiyordum. Sayende öğrenmiş oldum.
    _____________________________
    Laptop: DELL 7566 - B6300W81C: i5 6300 HQ // GTX960M (4GB) // 8 GB DDR4 2133 mhz // 1 TB 5400 rpm

    Desktop: MSI Z97S SLI PLUS // i5 4690k (Turbo Boost 3.9 GHz.) // Hyper 212 Evo CPU Soğutucusu (160 mm) // Gigabyte G1 GTX 970 ; stok hız 1380-7010 mhz // Corsair Vengeance PRO 2x4 DDR3, 1600 mhz // CORSAIR SPEC-02 MidT // Corsair VS 650 PSU (12v = 50A) // Samsung 850 Evo 120 GB // Seagate Barracuda 1 TB 64 mb 7200rpm (ST10000DM003-1CH162)




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.