Arkadaşlar merhaba. Balık vurma oyunu yapıyorum da. Bir sürü balık olacak ve ekrana salınacak hep. Balıkları gerek object pool'da çekiyor, gerekse oluşturma ve yoketme metotlarıyla sahnede yönetiyoruz.
Öncelikle elimizde bir nesne var. Nesnenin Move scripti var. Move scripti içinde nesnenin varacağı konum vardır. Bu vuracağı konu rastgele oluşur.
Nesne, varacağı konuma varırsa tekrardan rastgele vuracağı bir konum oluşuyor.
1000 tane böyle nesne var. Gerek sırayla oluşup ekrana belli aralıkla salınıyorlar, gerekse object pool'dan belli arayla salınıyorlar. Ekranda rastgele varacağı konuma, nesneleri üzerine tıkladığımız zaman performansı etkilemeden rastgele oluşmasını sağlamak isterim.
Aklıma üç yol geldi;
1. Nesne üzerinde Update fonksiyonu içinde RayCast ile erişip yaparım ama performans sorunu olur mu?
2. Bir Input Manager eklemek. Input Manager sahnede olacak ve RayCast ile erişilen nesnelerin Move scriptine erişilip, vuracağı konum tekrar hesap edilecek. Bunda da performans sorunu olur mu? Çünkü dakikada 40 kere tıklanacak bu nesnelere ve 40 kere GetComponent yapısı ile bileşenlere erişilecek.
3. OnMouseDown metodu var birde. Bu metot ile nesneye tıkladığımız zaman sıfırlarım. Aklıma en çok yatan bu. Move scriptine ekler, tıklanma olayında tetiklenir.
Başka yol gelmedi. Çok yol, yöntem bilmem çünkü.
Tamamen performans sorununu önlemek için yöntem lazımdır. Önerilerinize açığım.
Arkadaşlar birde bu nesnelerin sahnede oluşma zamanı vardır, performansa etkisi vardır. Bu kısmı dikkate almayın. Odağım nesneler ile etkileşim süreci yani.
@count, @TheAny, @900, @bitwise, @RaSGooL
Öncelikle elimizde bir nesne var. Nesnenin Move scripti var. Move scripti içinde nesnenin varacağı konum vardır. Bu vuracağı konu rastgele oluşur.
Nesne, varacağı konuma varırsa tekrardan rastgele vuracağı bir konum oluşuyor.
1000 tane böyle nesne var. Gerek sırayla oluşup ekrana belli aralıkla salınıyorlar, gerekse object pool'dan belli arayla salınıyorlar. Ekranda rastgele varacağı konuma, nesneleri üzerine tıkladığımız zaman performansı etkilemeden rastgele oluşmasını sağlamak isterim.
Aklıma üç yol geldi;
1. Nesne üzerinde Update fonksiyonu içinde RayCast ile erişip yaparım ama performans sorunu olur mu?
2. Bir Input Manager eklemek. Input Manager sahnede olacak ve RayCast ile erişilen nesnelerin Move scriptine erişilip, vuracağı konum tekrar hesap edilecek. Bunda da performans sorunu olur mu? Çünkü dakikada 40 kere tıklanacak bu nesnelere ve 40 kere GetComponent yapısı ile bileşenlere erişilecek.
3. OnMouseDown metodu var birde. Bu metot ile nesneye tıkladığımız zaman sıfırlarım. Aklıma en çok yatan bu. Move scriptine ekler, tıklanma olayında tetiklenir.
Başka yol gelmedi. Çok yol, yöntem bilmem çünkü.
Tamamen performans sorununu önlemek için yöntem lazımdır. Önerilerinize açığım.
Arkadaşlar birde bu nesnelerin sahnede oluşma zamanı vardır, performansa etkisi vardır. Bu kısmı dikkate almayın. Odağım nesneler ile etkileşim süreci yani.
@count, @TheAny, @900, @bitwise, @RaSGooL
Son düzenleme: