Merhabalar,
Bazen Unity‘nin UI sisteminde, her çözünürlükte keskin kenarlara sahip daireler göstermek isteyebilirsiniz. Bunun için çok yüksek çözünürlüklü bir daire sprite’ı veya özel shader’lar kullanabilirsiniz. Alternatif olarak, şimdi paylaşacağım script’i kullanabilirsiniz:

Yapmanız gereken, projenizde CircleGraphic adında yeni bir C# script oluşturmak ve script’in içeriğini şuradaki kodla değiştirmek: https://gist.github.com/yasirkula/d09bbc1e16dc96354b2e7162b351f964
Ardından Canvas‘ınızdaki içi boş bir GameObject’e Circle Graphic component’ini eklemeniz yeterli.
Sonraki derste görüşmek üzere!
Hocam o hatayı çözdüm de aynı koddan birkaç farklı scripte ekleyince hataları vermeye başladğını anladım fazlasını sildim. benim amacım dairesel bir şekilde labirent oluşturmaktı ama dairesel bir obje bulamadım. Sizce nasıl bir şey yapabilirim?
Şu tarz bir labirentten mi bahsediyorsunuz? Eğer öyleyse, maalesef benim kodum işinize yaramaz çünkü 1) dairede kesikler oluşturmak kodu düzenlemeden (veya Mask kullanmadan) mümkün olmaz ve 2) bu kod UI sistemi ile çalıştığı için, fizik motoruyla etkileşime giremez (eğer fizik kullanacaksanız). Siz bu labirenti prosedürel oluşturmak istiyorsanız o zaman nasıl yapabilirsiniz şu an hiç cevap veremiyorum, üzerine çok düşünmem gereken bir konu bu ve maalesef buna şu anda vakit ayıramayacağım.
hımm anladım hocam yine de çok sağolun. Peki küpü eğmek gibi bir durum söz konusu değil değil mi Unity ‘de?
– Küpü değil de daha çok poligonlu objeleri eğmeye yarayan bir shader var: https://assetstore.unity.com/packages/vfx/shaders/curved-world-2020-173251. İşinize bence yaramaz çünkü bu eğme işlemi collider’ları kapsamıyor, yani fizik motoru ile beraber istediğiniz gibi çalışmaz
– Bir eğri üzerinde mesh oluşturmaya yarayan bir eklenti var: https://assetstore.unity.com/packages/tools/modeling/splinemesh-104989
– Veya Unity’de procedural mesh oluşturmakla ilgili yabancı kaynakları takip ederek, kendi mesh’inizi kodla kendiniz oluşturabilirsiniz
tamamdır hocam zaman ayırdığınız için çok teşekkür ederim. 🙂
İnceleyeceğim inşallah
[CanEditMultipleObjects]
9. satırda bu hata veriyor hocam.
Aa evet doğru. O satırı silebilirsiniz. Ben de kodu düzelttim.
hocam peki 2 sınıf var sınıf ismi ile script ismi aynı değil hatası veriyor. ne yapacağım
Tam hata mesajını görebilir miyim?