leonscottkfm

Unreal MVP
31 May 2015
1,427
5
186
63
27
(34) İstanbul Avrupa
store.steampowered.com
Yapay zeka yaparken bir şey fark ettim.
Elinde bıçaklı bir şey yapmak ile silahlı bir şey yapmak arasında çok fark var.

Bıçaklı Yapay Zeka:

1- Idle şekilde etrafı dolaşır
2- Tehdit görürse üzerine yürür
3- Tehditi kaybederse memory bir süre daha çalışır lastknownlocationa gider bulamazsa o bölgede arama yapar.
4- Tehditi kaybetmediyse ya da kaybedip sonrasında bulduysa yanına gider ve belli bir mesafe yakınsa atak ya da herhangi bir şey uygular.

Fakat olay silah kullanmaya gelince işin rengi değişiyor b.ka sarıyor.

Mesela aim alma olayı kolu tehdite yönlendirme belli bir uzaklıktan ateş etme arada sağa sola manevra yapma gibi şeyler giriyor olaya.
Önünde engel varsa kolunu kaldırıp aim almayı bırakması gibi fakat bu engel vazo da olabilir ve vazo için böyle bir şey yapmak yerine biraz sağa gitmek gerekebilir.
Mesafe kontrolleri vs giriyor devreye.

Peki bu sorun nasıl çözülüyor ? Çok fazla şey var silahlı bir NPC de.
Yakın dövüş basit. Fakat silahlı dövüş aynı değil.
 
Tam anlamıyla hakim olmasam da.
Ben olsam Character BP içinde bir enum oluşturup elindeki silaha göre isimlendirirdim. Mesela Knife, Pistol, Rifle gibi. Bu Enumu da Character Controller icerisinden Blackboarda gönderirdim. Sonra Behavior Tree icerisinde Decorator ile Blackboard eklicen sorgulama yapcak Knife ise ilgili sequence a gidip aşağıdaki task çalışcak pistol ise diğer sequence dan asagisindaki task vs.
Siper alma saklanma vazo varsa yön degistirme gibi olaylar da EQS sistemi ile çözülür diye tahmin ediyorum.
 
Son düzenleme: