Unity Eğitim
Dersler
Forum Sınav Merkezi Premium 💎
C# Dersleri

Unity'de Selection.objects ile Çoklu Nesne Seçimi: Kolay ve Etkili Bir Yöntem

Paylaşan: Unity Eğitim 06 September 2025 3 dakika okuma 138 görüntülenme

Merhaba Unity geliştiricileri! Bu yazıda, Unity oyun motorunda birden fazla oyun nesnesini aynı anda seçmenizi sağlayan güçlü bir araç olan Selection.objects özelliğini inceleyeceğiz. Bu özellik, özellikle sahnenizde çok sayıda nesneyle çalışırken zaman kazandıran ve iş akışınızı kolaylaştıran önemli bir işlevselliğe sahiptir.

Selection.objects Nedir?


Selection.objects, Unity'nin yerleşik bir özelliğidir ve aktif olarak seçili tüm oyun nesnelerinin bir dizisini (array) tutar. Bu dizi, GameObject[] tipindedir ve her bir elemanı sahnede seçili bir oyun nesnesini temsil eder. Bu diziyi kullanarak seçili nesneleri tek tek veya toplu halde manipüle edebilirsiniz.

Selection.objects'in Kullanım Alanları


Selection.objects'in kullanımı oldukça geniştir. İşte bazı örnek kullanım alanları:

  • Çoklu Nesne Hareketi: Seçili tüm nesneleri aynı anda taşıma, döndürme veya ölçeklendirme.

  • Toplu Değişiklikler: Seçili nesnelere aynı anda malzeme, komponent veya script ekleme veya kaldırma.

  • Gruplama ve İşlem: Seçili nesneleri bir grup olarak yönetme, örneğin aynı anda aktifleştirme veya devre dışı bırakma.

  • Özel Editör Araçları: Kendi özel Unity editör araçlarınızı oluştururken seçili nesneleri işlemek için kullanabilirsiniz.


Selection.objects Kullanımı: Pratik Örnekler


Örnek 1: Seçili Nesnelerin Konumlarını Yazdırma


Bu örnekte, seçili tüm nesnelerin konum bilgilerini konsola yazdıracağız:
using UnityEngine;

public class PrintSelectedObjectPositions : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
foreach (GameObject obj in Selection.objects)
{
Debug.Log(obj.name + ": " + obj.transform.position);
}
}
}
}


Bu script, boşluk tuşuna basıldığında seçili tüm nesnelerin adlarını ve konumlarını konsola yazdırır. Selection.objects dizisini döngü ile gezer ve her bir nesnenin transform.position özelliğini kullanarak konum bilgisine ulaşır.

Örnek 2: Seçili Nesnelere Komponent Ekleme


Bu örnekte, seçili tüm nesnelere bir Rigidbody komponent ekleyeceğiz:
using UnityEngine;

public class AddRigidbodyToSelectedObjects : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.R))
{
foreach (GameObject obj in Selection.objects)
{
obj.AddComponent<Rigidbody>();
}
}
}
}


Bu script, 'R' tuşuna basıldığında seçili tüm nesnelere bir Rigidbody ekler. AddComponent<Rigidbody>() fonksiyonu, seçilen her bir nesneye yeni bir Rigidbody komponent ekler.

İpuçları ve Dikkat Edilmesi Gerekenler



  • Boş Seçim Kontrolü: Selection.objects dizisi boş olabilir. Dizinin boş olup olmadığını kontrol etmek için Selection.objects.Length == 0 kontrolünü kullanın. Boş bir dizi üzerinde işlem yapmaya çalışmak hata verebilir.

  • Performans: Çok büyük sayıda nesneyle çalışırken, Selection.objects dizisini işlemek performans sorunlarına yol açabilir. Büyük sahnelerde performansı optimize etmek için gerekli önlemleri alın.

  • Hata Ayıklama: Kodunuzu test ederken ve hata ayıklama yaparken Debug.Log fonksiyonunu kullanarak Selection.objects dizisinin içeriğini kontrol edebilirsiniz.


Bu rehberde, Unity'de Selection.objects özelliğini kullanarak çoklu nesne seçimini nasıl kolayca yönetebileceğinizi öğrendiniz. Bu güçlü aracı kullanarak oyun geliştirme sürecinizi hızlandırabilir ve daha verimli çalışabilirsiniz.

🧠 Ders Sonu Değerlendirme Testi

Dersi tamamladıktan sonra bilgilerinizi test edin ve ekstra puanlar kazanın.

🔥 +50 XP Ödül
🔒

Sınava Katılmak İçin Giriş Yapın

Bu ders sonu testini çözebilmek, bilginizi test edip **+50 XP** kazanmak ve **Sınav Şampiyonu** rozetinin kilidini açmak için üye girişi yapmalısınız.

Yorumlar (0)

Yorum yazabilmek ve derslere katkıda bulunabilmek için giriş yapmalısınız.

İlk yorumu siz yapın!