TornadoTT

Yeni üye
24 Kas 2015
280
13
0
31
(6) Ankara
Silah sistemini geliştirirken test amaçlı taramalı tüfek sesi indirdim.

1-)Single Shot yani 1 saniyelik olmayan sesleri nasıl kırparız?(Bazı programlarla denedim ama kırptıktan sonra motora attığımda media texture olarak algıladı ve ses kayboldu.)

2-)Elimde Flac uzantılı ses dosyası vardı.Programla wav.  a çevirdim.Ancak yine media texture olarak algıladı.Nasıl düzeltirim?

Yardımcı olursanız sevinirim.
 
TornadoTT' Alıntı:
Silah sistemini geliştirirken test amaçlı taramalı tüfek sesi indirdim.

1-)Single Shot yani 1 saniyelik olmayan sesleri nasıl kırparız?(Bazı programlarla denedim ama kırptıktan sonra motora attığımda media texture olarak algıladı ve ses kayboldu.)

2-)Elimde Flac uzantılı ses dosyası vardı.Programla wav.  a çevirdim.Ancak yine media texture olarak algıladı.Nasıl düzeltirim?

Yardımcı olursanız sevinirim.

Test edip görebilirsin ama ses 'Single' olmayacaksa; makineli tüfek sürekli ateş edecekse o sürekli sesi çalmak daha iyi sonuç verir. Kullanıcı elini ateş etme tuşunda kaldırdıysa kırptığın bu tek sesi, kaldırmadıysa kaldırana kadar devam eden sesi çalmak daha iyi sonuç verir. Diğer türlü saniyede 10 mermi atan bir silah yaptığında tek tek çalan seslerin bozulduğunu görürsün.

Bir de tek sesleri sürekli çalacaksan doğrudan ses dosyasını çalma, mutlaka bir Sound Cue oluştur. Daha iyi sonuç verecektir.
 
cahitburak' Alıntı:
Test edip görebilirsin ama ses 'Single' olmayacaksa; makineli tüfek sürekli ateş edecekse o sürekli sesi çalmak daha iyi sonuç verir. Kullanıcı elini ateş etme tuşunda kaldırdıysa kırptığın bu tek sesi, kaldırmadıysa kaldırana kadar devam eden sesi çalmak daha iyi sonuç verir. Diğer türlü saniyede 10 mermi atan bir silah yaptığında tek tek çalan seslerin bozulduğunu görürsün.

Bir de tek sesleri sürekli çalacaksan doğrudan ses dosyasını çalma, mutlaka bir Sound Cue oluştur. Daha iyi sonuç verecektir.

Single olmayan ses denedim fakat şuan basılı tutunca devamlı çalan bi ses Bp yazmadım.Tek tek basmak gerekiyo_O yüzden öyle sesler birkaç kere ardı ardına çalıyo ve rahatsız ediyo bozuluyo sesler.
Dediğiniz mantığı anladım fakat hangi node u Bp mantığını nasıl yazıcağımı çözemedim bunun bir örneği varmıdır?

Sound Cue ile ilgili bikaç video izledim.Sistemi biraz daha geliştirdikten sonra cue ye çevircem
 
TornadoTT' Alıntı:
Single olmayan ses denedim fakat şuan basılı tutunca devamlı çalan bi ses Bp yazmadım.Tek tek basmak gerekiyo_O yüzden öyle sesler birkaç kere ardı ardına çalıyo ve rahatsız ediyo bozuluyo sesler.
Dediğiniz mantığı anladım fakat hangi node u Bp mantığını nasıl yazıcağımı çözemedim bunun bir örneği varmıdır?

Sound Cue ile ilgili bikaç video izledim.Sistemi biraz daha geliştirdikten sonra cue ye çevircem

Ben C++ ile çalışıyorum ama burada öyle bir örnek var. C++ ile çalışanlar da Shooter Game örneğini inceleyebilirler.
https://answers.unrealengine.com/questions/31437/mouse-left-button-down-to-shoot-automatically.html
 
TornadoTT' Alıntı:
cahitburak' Alıntı:
Ben C++ ile çalışıyorum ama burada öyle bir örnek var. C++ ile çalışanlar da Shooter Game örneğini inceleyebilirler.
https://answers.unrealengine.com/questions/31437/mouse-left-button-down-to-shoot-automatically.html


