1- objeye rigidbody ekli mi kontrol et.
2- speedamount'u 100 falan yap test için.
Evet rigidbody2D ekli.
Speed amount u 100 yaptım bir şey değişmedi.
Eğer kod da bir sıkıntı olabilir mi ya da Visual Studio da net Core 3.1 falan indirin diyorlar.
Eki Görüntüle 1596678
Eki Görüntüle 1596836
Bence bu tarz hareket kodu yazmak daha hayırlı.
Kod kötü ama hatalı değil çalışması lazım.
Circle collideri objeden kaldırıp dener misin?
Direkt olarak kodu atar mısın
Evet circle collideri kaldırınca kod çalıştı fakat objelerinden içinden geçiyor haliyle.
Capsule collider ekledim ve sorunu çözdüm hem objlelerin üstünde duruyor hem de kod çalıştı teşekkürler.
Bir tane daha sorum var Visual Studio mu yoksa Visual Studio Code mi hangisi yararlı olur benim için daha yeni başlamış birisi olarak.
public float hiz; // eşitleyip değer verebilirsin veya unity ekranından düzenleyebilirsin
public string axes = "Vertical";
//vertical inputunu axes diye atamamızın sebebi ise input manager ayarlarını rahatça yapabilmek
Void FixedUpdate()
{
float V = Input.GetAxis(axes); //isteğe bağlı tekrardan speedle çarpabilirsin
GetComponent<Rigidbody2D>().velocity = new Vector2(0,V*speed);
// Bu kod şuan dikey harekete özgü. Sen istersen bir tane de horizontal değişkeni açıp xy ekseninde istediğin gibi hareket edebilirsin.
}
Bunun sebebi colliderin yerinkiyle iç içe girmiş o yüzden hareket etmesini engelliyor. Circle kullanıp karakteri colliderler çakışmasın diye yukarıdan başlatırsan sorun çözülür.Direkt olarak kodu atar mısın
Evet circle collideri kaldırınca kod çalıştı fakat objelerinden içinden geçiyor haliyle.
Capsule collider ekledim ve sorunu çözdüm hem objlelerin üstünde duruyor hem de kod çalıştı teşekkürler.
Bir tane daha sorum var Visual Studio mu yoksa Visual Studio Code mi hangisi yararlı olur benim için daha yeni başlamış birisi olarak.
Arkadaşın yazdığı kod da problemli çünkü Start yerine FixedUpdate de component alıyor ki bu gereksiz ve performans sorunları yaşatır.Kod:public float hiz; // eşitleyip değer verebilirsin veya unity ekranından düzenleyebilirsin public string axes = "Vertical"; //vertical inputunu axes diye atamamızın sebebi ise input manager ayarlarını rahatça yapabilmek Void FixedUpdate() { float V = Input.GetAxis(axes); //isteğe bağlı tekrardan speedle çarpabilirsin GetComponent<Rigidbody2D>().velocity = new Vector2(0,V*speed); // Bu kod şuan dikey harekete özgü. Sen istersen bir tane de horizontal değişkeni açıp xy ekseninde istediğin gibi hareket edebilirsin. }
Kod:public float hiz; // eşitleyip değer verebilirsin veya unity ekranından düzenleyebilirsin. public string axes = "Vertical"; //vertical inputunu axes diye atamamızın sebebi ise input manager ayarlarını rahatça yapabilmek. Void FixedUpdate() { float V = Input.GetAxis(axes); //isteğe bağlı tekrardan speedle çarpabilirsin. GetComponent<Rigidbody2D>().velocity = new Vector2(0,V*speed); // Bu kod şuan dikey harekete özgü. Sen istersen bir tane de horizontal değişkeni açıp xy ekseninde istediğin gibi hareket edebilirsin. }
Bunun sebebi colliderin yerinkiyle iç içe girmiş o yüzden hareket etmesini engelliyor. Circle kullanıp karakteri colliderler çakışmasın diye yukarıdan başlatırsan sorun çözülür.
Ayrıca colliderlerle uğraşırken rigidbody ile hareket ettir her zaman yoksa problem yaşarsın.
Arkadaşın yazdığı kod da problemli çünkü start yerine fixedupdate de component alıyor ki bu gereksiz ve performans sorunları yaşatır.
FixedUpdate i bir şey test etmek için kullanmıştım. Zaten dediğiniz doğru.Bunun sebebi colliderin yerinkiyle iç içe girmiş o yüzden hareket etmesini engelliyor. Circle kullanıp karakteri colliderler çakışmasın diye yukarıdan başlatırsan sorun çözülür.
Ayrıca colliderlerle uğraşırken rigidbody ile hareket ettir her zaman yoksa problem yaşarsın.
Arkadaşın yazdığı kod da problemli çünkü Start yerine FixedUpdate de component alıyor ki bu gereksiz ve performans sorunları yaşatır.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.