kinglord34

Aktif üye
7 Ocak 2017
261
30
28
Belirtilmemiş
Selamlar, lokasyona göre replicated ayak sesi üzerinde çalışıyorum. Kısaca csdeki, valoranttaki ayak sesi sistemini yapmaya çalışıyorum. KarakterBP içerisinde oyuncuların mesafesine göre birbirlerinin ayak sesini duyacak şekilde bir sistem geliştirdim. Yani oyuncu1, oyuncu2'nin 500 metre yakını içerisindeyse ayak sesini duyabiliyor. Multicast ve Server eventlerini oluşturdum. AnimNotify üzerinde gereken işlemleri de yaptım. Projeyi paketleyip arkadaşlarımla test ettiğimde sadece kendi ayak sesimizi duyuyoruz. Yani arkadaşım benim ayak sesimi duymuyordu ben de onunkini duymuyordum. İkimizde sadece kendi ayak sesimizi duyuyorduk.
Daha önceden bu tarz bir sistem geliştiren oldu mu? Bana akıl verecek, fikir gösterecek olan var mı?
 
Çözüm
burada da devreye attenuation settings devreye giriyor, ayrıca ayak sesi zeminde oluşan bir ses dolayısıyla daha ucuz olan spawn sound at location kullanabilirsin.

Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.
videoyu full izlemedim ama işini görecektir.
logic olarak AnimNotify replicated bir process, buradaki replicated algısı biraz yanlış tabii düşününce ancak olay şu animasyonlar replicated olduğu sürece sen bunu tüm animasyonlara eklediğinde tüm client lar default olarak bu notify e sahip olduğu için server-client veya simulated fark etmeksizin çalışır, bence atladığın birşeyler olabilir.
 
  • Beğen
Tepkiler: kinglord34
Haklısınız hocam, animnotifyin replicated olduğu gözümden kaçmış. Şu an oyuncular birbirinin ayak sesini sorunsuz bir şekilde duyuyor fakat ben bu ayak sesinin oyuncular aralarındaki uzaklığa, yakınlığa göre duyulmasını istiyorum.
Spawn sound attached nodunu kullanıyorum. Spawn sound attached kullanarak bu istediğim şeyi yapabilir miyim? Muhtemelen audio component kullansam sorunum düzelecek fakat kullanmak istemiyorum.

1749078901972.png
 
burada da devreye attenuation settings devreye giriyor, ayrıca ayak sesi zeminde oluşan bir ses dolayısıyla daha ucuz olan spawn sound at location kullanabilirsin.

Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.
videoyu full izlemedim ama işini görecektir.
 
  • Beğen
Tepkiler: kinglord34
Çözüm
Selamlar, lokasyona göre replicated ayak sesi üzerinde çalışıyorum. Kısaca csdeki, valoranttaki ayak sesi sistemini yapmaya çalışıyorum. KarakterBP içerisinde oyuncuların mesafesine göre birbirlerinin ayak sesini duyacak şekilde bir sistem geliştirdim. Yani oyuncu1, oyuncu2'nin 500 metre yakını içerisindeyse ayak sesini duyabiliyor. Multicast ve Server eventlerini oluşturdum. AnimNotify üzerinde gereken işlemleri de yaptım. Projeyi paketleyip arkadaşlarımla test ettiğimde sadece kendi ayak sesimizi duyuyoruz. Yani arkadaşım benim ayak sesimi duymuyordu ben de onunkini duymuyordum. İkimizde sadece kendi ayak sesimizi duyuyorduk.
Daha önceden bu tarz bir sistem geliştiren oldu mu? Bana akıl verecek, fikir gösterecek olan var mı?
Replicate diye bir şey yok orada.

1749114326661.png

Try Get Pawn Owner ile veriyi çekersen replicated şeklinde çekiyor.
AnimNotify kullanman lazım. Oyuncunun Blueprintinde diğer oyunculara uzaklığını ölçen bir sistem yapıp çıkan float değeri burada Walk Sound Volume diye oluşturduğum sistem ile eşleyebilirsin.
Ona göre ses duyarsın onlar da uzaklığa göre duyuyor.
Ben burada bunu karakterin kendi hızına göre yaptım. Eğer karakter hızlıysa sesler daha kuvvetli çıkıyor. Yavaşsa daha az çıkıyor. Sen de bir Sphere collision atar içine giren her oyuncunun kendi oyuncuna olan uzaklığını ölçersin, ona göre bir çarpan değeri belirler ve ses artırıp azaltırsın.
 
  • Beğen
Tepkiler: kinglord34
burada da devreye attenuation settings devreye giriyor, ayrıca ayak sesi zeminde oluşan bir ses dolayısıyla daha ucuz olan spawn sound at location kullanabilirsin.

Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.
videoyu full izlemedim ama işini görecektir.
Replicate diye bir şey yok orada.

Ekli dosyayı görüntüle 662

Try Get Pawn Owner ile veriyi çekersen replicated şeklinde çekiyor.
AnimNotify kullanman lazım. Oyuncunun Blueprintinde diğer oyunculara uzaklığını ölçen bir sistem yapıp çıkan float değeri burada Walk Sound Volume diye oluşturduğum sistem ile eşleyebilirsin.
Ona göre ses duyarsın onlar da uzaklığa göre duyuyor.
Ben burada bunu karakterin kendi hızına göre yaptım. Eğer karakter hızlıysa sesler daha kuvvetli çıkıyor. Yavaşsa daha az çıkıyor. Sen de bir Sphere collision atar içine giren her oyuncunun kendi oyuncuna olan uzaklığını ölçersin, ona göre bir çarpan değeri belirler ve ses artırıp azaltırsın.

Hocalarım, çok teşekkürler attenuation settings nedense aklıma hiç gelmedi. Bu kadar basit bir şey gözümden nasıl kaçmış... İnanılır gibi değil. Hep şu chatgpt kafamı karıştırdı :D. Attenuation settings sayesinde sorunum çözüldü. Eğer daha komplike bir sisteme ihtiyacım olursa @leonscottkfm hocam dediklerinizi uygulayacağım.