Yok ben ses için demiştim silah sistemi var zaten.Sadece silahın fire sound cue sinde nasıl loop ederim mousea basılı tutarak onu merak ediyorum.Birde çekince nasıl susturrum.

silahın orjinal taramalı loop cue sesini basılı tutma triggerine ekle basıp çekme triggerinede kırpılmış tek atış sesini ekle diyorlar
 
cahitburak' Alıntı:
leonscottkfm' Alıntı:
silahın orjinal taramalı loop cue sesini basılı tutma triggerine ekle basıp çekme triggerinede kırpılmış tek atış sesini ekle diyorlar

Aynen. Örnek de silah yapımını anlatmıyor, sorduğun şeyi anlatıyor zaten. Daha dikkatli incelemelisin.


Tamam sonunda halloldu ama bu seferde tek tıklayınca normal single shot sesini veriyo ama basılı tutunca 2 sesi birden veriyo.Blueprinterim şu şekilde:
Birde elinizde sound cue ile ilgili ders kaynağı varsa onlarda çok yardımcı olur şuan.







Tamam hallettim kafam durmuş bugün ya aynı şeyi 2 kez yazmışım farklı yolla.Şimdi çalışıyor.
 
Yaptığınız sistem oldukça verimsiz,onu söyleyeyim.

Her karede butona basılıp basılmadığını kontrol etmek çok mantıksız.

Bunun yerine pressed ve released node'larında bir sistem yapmalısınız.

(Sadece ilk resme bakarak yazdım bunu,gerisinde neler var bilmiyorum :)  )


Edit:

1.resimde tuş kontrolünde retriggerable delay kullanmışsın.

Bu yanlış çalışacaktır,her tuşa basıldığında tekrar ona girecek.

Eğer silahın ateş hızını yavaşlatma amaçlı birşey ise çalışmayabilir.
 
SoloWarrior' Alıntı:
Yaptığınız sistem oldukça verimsiz,onu söyleyeyim.

Her karede butona basılıp basılmadığını kontrol etmek çok mantıksız.

Bunun yerine pressed ve released node'larında bir sistem yapmalısınız.

(Sadece ilk resme bakarak yazdım bunu,gerisinde neler var bilmiyorum :)  )

Sistemde belki bazı şeyler optimize edilebilir ama herhangi bir sorun yok için rahat olsun. Öyle yada böyle "Tick" çalıştıracaksın, silah sürekli ateş ediyor zaten. Birkaç "branch"den zarar gelmez.

Daha önemlisi, tasarım açısından ben olsam, eğer silah "BP", "Tick" çalıştırıyorsa, tüm bu işlemleri silah "BP" içinde yapardım. Başka bir sürü işlemle meşgul olabilecek olan "Pawn"ı sadeleştirmiş olurdum ama silah "Tick" çalıştırmıyorsa böyle daha iyi.
 
cahitburak' Alıntı:
SoloWarrior' Alıntı:
Yaptığınız sistem oldukça verimsiz,onu söyleyeyim.

Her karede butona basılıp basılmadığını kontrol etmek çok mantıksız.

Bunun yerine pressed ve released node'larında bir sistem yapmalısınız.

(Sadece ilk resme bakarak yazdım bunu,gerisinde neler var bilmiyorum :)  )

Sistemde belki bazı şeyler optimize edilebilir ama herhangi bir sorun yok için rahat olsun. Öyle yada böyle "Tick" çalıştıracaksın, silah sürekli ateş ediyor zaten. Birkaç "branch"den zarar gelmez.

Daha önemlisi, tasarım açısından ben olsam, eğer silah "BP", "Tick" çalıştırıyorsa, tüm bu işlemleri silah "BP" içinde yapardım. Başka bir sürü işlemle meşgul olabilecek olan "Pawn"ı sadeleştirmiş olurdum ama silah "Tick" çalıştırmıyorsa böyle daha iyi.

Mantıklı olan da o,ayaküstü yazdım birşeyler :)

Ben düşük bir sistemde yaptığım için sistemleri bu şeylere çok dikkat ediyorum.

Open world bir oyunda bu sistemler üst üste binecek vs. sonraları hep sorun :)

Bu arada bulmuşken birşey sorayım.

Open world bir oyunumuz var ve geziyoruz,bildiğin gibi sadece bizim yakınımzdaki yerlerde yapay zeka,trafik vs. oluyor.

Bunu nasıl sağlıyoruz? Bir fikrin var mı?

