Unity ile Cisimlere Yapay Zeka Kazandırma
Unity ile oluşturulan 3 boyutlu cisimler normal olarak kullanıcının yönlendirmesiyle hareket ederler bunlar genel olarak First Person Controller olarak adlandırılırlar. Bunun dışında cisimlere farklı şekillerde hareket kazandırmak için cisimlere Animasyonlar hazırlanabilir ancak bu yöntemlerin hiç birinde cisimler Akıllı hareket etmezler.
Cisimlere akıllı hareket kazandırmak için javascript yazarak cisimlere belirli nesnelere karşı eğitim verebiliriz.Örneğin oluşturulan bir robot random olarak çıkan yemlerin üzerine doğru hareket etmesi akıllı bir hareket olarak adlandırılabilir.
Bunun için javaScript koduyla öncellikle Random olarak hareket uzayında yemler oluşturulup robotu buna doğru yönlendireceğiz. Şimdi yeme doğru giden cisim için yazılan javascript kodu verilecek.
this.transform.LookAt(bonus.position);
if(mesafe>10)
durum=true;
else
durum=false;
if(durum)
{
animation.CrossFade(“kos”);
transform.Translate(new Vector3(0,0,1));
}
Else
{
animation.CrossFade(“yuru”);
transform.Translate(new Vector3(0,0,.1));
}
mesafe=Vector3.Distance(transform.position,bonus.position);
status.text=”Mesafe : ” + mesafe;
if(mesafe<=2)
{
bonus.transform.position=new Vector3(Random.Range(0,100),0,Random.Range(0,100));
}
Bu javascript kodunu incelediğimiz zaman random olarak bir koordinat oluşturulup oraya yem atanıyor. Daha sonra bu kordinati robotun gideceği yön olarak gösteriyoruz
(this.transform.LookAt(bonus.position); ) .
Ardından uygulamayı çalıştırdığımız zaman robot gerçekten de yeme doğru hareket ettiğini göreceğiz.
Unity de Network
Unity platformunda network ile ilgili işlemler Network sınıfı altında toplanmıştır. Ağda meydana gelen bir çok olayda önceden network sınıfında belirlenmiş fonksiyonlar koşar. Bu fonsiyonların implementesini biz gerektiği şekilde yaparız.
OnPlayerConnected : Server tarafında çağrılır .Yeni bir bilgisayar oyuna girdiğinde bu fonksiyon çağrılır.
OnServerInitialized :Server kurulumu tamamlandığında çağrılır. Serverda çağrılır.
OnConnectedToServer :Client tarafında çağrılır.Client başarıyla server a bağlandıysa çağrılır.
OnPlayerDisconnected: Server tarafında çağrılan bu fonksiyonda bir oyuncunun çıkması durumunda çalışır.
OnDisconnectedFromServer: Client tarafında serverla bağlantı koptuğunda server tarafında ise bağlantı sonlandığında çağrılır.
OnFailedToConnect: Client tarafında bağlantı denemesinin başarısız olduğunda çalışır
OnFailedToConnectToMasterServer:Client da yada serverda master server a bağlanmada bir hata olması durumunda çağrılır.
OnNetworkInstantiate:Herhangi bir obje (nesne) networkta Network.Instantiate fonksiyonu ile kopyalandığında çağrılır.
OnSerializeNetworkView:Network view tarafından takip edilen nesnelerin durumlarını senkronize ederken kullanacağımız fonksiyondur. Bu fonfsiyonun içinde nesnenin yeni durumunun alınması ve gönderilmesi işlemleri yapılabilir.
Bu fonksiyonların kullanımı ise yazdığımız script türüne göre syntax da küçük değişiklik olmakla birlikte genel olarak bu isimlerde fonksiyon yazarak içini doldurulması şeklindedir.
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var [email protected] adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri
Merhaba Mehmet Bey,
Unity oyun motoru ile bir MMORPG yapmanın püf noktalarını verebilir misiniz? Yani bu motorla MMORPG yapmak için tam olarak neler yapmamız gerekiyor, hangi özellikleri kullanacağız, bir sunucuya nasıl bağlanacağız; gibi soruları cevaplayabilirseniz svinirim.
Merhaba Selman Bey ben Unity oyun motorunda dönem projesinde bir oyun yaptım o kadar.Ancak oyunu yaparken MMORPG yapmadığım için cevap veremeyeceğim. Size iyi çalışmalar…
Peki o zaman, burada Unity hakkında yazdığınız bilgiler için de teşekkür ederim. Size de iyi çalışmalar ve iyi geceler…
Merhabalar Mehmet bey,
sitenizde verdiğiniz bilgilerden dolayı çok teşekkürler. Yalnız bir sorum olacak..
bir inşaat projesi için unity ile bir tanıtım yapmak istiyorum..
arazi yollar araclar evler hazır.. fakat ben burada site içindeki yollarda random hareket eden serit değistiren araclar yapmak istiyorum..
nasıl bir yapay zeka hazırlayacagımı bilmiyorum.. belirli bir path ustunde olmayacagı için hareket de veremedim..
eger aklınıza bir fikir bunu dinlemeyi cok isterim
Saygılarımla
Merhabalar Soner bey… Tekerleği kendin icat etmektense bir şeyler eklemek daha iyi mantığıyla size Unity sitesindeki aracı kullanmanızı tavsiye ederim. Orda yol boyunca hareket eden bir araç görmüştüm hatta arkadaşların onu alıp kullandığını biliyorum. Sizde ondan yararlanabilirsiniz. Zaten araçlar Random hareket edeceği için yapay zekaya da ihtiyaç duymazlarki. Bir animasyon hazırlamanız bunun için yeterlidir.