Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Multiplayer
#1
Merhaba arkadaşlar uzun bir zaman sonra tekrardan merhaba. 
Yaklaşık 5 yıldan beri kendimi UE tarafında geliştirmekteyim VR, Mobil, Desktop gibi platformlara birçok proje yaptım. Genel olarak BP mantığını anladığımı düşünüyorum ama çok büyük bir eksiğim var malesef hayatımda hiç multiplayer bir proje yapmadım sadece basic replication biliyorum. Soruma gelecek olursam Unrealin multiplayer tarafını güzel bir şekilde öğrenmek için nasıl bir yol takip etmeliyim nelere dikkat etmeliyim hangi kaynaklar daha iyidir veya bildiğiniz ve tecrübe ettiğiniz bir kurs varmıdır ?
Cevapla
#2
Kolay gelsin. Multiplayer öğrenmesi ve anlaması çok sancılı, ama öğrenince istediğini yaptırması kolay bir süreç. Çok fazla kaynak yok derinlemesine anlatan bildiğim kadarıyla. Parça parça kaynaklardan parça parça şeyleri bir araya getirip tam bir kavrama yakalamıştım ben.

Öncelikle şu döküman güzel bir anlatıma sahip:
https://cedric-neukirchen.net/Downloads/...irchen.pdf

Şu video repnotify, multicast, replication ve network relevency i açıklıyor. Ben herhalde ayrı ayrı zamanlarda 4-5 defa izlediğimde anlamıştım ne anlatmak istediğini.
https://www.youtube.com/watch?v=TEojA3VB...hannel=BRY

Ama nirvanaya ulaşmamda en büyük olay herkeste gerçekleştirmek istediğin bir eventi gerçekleştirmek için o eventi Server'de çağırman gerekiyor. Ancak onu çağırabilmek için de eventi çağıran kişinin o aktörün sahibi yani owner 'ı olması gerekiyor. Ownership ile alakalı RPC ler ilk dökümanda yazıyor. Diyelim ki sandığa bir item koyacaksın. Bunu sandık aktörünün içinde yapabilirsin ama bir sorunla karşılaşacaksın. AddItem eventini serverde çağırdın diyelim. Serverin kendisi bunu çağırırsa herkeste o item sandığa eklenir. Ama o sandığı spawn etmeyen server dışındaki bir client AddItem eventini Serverde çağırsa bile bu diğer clientlerde çalışmaz. Çünkü o sandık Server tarafından spawn edildi ve sahibi spawn eden kişi. Her client gelip AddItem 'ı serverde çağırıp herkeste eventin çalışmasını sağlayamaz. Server'i çağıramadığı için multicast de yapamaz. Bunu yapmanın yolu sandık aktörüne item ekleme olayını sandık aktörünün dışında, mesela player controller de yapmak. Çünkü herkes kendi player controllor 'ünün sahibidir. Player controllerde çağırdığın her Server eventi çalışır çünkü sahibi çağıran clienttir. Benim bunu anlamam çok uzun zaman aldı ama bunu anlayınca her eventi herkeste çalıştırabilir oldum.

İkinci önemli bir şey de ne zaman multicast, ne zaman rep-notif kullanmak gerektiğini anlamak. Multicast'ı anlık efektler, ses efektleri, animasyonlar gibi şeylerde kullanırsın. Bir client network relevancy içinde değil yani çok uzaksa onda bu event çalıştırılmaz. Diyelim ki sandığın kapağı açılacak. Sen serverde sandık etkileşiminde sandık açılma animasyonunu oynatırsan sandığa yakın herkes sandığın açıldığını görür. Ama uzaktan biri gelirse ya da oyuna sonradan biri dahil olursa sandık animasyonu hiç oynanmamıştır ve sandığı kapalı olarak görür. Bunun önüne geçmek için sandığa bir bool variable atarsın. Biri sandığı açınca bool değerini true yaparsın. Bu değişkeni replicated yerine rep-notify dersen orda olmayan birisi network relevancy içine girerse oyun ona der ki. "Hey bu bool değişkeni false 'tan true 'ya geçmiş o zaman şu Event'i çalıştırıyorum. O evente ne yaptıracaksan onu yaptırırsın. Bir nevi o değişkeni gözlüyor değişim var mı yok mu diye. En basit anlatımı ile böyle. Bunu da anlarsan işin %75 i tamamdır.
Ara
Cevapla
#3
Yukarıda ki cevaba aynen katılıyorum. Şu dersi de şuraya ekliyorum. Benim bildiğim bu konuda ki en başarılı ders : https://www.udemy.com/course/unrealmultiplayer/

Bunun haricinde şunu eklemeliyim. Yukarıdaki mesajda ki dökümanların ve videoların bir kaç kez üzerinden geçtikten sonra uygulama yapmalısın. Uygulama yaptıkça ve gözünle gördükçe her şey netleşecek.
Ara
Cevapla
#4
Değerli yanıtlarınız için teşekkür ederim kurslara direkt başlaıyorum hadi bakalım multiplayer nekadar zorlayacak Smile
Cevapla
 


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Multiplayer Nesne taşıma gecikme Sorunu NooXRii 11 577 09-03-2022, Saat: 17:50
Son Yorum: NooXRii
  Unreal Engine 5 Multiplayer leonscottkfm 3 244 01-03-2022, Saat: 09:56
Son Yorum: leonscottkfm
  Multiplayer Kayıt Sorunu leonscottkfm 3 401 13-11-2021, Saat: 20:20
Son Yorum: nonlinear
Exclamation (ÇÖZÜLDÜ)Multiplayer Değer değiştirme sorunu NooXRii 3 642 11-07-2021, Saat: 22:58
Son Yorum: erginegider
  Multiplayer Linetrace Damage Sorunu kinglord34 2 496 10-07-2021, Saat: 22:11
Son Yorum: kinglord34
  Multiplayer Bölge Ele Geçirme Sistemi MR Studio 10 1,537 24-02-2021, Saat: 22:03
Son Yorum: MR Studio
Video Melee Damage Sorunu (Multiplayer) MR Studio 15 2,170 08-11-2020, Saat: 11:15
Son Yorum: erginegider
  Multiplayer Destroy kinglord34 4 828 30-09-2020, Saat: 06:02
Son Yorum: erginegider
  Multiplayer Interaction kinglord34 8 1,034 16-09-2020, Saat: 12:13
Son Yorum: erginegider
  Steam multiplayer TR26SkyWalker26TR 14 2,156 03-05-2020, Saat: 20:40
Son Yorum: muhammedsgrl

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi

Unreal Engine Türkiye

This forum is community driven and supported by voluntary community members. It has nothing to do with Epic Games.

Bu site sadece destek amaçlıdır. Epic Games ile bir ilgisi yoktur.