Birde şöyle birşey yaptım,araba karaktere yaklaşırken algılama mesafesi (trigger) içine girince karakter reflex olarak geliş rotasyonunun tersine animasyon olarak atlıyor,bu sistem mantıklımıdır?Yapmanın daha iyi bir yolu varmı?

Seni kütüphane olarak görüyorum resmen :D   :D
 
SoloWarrior' Alıntı:
Yaptığınız sistem oldukça verimsiz,onu söyleyeyim.

Her karede butona basılıp basılmadığını kontrol etmek çok mantıksız.

Bunun yerine pressed ve released node'larında bir sistem yapmalısınız.

(Sadece ilk resme bakarak yazdım bunu,gerisinde neler var bilmiyorum :)  )


Edit:

1.resimde tuş kontrolünde retriggerable delay kullanmışsın.

Bu yanlış çalışacaktır,her tuşa basıldığında tekrar ona girecek.

Eğer silahın ateş hızını yavaşlatma amaçlı birşey ise çalışmayabilir.


Evet tick e girmeden başka yollarda yapımınıda buldum.Denedikten sonra buraya atarım birazdan.
cahitburak' Alıntı:
Sistemde belki bazı şeyler optimize edilebilir ama herhangi bir sorun yok için rahat olsun. Öyle yada böyle "Tick" çalıştıracaksın, silah sürekli ateş ediyor zaten. Birkaç "branch"den zarar gelmez.

Daha önemlisi, tasarım açısından ben olsam, eğer silah "BP", "Tick" çalıştırıyorsa, tüm bu işlemleri silah "BP" içinde yapardım. Başka bir sürü işlemle meşgul olabilecek olan "Pawn"ı sadeleştirmiş olurdum ama silah "Tick" çalıştırmıyorsa böyle daha iyi.

Haklısınız ama maalesef o şekilde yapamam.Pawnın içine yazarsam diğer ögeler bozulur.Sistemim bu şekilde işliyo.


3 tane yöntem denedim ama hiçbiri istediğimi vermedi.En iyisi tick olayı yani tek ses olsa dediğiniz tamam oluyo ama 2 farklı ses var elimde.
 
SoloWarrior' Alıntı:
Ben düşük bir sistemde yaptığım için sistemleri bu şeylere çok dikkat ediyorum. Open world bir oyunda bu sistemler üst üste binecek vs. sonraları hep sorun :)
Performans için bu kadar kaygılı olmak o kadar iyi birşey değil. Evet dikkatli olun ama çoğunlukla problemi çözememek veya daha önemlisi, birkaç mikrosaniye/frame kazanacağım diye hayatınızdan saatler kaybettirir.

SoloWarrior' Alıntı:
Open world bir oyunumuz var ve geziyoruz,bildiğin gibi sadece bizim yakınımzdaki yerlerde yapay zeka,trafik vs. oluyor. Bunu nasıl sağlıyoruz? Bir fikrin var mı?
Multiplayer olmadığını varsayarsak, tüm bu işlemlerin (spawn olma, yapay zeka görevleri...vs) oyuncuya olan uzaklık belirli bir sınırın altındaysa şartına bağlı olarak çalıştırmasını kodlamak gerek haliyle. Hatta çok kestirme bir yol izlemek gerekirse; söz konusu "Actor"lerin "Tick"leri dinamik olarak durdurulabilir ve tekrar başlatılabilir yada devam ettirilebilir.
Böyle bir sistem gerekiyorsa; belli ki o sistem binlerce "Actor" içeriyordur. Bu noktada hepsi için bir uzaklık kontrolü de yorucu olacaktır. Bunun için çoğu farklı "frame"lere dağılacak şekilde her birkaç saniyede bir bu işlemi yapmak daha mantıklı olacaktır yada en mantıklı ve etkili yol; bütün haritayı ve "Actor"leri bir "OcTree" yapısı üzerinde sınıflandırmaktır. Bu yöntem "Realtime Global Illumunation"da yada daha iyi bir örnek ile "Minecraft"'ta kullanılan yönteme benzer.
"Tick", "Actor"ün kalp atışı gibidir. Bu arada "BP"ler için "Tick" durumunu değiştirmenin bir yolu yoktu. 4.8 ile geleceği söyleniyordu, şuan mevcut durumu bilmiyorum. Zaten C++ ile de mantıksal olarak "Tick" içinde "Tick"i durdurabilirsin ama tekrar başlatamazsın dolayısı ile bu işlemleri bu "Actor"lerin dışında bir yönetici sınıf ile yapmak gerekir.

