Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Dinamik Stationary ışıklar.
#1

Merhabalar arkadaşlar.

Yine yeniden hiçbir yerde olmayan cins cins konuları huzurunuza getirmeye devam ediyorum. Big Grin

Sevgili unreal, stationary ışıklara cascaded shadow getireceği yok. Stationary ışıkların render edilen gölgeleri beni hep rahatsız etti. Kendi kendime bir Bp aktör oluşturarak bir düzen kurmayı hedefledim.

Bu düzende örnek aldığım oyun? Evet biliyorsunuz Kall of duti. Smile Bu herifler yüz yıldır aynı teknikler ile oyun geliştiriyorlar. Araklamak istediğim düzen onların ışık düzeni. Kısaca şöyle özetlemek istiyorum.

Onlarda stationary light spotlight diye geçiyor. Bu ışıkları genellikle lambaların altına atıyorlar. Geri kalan ışıkları static. Yalnız durum biraz karışık. Gözlemlediğim kadarıyla ışıklarının radius değeri neyse o kadar mesafe yaklaşınca kendilerini dinamik ışık olarak çeviriveriyorlar!





Ekran dışına çıkınca da kendilerini kapatıyorlar!





Ayrıca bu dinamik ışık sayısı da 4-5 yani ekrana maksimum 4 veya 5 dinamik ışık girebilir!
(Ekrana giren max dinamik ışık ayarını bir iki oyunlarında kullanıcıya bırakmışlardı geri kalan oyunlarında stüdyonun belirlediği sayıda!) Bu da uzaktan yakına bir düzenleme üzerinde yapılıyor gibi görünüyor. Yani bize yakın olan 4 dinamik ışık çalışıyor daha uzakta ama alanımızda olmasına rağmen diğer ışıklar çalışmıyor!

Peki ben ne yaptım?

Bir Bp actor oluşturdum ve içerisine stationary ve movable ışık koydum. Bir adet collision top! Temel bir radius değeri belirledim bu değer iki ışığın ve collision topunun alanını belirliyor. Dolayısıyla ışık ne kadar uzaksa collision da o kadar büyük oluyor.

HSEQUkK.jpg

Işıkların diğer ayarları birbirlerinin aynısı. Construction scrip ile radius intensty outer ve inner angle gibi değerleri ortak olarak kullanıma soktum.

HSEQuCYl.jpg

 Ayrıca movable ışık bp aktörde ölü yani intensity 0 olarak doğuyor. Bunu yapmamın sebebi 20 30 tane kullanırsam bu şeyi (ki rahat kullanırım bir level için) oyun başlarken hepsi aynı anda belirlenen değerden 0 a ayarlanmasın! Hangi aktöre giriliyorsa orada 0 dan doğsun istedim.

HSEQhmb.jpg

Sonuçlar.

Öncelikle lightmap çözünürlüğü

HSER3Cj.png

Sadece Stationary.

HSER9N1.jpg

Sadece Dynamic.

HSEQFSV.jpg

Stationary + Dynamic

HSERgny.jpg

Static+Dynamic ışık olarak denemek sitedim ama static ışığın hiçbir şeyine karışamıyoruz. mecburen stationary ışık ile karıştırdım.

Video.





Soruları sıralıyorum. Idea

-Her şeyden önce Farklı bir fikir sunabilir misiniz? Eksik gördüğünüz şöyle daha iyi olabilir dediğiniz herhangi bir şey?
-Karakter bu topların içinde doğarsa sattionary ışık movable ile kendilerini değiştirmiyor bunu çözemedim.
-Cod da olduğu gibi ekrana girebilecek maximum movable ışık sayısını bu bp actorü içinde hesaplatabilir miyiz? Ayrıca belirlediğimiz max değer gelince uzaktaki ama collision a girdiğimiz Mov ışıkları çizmeyecek?
-Yine cod da olduğu gibi kıçımızı bu ışıklara döndüğümüzde arkamızdan kapanmasını sağlayabilir miyiz? Ya da buna gerek var mı? Zaten unreal arkanı döndüğünde çizmiyor derseniz bilemem!
-Stationary veya movable ışıklar için hangi ayar performans için önemlidir?Bildiğim kadarıyla stationary ışıklar zaten ucuzlar? Onu çok kurcalamak gerekmiyor?

