Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Net Cull Distance Replicate Etme Zamanı
#1
Levelda bir sandık olsun ve bir oyuncu bu sandığı açmış olsun. 2. oyuncu eğer alanın içinde değilse, sandığın açıldığını göremez. Ama sonradan alanın içine girdiğinde de görmüyor. Yani yeterince yaklaşmışsa, sandık açık olduğu için sandık açık görünmesi gerekmiyor mu? Diğer türlü, 1. oyuncu sandığı açmış olsun, ikinci oyuncu gelip kasayı açmaya çalıştığı zaman 2. oyuncuda açılıyor bu sefer 1. oyuncuda kapanıyor.
Ara
Cevapla
#2
Bundan daha önemli bir sorun var onu nasıl çözdün ? Mesela ben sunucuya bağlandım bir tane önemli eşya var onu aldım diyelim yok oldu. Daha sonra 15 dk sonra başka bir oyuncu bağlandı, onda bu eşya duruyor. Bu sorun nasıl çözülüyor ?
Ara
Cevapla
#3
Vallaha ben daha o tür şeylere girmedim. Temelden böyle bir problem olduğunu gördüm. Baktım internette bir çözümü yok. Bir sorayım dedim. Yoksa bende de bir envanter ekipman sistemi var. Bunları nasıl yapacağım uzun uzun düşüneceğim.
Ara
Cevapla
#4
Eğer host client kullanıyorsanız lobi sistemi kurup lobi başladıktan sonra serverın listelenmesini kapatabilirsiniz. Böylelikle sonradan kimse join atamaz.
Ara
Cevapla
#5
https://docs.unrealengine.com/4.27/en-US...rking/2_1/

Bu linkte 2.1 den 2.4  e kadar çok dikkatlice okuyun. Tam olarak üzerinde düşündüğünüz konuyu adım adım anlatıyor. Ama kısaca şöyle bilgi vereyim:
1. Her türlü durumu Gameplay ve Cosmetic olarak iki duruma ayırın. Mesela sandığın açık ya da kapalı olması durumu Gameplay tarafında. Ancak bu sandığın açılırken kullanılan  SFX, VFX her türlü şey ( aslında sadece görsel şov olduğu ve gameplay e katkısı olmadığı için ) Cosmetic tir. Fonksiyonları bu şekilde ikiye ayırmanız lazım.
2. Her türlü "Gameplay" olayı gerçekte "Server" da olmalı. Üstüne tekrar basıyorum "Server" da olmalı. Buna sandığın açılması olayı dahil. Server da olmayan hiç bir şeyi "replicate" edemezsiniz. UE de client tan client a replication diye bir şey yok. Serverdan Client a var.
3. "Ama ben client ım ve sandığı açıyorum ne olacak ?" diyorsanız: Client açma hamlesini yaptığında (tuşa basmak, üstüne gelmek etc. neyse işte) "Server"  a diyecek ki "Hey ben bu sandığı açtım". Bunun haricinde client, "Gameplay" tarafında hiç bir şey yapamaz. Bunu nasıl yapacak: "RPC RunOnServer functions".
   Server bu çağrıyı aldıktan sonra meseleyi iki boyutta ele alması lazım. Bu bir gameplay olayı ancak buna bağlı SFX, VFX gibi "Cosmetic" olaylarda var. Gameplay tarafını mutlaka "Replicated Variables" ve "RepNotify" lar ile halletmek zorunda. Cosmetic tarafını ise "NetMultiCast" ile halledebilir. Bu sandık durumunda Gameplay olayı sandığın açık ya da kapalı olma durumu. Cosmetic olay ise SFX, VFX, UI vb şeyler. Mesela sandık açılma sesi ya da VFXi bu kategoriye girer.
   Dolayısı ile her türlü Cosmetic olay bir NetMulticast ile halledilebilir. Zaten "server" dayız unutmayın. Böyle yapınca "Network relevancy" ye sahip olanlar direk bu NetMulticast fonksiyonu alacaklar ve gerekli VFX, SFX oynatılacak. Yani yakında görme imkanı olanlar bunu müşahade edecekler. Fakat Gameplay olayı olan açılmış ya da kapanmış olması durumu ne olacak. Çok kolay: Bir variable yapacaksınız "IsOpen" gibi. RepNotify ile replicated olacak. Network Relevancy alanı dışında olanlar alan içine girdiklerinde bu değişkeni serverdan almaya başlayacaklarından RepNotify fonksiyonu hemen çalışacak ve daha kişi alan içine girdiği anda sandık açılacak. Bu yüzden Network Relevancy alanı oyuncu içeri girdiğinde herşeyi anında göremeyecek kadar büyük ama mümkün olduğunca da küçük olmalı.
Ara
Cevapla
#6
Çok sağolun hocam, ben de multiplayer a ilk giriş yaptığım zamanlar aynı şekilde gameplay ve cosmetic olaylarının farlı ele alınması gerektiğini çözdüm fakat bunu unreal da nasıl uygulayacağımı çözemedim.
Ara
Cevapla
 


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  ateş etme mekaniği kaandenizblkn 2 427 01-12-2021, Saat: 06:43
Son Yorum: Phyrexian
  Tekrar etme musapro05 5 675 30-07-2021, Saat: 17:07
Son Yorum: Cnrtnbl
  Yaratık Spawn Etme? mrtcnaslnts 1 563 22-09-2020, Saat: 18:17
Son Yorum: erginegider
  Client Material Replicate? mrtcnaslnts 2 543 12-08-2020, Saat: 01:41
Son Yorum: mrtcnaslnts
  belirli bir süre sonra kodu deactive etme TzLynch 5 1,033 14-06-2020, Saat: 18:46
Son Yorum: TzLynch
Lightbulb [ACEMİ SORUSU] StaticMesh içindeki Materyalleri ayrı ayrı kontrol etme esenoguz 2 783 21-04-2020, Saat: 02:53
Son Yorum: muhammedsgrl
  Trigger Box Aktif Etme alpery 4 1,806 20-08-2018, Saat: 16:02
Son Yorum: alpery
  Işıkları Kontrol Etme Ayarları MisterRodrik 2 1,213 13-08-2018, Saat: 16:12
Son Yorum: xWiggle
  distance (metre) kingfrover 8 1,912 03-04-2017, Saat: 23:10
Son Yorum: kingfrover
  Oyun içi Paint Aktif etme talisca90 2 1,669 09-01-2017, Saat: 15:33
Son Yorum: talisca90

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.