SoloWarrior' Alıntı:
Birde şöyle birşey yaptım,araba karaktere yaklaşırken algılama mesafesi (trigger) içine girince karakter reflex olarak geliş rotasyonunun tersine animasyon olarak atlıyor,bu sistem mantıklımıdır?Yapmanın daha iyi bir yolu varmı?
Daha fazla bilgi lazım. Üşenme detaya gir biraz çok havada bir soru bu. Bunu yapan nedir? "GTA" benzeri bir oyunda, yapay zekanın üzerine doğru araba mı sürüyorsun? Öyleyse bu alt bir AITask ile kontrol edilen bir karar verme anı olabilir. Animasyon işin görselleştirme kısmı. Elbette beklenen karakter üzerinde böyle bir animasyonun olması ve bu atlama kararını verdiğinde bu animasyonun devreye girmesi. Bu soru biraz saçma bu haliyle. "Yapay zekanın yanında korna çalınca küfür etsin mi?" sorusu kadar saçma. Ne yapmak istiyorsan onu yap.

SoloWarrior' Alıntı:
Bu arada bulmuşken birşey sorayım.
Seni kütüphane olarak görüyorum resmen :D   :D
Yakalandık yine desene.


TornadoTT' Alıntı:
Haklısınız ama maalesef o şekilde yapamam.Pawnın içine yazarsam diğer ögeler bozulur.Sistemim bu şekilde işliyo.
"Pawn" içinde yazmışsın zaten. "3rdPersonPawn > Event Graph"ı bizden saklayamazsın, görürüz herşeyi. ;)
 
cahitburak' Alıntı:
SoloWarrior' Alıntı:
Ben düşük bir sistemde yaptığım için sistemleri bu şeylere çok dikkat ediyorum. Open world bir oyunda bu sistemler üst üste binecek vs. sonraları hep sorun :)
Performans için bu kadar kaygılı olmak o kadar iyi birşey değil. Evet dikkatli olun ama çoğunlukla problemi çözememek veya daha önemlisi, birkaç mikrosaniye/frame kazanacağım diye hayatınızdan saatler kaybettirir.

SoloWarrior' Alıntı:
Open world bir oyunumuz var ve geziyoruz,bildiğin gibi sadece bizim yakınımzdaki yerlerde yapay zeka,trafik vs. oluyor. Bunu nasıl sağlıyoruz? Bir fikrin var mı?
Multiplayer olmadığını varsayarsak, tüm bu işlemlerin (spawn olma, yapay zeka görevleri...vs) oyuncuya olan uzaklık belirli bir sınırın altındaysa şartına bağlı olarak çalıştırmasını kodlamak gerek haliyle. Hatta çok kestirme bir yol izlemek gerekirse; söz konusu "Actor"lerin "Tick"leri dinamik olarak durdurulabilir ve tekrar başlatılabilir yada devam ettirilebilir.
Böyle bir sistem gerekiyorsa; belli ki o sistem binlerce "Actor" içeriyordur. Bu noktada hepsi için bir uzaklık kontrolü de yorucu olacaktır. Bunun için çoğu farklı "frame"lere dağılacak şekilde her birkaç saniyede bir bu işlemi yapmak daha mantıklı olacaktır yada en mantıklı ve etkili yol; bütün haritayı ve "Actor"leri bir "OcTree" yapısı üzerinde sınıflandırmaktır. Bu yöntem "Realtime Global Illumunation"da yada daha iyi bir örnek ile "Minecraft"'ta kullanılan yönteme benzer.
"Tick", "Actor"ün kalp atışı gibidir. Bu arada "BP"ler için "Tick" durumunu değiştirmenin bir yolu yoktu. 4.8 ile geleceği söyleniyordu, şuan mevcut durumu bilmiyorum. Zaten C++ ile de mantıksal olarak "Tick" içinde "Tick"i durdurabilirsin ama tekrar başlatamazsın dolayısı ile bu işlemleri bu "Actor"lerin dışında bir yönetici sınıf ile yapmak gerekir.