Şimdiden yardımlarınız için teşekkürler. (öpücük atmak istedim ama icon yok. Big Grin )
Ara
Cevapla
#2
Hola!

- Aklıma gelen farklı bir yöntem yok. Zaten Static light ile çalışmayacağını da biliyorsun. Stationary o kadar ucuz bir ışık kaynağı olmasa da movable aktif edince onu iptal ettiğin için sıkıntı olacağını sanmıyorum.

- Karakter top içinde doğarsa overlap event'ten tepki alamaman normal. O BP içinde top için Get Overlapping Actors fonksiyonunu kullanıp kontrol edebilirsin. Çıkış pinindeki array'i loop tan geçirip oyuncu Pawn'ı mı değil mi kontrol edersin, buna göre iki ışık arasında geçiş yaptırırsın.

- Was Recently Rendered diye tam istediğin şeyi yapan bir fonksiyon var aslında ama malesef bu ışık kaynakları ve volume'leri kale almıyor malesef. Onun yerine şöyle birşey olabilir; karakter ışık topu ile overlap edince karakterin ışığa doğru belli bir açı içerisinde bakıp bakmadığını kontrol ettirirsin. Eğer ışık bu açının dışındaysa stationary'ye geçirirsin.

- Kullanacağın ortamda uzaktan farkedilir olmayacaksa eğer stationary ışıklar için Cast Dynamic Shadows seçeneğini iptal edebilirsin yükü az da olsa azaltması açısından. Böyle olunca uzaktan baktığında bu ışık skeletal mesh ve movable objelerde gölge vermeyecek, ona gör bak işte.

Yine benden başka cevap yazan olmadı, idare et artık :p
Özelden sorulan UE4 soruları cevaplanmayacaktır...
Cevapla
#3
Abi beni kimse anlamıyor. Big Grin

Dün şöyle bir düzen geliştirdim ve bunu yaparken de kafamdaki bazı taşlar yerine oturdu! Mesela cod da outer angle 120 den yukarı inner angle da ise 90'dan yukarı çıkamıyoruz!(bu değerler unreal da 60 a 45)

Birinci topun içine ikinci top yaptım ve radius arttıkça ikinci top da hem lokasyon(aşağı doğru) hem çap değiştiriyor! Fark ettim ki o topun tam sınırında kalıyor yukarıda ki gibi codda olduğu gibi ışıklara sınırlama getirirsem! Lan yoksa onlar da mı? diye düşündüm. Big Grin






Şöyle bir şey yapmaya çalışıyorum. İlk topa girince çalışacak ama 2. top ekrandan çıkarsa yine dinamik ışık devreye girmeyecek! Bu sayede birinci topa girsem de 2. top görünür olmazsa çalışmayacak.
Bu topa bakıp çalışma çalışmama gibi bir yöntem kurabilir miyiz? Böyle olursa sanırım 1. topa girdiğimizde sürekli bir çalışma olacak? Ya da bilemiyorum kafam gerçekten çok karışık ve bp bilgim de ortada.  Big Grin


Help. Angel

Edit: Ben yine Get overlapping actors'dan ileri gidemedim resimli bişiyler yapabilir misin? Smile
Ara
Cevapla
#4
Şimdi, öncelikle 60-45 sınırlaması o BP içinde yapılıyor değil mi? Çünkü normalde spotlar slider da 80, elle değer girersen 90 derecelik koniye kadar açılabiliyor.
2. topa neden ihtiyacın olduğunu anlayamadım. Açı ayarlamak için kullanacaksan ayrı da görünür mü değil mi sordulaması için bir işe yaramaz şu anda. Bir obje önünde mi değil mi sorgulamasını yapmak için ışık BP içinde şu hesaplamayı yapabilirsin:


InView_zps3f59r4b7.jpg


Obje ekranın tam ortasında iken değer 1 civarı olur, oradan -1(tam arkada) e kadar gider. Buna göre kendin bi aralık belirleyip kontrol edebilirsin.


Get overlapping actors de şu şekilde:

overlapactor_zpsblyd1kak.jpg
Özelden sorulan UE4 soruları cevaplanmayacaktır...
Cevapla
#5
Abi discordu niye bıraktın ki ya. MMORPGFPS ler sa lar öksüz kaldı.  Big Grin

İkinci topu şu yüzden koydum. Birinci topa girince movable ışık dönüşümü olacak ama 2. top ekrana girmiyorsa! Yani kıçımızı dönüyorsak o topa movable ışık kendini dışarıya çıkmışız gibi kapatacak! Yani 2. top ışığa bakıp bakmadığımızı ekrana girip girmediğini motora söyleyecek! Dedin ya ışık için böyle bir şey mümkün değil diye. Heh işte bu işi o top yapacak eğer yapabiliyorsa? O 2. top ikinci kapı gibi bişiy olacak yani o ekrandaysa movable ışık devreye girecek ekranda değilse ve biz 1. topun içinde bile olsak çalışmayacak. Anlatabildim mi?


Edit. Abi paylaşıyorum bp yi kontrol etmek istersen.
https://drive.google.com/open?id=18Yal1w...UMeD52_EjW

Edit2: Abi son get overlapping meselesinde gördüğüm kadarıyla oyun başlar başlamaz bir tetik yiyor bp değil mi? İçrideysek çalışıyor sadece anladığım kadarıyla? Şundan sbep sordum bir level'da 30 tane yapsam bundan aynı anda bunların tetiklenmeleri bir ağırlık verirler mi? Edit3: Yapmayı becerdim bu arada çok teşekkürler.
Ara
Cevapla
#6
Alıntı:Abi discordu niye bıraktın ki ya. MMORPGFPS ler sa lar öksüz kaldı.

Haha... yakında yeni discord kanalı açacağız. Oraya gelemeyecekler malesef. :) Zaten yeni projeye başladım bu sıralar eskisi kadar boş zamanım yok.

2. top o işi görmez, nedenini ilk cevapta söylemiştim. Was recently rendered göremiyor o tür nesneleri. Onun için paylaştığım ilk resimdeki hesaplamayı kullanman gerek. Ben orada Tick ile yaptım ama sen büyük top karakterle overlap edince aktif hale getireceğin bir Timer(Set Timer by Function Name veya by Event) ile yapacaksın sadece. End overlap ile de o timer'ı durduracaksın.
Dün gece yolladığın BP ye ekleyip gönderecektim sana ama elektrik gitti ben de dellendim bıraktım. :p Takıldığın bir yer olursa söyle hazırlarım ama.
Özelden sorulan UE4 soruları cevaplanmayacaktır...
Cevapla
#7
İlgilendiğin için çok teşekkür ederim. Dün gece abidik gubidik şeyler yaptım. Mesela o dediğin was recently rendered cümlendeki volume kısmını görmemişim. Dediğin gibi collision'ları görünmeyen volume leri vs sallamıyor. Ancak bir koni yaptım saydam.(Bak çok akıllıyım Big Grin ) koninin sadece üç yüzeyi var. (Öyle akıllıyım ki saydamlıkdan sebep overdraw olmasın diye ahh ahh neyse) Radius a göre skalası genişleyip değişiyor. Onu da beceremedim. Söylediğin teklifte yalnız kıçımızı ışığın altındayken de dönebiliyoruz o zaman da arıza çıkartacağını düşünüyorum. Ayrıca pek yapamadım o uygulamayı. Yani yaptım gibi oldu ama yapamadım. Sen benim ne yapmak istediğimi anladın ya gerisi önemli değil. Smile

Bu son hali. Aklına gelen bir şey varsa yapabilir misin?
https://drive.google.com/open?id=1TrNgLp...ycyo9CUrjM
Ara
Cevapla
#8
https://drive.google.com/open?id=1nwl2Pw...b_v_SBHLYm

CHN klasörünü direk Content içine at. Burada 2 varyasyon var;

1. Işık belirlenen 0-1 değeri arasında mı değil mi ekranda diye kontrol ediyor. In Range min değeriyle oynayıp kendin bir değer belirleyeceksin.
2. Bahsettiğin koni mesh sistemi. İyi fikir aslında ama onun da sorunları var. Bunda görünmez materyale sahip koni render edildi mi edilmedi mi kontrolü var.

