Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Unreal Enginedeki Sıkıntılı Fizik
#1
Evet bu sorunu yaşayan bir çok kişi olmuştur tahmin edebiliyorum , fakat şirketler bu ciddi sıkıntının üstesinden nasıl geliyorlar ? Unreal Engine'de fizikler iyi olsa da bazı kısımları acayip sıkıntılı. Mesela yerde simüle edilmiş bir şeyin üstüne atlarsanız sizi Allah'a yolluyor. Yada ağır bir şey çok hızlı dönüyor ve önüne geçiyorsunuz , normalde size vurup savurması gerekirken duruyor ve bükülüyor.

Geçenlerde Back4Blood diye bir oyun çıktı Unreal ile yapılmış. Göz gezdireyim dedim adam zombileri vuruyor ragdollar havada uçuşuyor. Bazen bug oluyor sağa sola fırlıyorlar. Kocaman şirket bile üstesinden gelememiş bunun. Unreal ile fiziksel oyun yapmak cidden sıkıntılı. Yok mu bunların bir çözümü? Neden bunları bile bile güncelleme sunmuyorlar. En basitinden bir araç yapsanız bir yere takılsa havaya uçuyor. Bir yere çarpıyorsun yine uçuyorsun. Üstüne atlıyorsun araçla beraber uçuyorsun. Hiçbir cismin ağırlığı konumu yok.Bu sorunları sağlıklı şekilde aşabilen var mı aramızda? Çünkü kocaman şirket bile gına gelip uğraşmamış salmış. Zombiyi vuruyor adam zombi duvara uçup ordan adama uçuyor şaka gibi Big Grin
Ara
Cevapla
#2
Fizik motorunun mükemmel olduğunu kesinlikle iddaa etmiyorum ancak olayın içine yeterince müdahil olduğunuzda çözeceğinize eminim. Mesela dediğin uzaya yolculuk olayı, öncelikle bunun neden ve nasıl olduğunu açıklayayım;

Bir topu ele alalım, vurabildiğiniz kadar sert bir şekilde yere vurup sektirin en fazla birkaç metre yükselecektir, suya fırlattığınızda ise sadece birkaç cm. suya dalıp çıkar.
Aynı topu yeterince kilolu biri eline alıp birkaç metre derinliğindeki suya atlasın ve topu suyun altındayken bıraksın, kişinin kilosuna ve dalabildiği derinliğe göre top 10 metreden daha fazla yukarıya fırlayacaktır.





Senin söylediğin durumda aslında bundan farksız, ilk bakışta saçma ancak fiziksel olarak mümkün, peki neden oluyor?

Aynı toptaki gibi aslında obje çarpıp geri fırlamak istiyor ancak fiziksel collision olması gereken yerden daha geride olduğu için visibility collision ile çakışıyor ve suya dalmış top misali fırlayıp gidiyor.

Benim oyunu aldın mı bilemiyorum ancak üst üste spawn durumları haricinde böyle bir şeyi göremezsin neden?

Screenshot_1.png

Screenshot_2.png

Fiziksel collision gördüğün üzere aracın hiçbir yerini dışarıda bırakmayacak şekilde ayarlı hatta gerçekliğe uygun olması adına üst kısımlar sadece boru olduğu için mermilerin araç içinden geçip gidebilmesi için ortası dahi boş, sağ üstte gördüğün mass değeri gerçeğe yakın yani bu araç bir yere çarpsa dahi 729 kiloluk bir obje gibi davranıyor, biraz evvel dediğim spawn anında iç içe geçme durumu haricinde ki bunun içinde spawn sonrası araçlar 5 sn. boyunca birbirini bloklamıyorlar, nadiren de olsa olabiliyor ki bu durumda kendi ağırlığına yakın bir obje ile çakıştığı için bir miktar yukarıya fırlayabiliyor ancak ağırlığı düşük küçük bir fiziksel obje ile çakıştığında araç değil obje fırlayıp gidiyor. 2. resimde gördüğün lastik collision ı, fiziksel collisiondan 1 tık daha büyük böylece tekerlek hiçbir zemine saplanamıyor yani deniz-top durumu imkansız. 