SoloWarrior' Alıntı:
Birde şöyle birşey yaptım,araba karaktere yaklaşırken algılama mesafesi (trigger) içine girince karakter reflex olarak geliş rotasyonunun tersine animasyon olarak atlıyor,bu sistem mantıklımıdır?Yapmanın daha iyi bir yolu varmı?
Daha fazla bilgi lazım. Üşenme detaya gir biraz çok havada bir soru bu. Bunu yapan nedir? "GTA" benzeri bir oyunda, yapay zekanın üzerine doğru araba mı sürüyorsun? Öyleyse bu alt bir AITask ile kontrol edilen bir karar verme anı olabilir. Animasyon işin görselleştirme kısmı. Elbette beklenen karakter üzerinde böyle bir animasyonun olması ve bu atlama kararını verdiğinde bu animasyonun devreye girmesi. Bu soru biraz saçma bu haliyle. "Yapay zekanın yanında korna çalınca küfür etsin mi?" sorusu kadar saçma. Ne yapmak istiyorsan onu yap.

SoloWarrior' Alıntı:
Bu arada bulmuşken birşey sorayım.
Seni kütüphane olarak görüyorum resmen :D   :D
Yakalandık yine desene.


TornadoTT' Alıntı:
Haklısınız ama maalesef o şekilde yapamam.Pawnın içine yazarsam diğer ögeler bozulur.Sistemim bu şekilde işliyo.
"Pawn" içinde yazmışsın zaten. "3rdPersonPawn > Event Graph"ı bizden saklayamazsın, görürüz herşeyi. ;)
Zaman konusunda haklısın ama zevkli bir iş :)

Benim orda sormak istediğim mesele şuydu;

Bu iş için trigger kullanmak doğrumudur?

Bazı videolarda görüyorum,karakterin birşeyleri farketmesi için (karakter) oyun otomatik bir triger tarzı şey oluşturuyor.

Yine anlatamadım :mad:

Özet:Sokakta 20-30 yaya olduğunu varsayarsak,bu performans açısından ne yapar?

Her karakterde bir sphere trigger olacağından dolayı biraz karışır gibi? (Bu arada performans açısından box trigger mi daha iyidir sphere trigger mi?)

Gerçeği söylemek gerekirse seninle konuşamıyoruz :)

Ya ben soruyu soramıyorum yada anlayamıyorsun fakat şöyle bir durum var,her yazdığında ister istemez o yazıdaki şeyleri öğreniyorum,ileriye birikim :cool:

Bir ara şu octree olayını tam olarak konu açacağım.Yorumların için teşekkürler
 
SoloWarrior' Alıntı:
Zaman konusunda haklısın ama zevkli bir iş :)

Benim orda sormak istediğim mesele şuydu;

Bu iş için trigger kullanmak doğrumudur?

Bazı videolarda görüyorum,karakterin birşeyleri farketmesi için (karakter) oyun otomatik bir triger tarzı şey oluşturuyor.

Yine anlatamadım :mad:

Özet:Sokakta 20-30 yaya olduğunu varsayarsak,bu performans açısından ne yapar?

Her karakterde bir sphere trigger olacağından dolayı biraz karışır gibi? (Bu arada performans açısından box trigger mi daha iyidir sphere trigger mi?)

Gerçeği söylemek gerekirse seninle konuşamıyoruz :)

Ya ben soruyu soramıyorum yada anlayamıyorsun fakat şöyle bir durum var,her yazdığında ister istemez o yazıdaki şeyleri öğreniyorum,ileriye birikim :cool:

Bir ara şu octree olayını tam olarak konu açacağım.Yorumların için teşekkürler

Teknik tabirler kullanmıyorsun, sadece teknik tabirler kesinleştirir bu süreci, o yüzden anlaşamıyoruz. Tabi tartışmaya açık. Ama ben bu anlaşmazlığı da yararlı görüyorum; bu sayede düzeltiyor, düzeltiliyorum.

Trigger iyi bir yöntemdir; bu mantıklı bi soru oldu şimdi. Çünkü gayet açık, animasyon, atlama, zıplama yok işin içinde ;). 20-30 trigger hiçbir şey değildir. Transistörlerine güven biraz :). Çok açık söylüyorum, sistem çok kötü değilse 500 tanesi FPS düşüşü yaşamadan çalışır "UE4"de. Daha önce bir yerde söylemiştim ama fizik hesaplamalarında en kolay hesaplanandan zor hesaplanana doğru şu şekildedir:
Sphere < Capsule < Cylinder < Box < Mesh