BP ler içine de notlar düştüm. İkisini de dene bak bakam.
Özelden sorulan UE4 soruları cevaplanmayacaktır...
Cevapla
#9
Valla çok güzel olmuş eline sağlık.  Big Grin

Şimdi neticeleri açıklayayım.

-1 +1 değeri verilen spotlight bp inde ne yaptım ettiysem bir düzen oluşturamadım. Işığın altına girip biraz ilerleyince tak diye eksiye düşüyor. nasıl bir çözümü olur onun bilmiyorum? (yani ayar tutmayacağa benziyor.)

Ancak spotlight2 benim işimi görüyor görünüyor. Koni üzerinde biraz uğraştım. Biraz aşağı aldım ve genişlik yükseklik hesaplarını değiştirdim. Son haliyle iki sahne yaptım biri 550 diğeri 1000 çaplı. İkisinde de sıkıntı çıkarmadan ışığın dışına baktığımızda yok etti! Yalnızca aşağı bakmalarda ışığı yok etmiyor. İlk gönderdiğin hali aslında olması gereken çap ve boyu ama f5 e basarsam yeşil ekranda nesne kaybolunca bp çalışıyor ancan lit ekranına geçince ekrandan çıkınca bp çalışmıyor! Çok garip di mi?

HSY1o65.jpg

Bir de yanlış anlamazsan abi spotlight2 bp sinde doğarsam düzen çalışmıyor onu nasıl çözebiliriz? Shy





Koni'nin düzenlenmiş hali.

HSXWqbF.jpg

Ayrıca unlit yapınca materyali daha açıldı overdraw rengi. Bu koninin getireceği bir iş yükü var mı?(Bu konuda ne diyorsun?)

HSXVXS6.png

Ben bunu paylaşmak istiyorum ama çok doğru çalıştığına henüz kanaat getiremedim. Ne dersin sence unreal forumlarında paylaşıp onlardan da bilgi alalım mı? He dersen arkadaşla bu düzeni anlatan bir makale hazırlayıp buradaki gibi bilgi isteyeceğim. Big Grin (Çok da bilgi verebileceklerini düşünmüyorum aslında ya neyse. Rolleyes )

Çok teşekkürler yardımların için.  Heart (öpücük ekleyin artık. Big Grin)
Ara
Cevapla
#10
Alıntı:Bir de yanlış anlamazsan abi spotlight2 bp sinde doğarsam düzen çalışmıyor onu nasıl çözebiliriz?

Sorun şu, söylemeyi unutmuştum, BP_Cone içerisinde mesh'i seç ve Bounds Scale değerine bak. Bunu düşürmem gerekmişti yoksa koni büyüdükçe bounds da büyüyüp render alanı da büyüyordu. Örneğin, sen açıyı dar tutsan da attenuation değerini arttırıp mesh'i uzatınca objenin render sınırları da o kadar genişliyor. Onu biraz daha aşağı çekip denemeler yapabilirsin. Büyük ihtimal aşağı bakma sorununun da nedeni budur.

Alıntı:Ben bunu paylaşmak istiyorum ama çok doğru çalıştığına henüz kanaat getiremedim. Ne dersin sence unreal forumlarında paylaşıp onlardan da bilgi alalım mı?

Bana ne soruyorsun yaw? D: Community Contents bölümünde paylaşacam diyorsan senin içine sindiği sürece git paylaş. Hem başka fikri olanlar geliştirmene yardımcı olabilir hem de hayır duası alırsın. :P He, BP bölümünde soru soracam diyosan beklemen hata, git sor çalışsa da çalışmasa da.
Özelden sorulan UE4 soruları cevaplanmayacaktır...
Cevapla
 


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Dinamik Aydınlatma alpery 3 1,282 12-03-2016, Saat: 19:07
Son Yorum: alpery

Hızlı Menü:


Unreal Engine Türkiye

This forum is only for fans and support. It has nothing to do with Epic Games.

Bu site sadece fan ve destek amaçlıdır. Epic Games ile bir ilgisi yoktur.