Gelelim Back4Blood kısmına, bunun 2 açıklaması var;
1. Oyun motoruna yeterince hakim olmayan deneyimsiz ekip,
2. Tüm kontrolleri tek tek yapması gereken ama var olmayan, yani yetersiz ekip.

Bu tarz oyunlarda bir sahnede dahi yüzlerce fiziksel obje olabilir, unreal ile uu bize göre santimetre olan ölçü birimine göre çizilmesi gerekir ancak dediğim gibi motora yeterince hakim olmayan deneyimsiz bir ekip tarafından oluşturulan assetler gerçek mass değerlerini yansıtmayacağı için problem olacaktır, aynı şekilde statik ve skeletal meshler için fiziksel ayarlarının ve fiziksel materyal ayarlarının doğru yapılması gerekir.
Yetersiz ekip kısmında ise oluşturulan her obje için collision testlerinin doğru yapılması, çakışmaların tek tek kontrol edilmesi gerekir ancak bu tester ekibi de başlı başına maliyet olduğu için şirketler üzerinde pek durmamakta.

Control adı altında bol ödüllü bir unreal oyunu var duydunuz mu bilemiyorum, bu oyunun neredeyse tüm olayı da çevre objelerinin çoğunun fiziksel olması, adamlar fiziklere dikkat etmeseler bu tarz bir oyun yapmaları imkansız. 
Uzun lafın kısası durum düşündüğün gibi vahim değil aslında sadece dikkat ve uğraş gerektiriyor, emeksiz de yemek olmuyor :Smile kolay gelsin.
Ara
Cevapla
#3
Simüle edilmiş objenin üstüne temas edildiğinde verilen tepkinin ayarları Character Movement Component > Character Movement: Physics Interaction parametreleri ile ayarlanıyor bu arada.
Özelden sorulan UE4 soruları cevaplanmayacaktır...
Cevapla
#4
Nonlinear arkadaşıma 100 de 100 katılıyorum. Hepsi bilgi ve zaman meselesi.
Ara
Cevapla
 


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  UNREAL ENGİNE 4.1.2 FAKAT BU SORUNLA KARŞILASIYORUM yegindogukan 2 271 18-08-2021, Saat: 14:26
Son Yorum: Jacky
Question [ACEMİ SORUSU] Unreal Engine öğrenmek ne kadar zamanımı alır? ...RED... 8 778 04-07-2021, Saat: 15:16
Son Yorum: Cnrtnbl
  Unreal Engine Mimari görselleştirme yoruk 1 189 24-06-2021, Saat: 23:35
Son Yorum: erginegider
  Unreal Engine 5 leonscottkfm 1 394 13-05-2021, Saat: 17:14
Son Yorum: Güray
  Unreal Engine Crash Reporter faarukbulut 4 1,918 10-05-2021, Saat: 00:14
Son Yorum: erginegider
  Unreal Engine 4 Sistem AvarelCoo 9 14,905 04-05-2021, Saat: 19:19
Son Yorum: erginegider
  [ACEMİ SORUSU] Unreal Engine Kıyafet, Zırh hakkında cankaya05 11 905 10-03-2021, Saat: 17:39
Son Yorum: cankaya05
Question Unreal Engine 4 ''An Unreal process has crashed'' hatası dc021x 3 761 23-01-2021, Saat: 14:52
Son Yorum: nonlinear
  Unreal Engine Yeni Discord Topluluğu DuFFy 2 461 10-01-2021, Saat: 16:13
Son Yorum: DuFFy
  [ACEMİ SORUSU] Unreal Engine 4'e Türkçe Dil Desteği? mcYaralı 2 580 31-12-2020, Saat: 14:04
Son Yorum: Jacky

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.