3D Camera Falloff


#1

Wiem że moje pytanie komuś może wydać się głupie i naiwne, ale wie ktoś może jak w unity zrobić takie delikatne przenikanie krajobrazu w tle zależne od odległości aż do koloru nieba? wiem że kamera ma opcję ścinania mapy i wyświetlanie obiektów tylko do granicy punktów, ale to jest nagłe ścięcie takie, a ja bym potrzebował coś jak mgłę tylko o wiele rzadszą i “rozpoczynającą się” dopiero dalej na widnokręgu i stopniowo gęściejącą aż do koloru nieba żeby ukryć tę granicę zanikania renderowania obiektów…

Szukam tego po necie i na yt i albo jestem ślepy albo wyskakują same tutki pod camera follow a nic z wyglądem… yhm, głupieję na starość :confused: .


#2

unity fade to skybox

Pytanie nie jest ani głupie ani naiwne. Właściwie jest bardzo ciekawe, a rozwiązanie wbrew pozorom wcale nie musi być proste.
Nie wdając się w szczegóły: https://github.com/keijiro/KinoFog

Implementacja wykorzystuje Cubemapę i teksturę głębi, więc nie zadziała z proceduralnym Skyboxem. Wszystko co renderowane przed Skyboxem zostanie zblendowane.
Jeśli interesują cię inne rozwiązania - to pytaj.
Swoją drogą, zastanawia mnie po co ci to? Jeśli chodzi o LOD to lepszym rozwiązaniem jest LODGroup + Fade. W przeciwnym razie odpowiednio ustawione Far Clipping Plane wygeneruje macierz projekcji, która odpowiednio zmniejszy obiekt zanim zostanie wycięty. Jedyny wyjątek to obiekty rzędu kilku tysięcy jednostek. Wtedy Skybox może je przycinać. Dodatkowo jeśli proceduralnie tworzysz siatkę pamiętaj o obliczeniu bboxa.

Pozdro.


#3

Po to żeby kraniec mapy nie zanikał tak “nagle” a przenikał się z tłem jak perspektywa w rzeczywistości kiedy patrzysz co jest za widnokręgiem.
Normalnie gdybym chciał zrobić coś takiego, czyli powolne przenikanie “w głębię” ekranu efektem przez after effects, to wygenerowałbym sobie z 3dsmaxa zdepth dla sceny i nałożył jako maskę na dany obiekt, dzięki czemu im dalej obiekt jest od kamery tym na masce jest kolor ciemniejszy aż do czarnego co przenosi się na widzialność/widoczność całego obiektu, i cały efekt lub przejście jest milsze dla oka i nie tak zauważalne.
Ale dzięki jak coś :confused: .


#4

Mniej więcej to samo robi efekt, do którego link ci dałem.
Na podstawie zdepth blenduje cubemapę skyboxa z RT zawierającą wyrenderowane obiekty.

Prościej się już chyba nie da. Można za to trudniej :slight_smile:
Takim najbardziej as-real rozwiązaniem jest w tym wypadku obliczanie rozchodzenia się odbitego od powierzchni terenu światła (vel Multiple Atmosphere Scattering).


#5

Nono, bo to na tym by polegało w generowaniu zdepth w 3dsmaxie że program z punktu kamery generuje coś “światłopodobnego” gdzie najjaśniejsze punkty są zaznaczone na biało a im dalej tym ciemniej i w ten sam sposób co światło to generuje głębie dla mgły albo dla ostrości obrazu - zależnie od tego do czego chcesz akurat użyć :slight_smile: .
no ale chyba się dogadaliśmy, dzięki, spróbuję ten link wykorzystać, sam programistą jako takim nie jestem, a myśl o ciągach kodu budzi we mnie zimne poty na plecach i nie zdrowy odruch strachu. chociaż fakt że po kodzie wrzuconym na forum rozumiem więcej z samego jego “ułożenia”, ale to co robi dany kod to czarna magia :< .