dgnsparta

Üye
18 Nis 2022
43
-1
6
Belirtilmemiş
Merhaba arkadaşlar.

Resimde gördüğünüz gibi bir metro tünelim var. Etrafını küplerle kapladım ve küp materyalini siyah yaptım. Ancak görselde gördüğünüz gibi beyaz bir ışık hüzmesi var.
O ışık hüzmesi tünelin deliğinin sonunda da yansıma yapıyor.

Şimdi "ExponentialHeightFog" da intensity i düşürüp bir şekilde ışık hüzmesinden kurtulabilirim. Ama oyunumda bir de şehir var ve bu sefer şehir çok fazla sisleniyor. Şehirin gün ışığını etkilemeden görseldeki o grimsi ışık hüzmesinden nasıl kurtulabilirim?


qcukukk.png



Bütün küp simsiyah olmasına rağmen tünelin ucu hala grimsi. Ayrıca treni hareket ettirdiğimde o beyazlık gitmiyor. ve sürekli kendini tekrar ediyor tren hareketiyle.

lapmshz.png
 
Evet level olayını düşündüm. Ancak metro ve şehir aynı levelda olmak zorunda. Farklı leveller yaptığımda (save sisteminde sorunlar çıkıyor) oyunumun sistemi bozuluyor. Yani leveller'i birbirine bağlayıp save sistemine entegre edemiyorum. Bu yüzden hiç kafamı ağrıtmayayım aynı levelda kalsın dedim. Aynı levelda'da bu ışık sorunu ortaya çıktı.
 
geçen sorduğun soru ile aynı şey bence bu, get actor of class ile exp height fog u tünele inince hidden yap. çıkınca hidden kaldır. basit bir trigger sistemi kurman yeterli metro giriş çıkışlarına
 
Save sistemini ve levelleri düzgün bir şekilde çalıştırmak için ikisini de çok iyi planlamanız gerekmekte. Profesyonel oyun geliştiricileri şu şekilde yapıyor;

  • Level_P
  • Level_Art
  • Level_Lights
  • Level_Sound
  • Master_Light (Dir. Light, Skylight, Fog)
Level_Persistent üstünde level blueprintte barınacak olan ve save sisteminiz ile ilgili olan her türlü interaction işlemleri burada olmalı. En basitinden BP_Door adında bir kapınız var diyelim ve bu kapıyı blueprint referansından kontrol ediyorsunuz. Bu kapı Persistent levelde olmalı. Persistent level direk GameInstance ve Save sistem ile bağlantılı çalışmalı. (Planlama burada devreye giriyor.)
Level_Art kısmında Static Meshler ve Post Process ve collision bilgileriniz(Block volume vs.) bulunur ve level sadece statik bir şekilde çalışmalı. Runtime olarak bir değişiklik yapacağınız tüm actor'ler persistent levelde tutulmalı.

Bu şu işe yarıyor; aynı leveli farklı bir senaryoda kullanmak istediğiniz zaman Level02_P üstünden Level_Art ve Level_Lights levellerini çağırarak tamamen sıfırdan bir level blueprint üstünden başlayabilirsiniz ve çok daha iyi bir yönetim uygulayabilirsiniz. 

Leveller arası etkileşimlerde ise Event Dispatcher, Game Instance gibi olayları kullanmanız gerekmekte.

Asıl sorununuza gelirsek; Height Fog üstünde offset değeri ile oynayarak sisinizi metro tarafından uzaklaştırabilirsiniz.

@nonlinear'ın dediği gibi metronun içerisindeyken Intensity değerini düşürür, dışarıya çıktığı zaman veya şehiri gördüğü bazı açılarda bu Intensity değerini yükseltebilirsiniz. 

Levelleri ayırıp yukarda bahsettiğim gibi bir sistem oturtmanız daha hayırlı olacaktır.
 
Abi çok çok çok teşekkür ediyorum ya size. Gerçekten 2 gündür full bununla uğraşıyordum. Şimdi trigger'e girdiğimde exp fog u kapatıyorum. Tünelden çıkınca da açıyorum. Tünel ve şehirdeki ışıklandırma ile ilgili hiçbir sorunum kalmadı. O kadar makbule geçti ki.


Bu ayrıntılı cevap için de çok ama çok teşekkür ediyorum. İlk fırsatta bunun da denemesini yapacağım. Leveller arası geçişlerde save sisteminde hep sorun yaşadığım için bundan uzak duruyordum. Minnettarım.