Unity'de koordinata göre obje tespit etme

Katılım
5 Mart 2014
Mesajlar
5.701
Makaleler
12
Çözümler
44
Örneğin X, Y ve Z değeri belirli olan değişenler olsun. Bu koordinatta olan nesneyi tespit etmek istiyorum. Find yani arama özelliği üzerinden böyle bir fonksiyon bulamadım. Etiket sistemi ile dizi oluşturarak yapabildim fakat büyük bir oyun olduğunda performansı etkileyebilir. Nasıl koordinat ile nesne bulabilirim? Yani o koordinat üzerinde bulunan nesneyi bana döndürecek.
 
Eğer sahnede hep var olacak objeleri tutmak istiyorsanız basit bir listte atama yapıp, foreach döngüsü ile kontrol yapabilirsiniz. Objeleri inspectorden tanımlamayı unutmayın.
C#:
[SerializeField]
private List<GameObject> objects;
[SeralizeField]
private Transform find_transform;

class New : MonoBehaviour
{
    void Start()
    {
        foreach (var obj in objects)
             if(obj.transform = find_transform)
                Debug.Log(obj.name)
    }
}
 
Minecraft gibi bir oyun olacak. Buna benzer bir yöntemi denedim fakat eğer harita çok geniş olursa bu durum gecikmeye neden olmaz mı?
 
Minecraft gibi bir oyun olacak. Buna benzer bir yöntemi denedim fakat eğer harita çok geniş olursa bu durum gecikmeye neden olmaz mı?
Minecraft gibi bir oyunu neden transform gibi ölçeklendirmeye uygun olmayan bir yöntem ile yapıyorsunuz ki?

Minecraft tarzında bir oyun için multidimensional arraylari birleştirmek daha uygun olabilir.
Daha sonra bu listeyi her framede ekrana işletebilirsiniz.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…