DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
9
Cevap
641
Tıklama
0
Öne Çıkarma
Unity Top Sınırdan Çıkma Sorunu
A
7 yıl (2769 mesaj)
Binbaşı
Konu Sahibi

< Resime gitmek için tıklayın >

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



G
7 yıl (6314 mesaj)
Yarbay

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 >
Bu mesaja 2 cevap geldi.
A
7 yıl (2769 mesaj)
Binbaşı
Konu Sahibi

G
7 yıl (6314 mesaj)
Yarbay

quote:

Orijinalden alıntı: axlrose.

< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >

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 >

B
7 yıl (2404 mesaj)
Binbaşı

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);

}


Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @Zafer Korkmaz
G
7 yıl (6314 mesaj)
Yarbay

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.
https://unity3d.com/learn/tutorials/s/roll-ball-tutorial





< Bu mesaj bu kişi tarafından değiştirildi Guest-E94B9CA23 -- 7 Mart 2019; 20:26:24 >
Bu mesaja 1 cevap geldi.
B
7 yıl (2404 mesaj)
Binbaşı

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.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Zafer Korkmaz
G
7 yıl (6314 mesaj)
Yarbay

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 >

H
7 yıl (104 mesaj)
Teğmen

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.



F
7 yıl (8638 mesaj)
Yarbay

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.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.