Ostatnio szukałem technik tworzenia mgły wolumetrycznej na pewnym poziomie pozycji Y świata gry. Ale wszystko, co znalazłem, to mgła wykonana za pomocą układu cząstek lub wbudowanej mgły silnikowej, która tak naprawdę nie pasuje do tego, czego szukam.
W moim przypadku potrzebuję mgły, która jest zarówno wydajna, jak i gęsta. Powinno być na całym świecie gry, ale oczywiście ze względów wydajnościowych może być renderowane tylko jako część kamery lub shadera i wygląda na to, że się porusza, ale to tylko złudzenie. Mógłbym ustawić układ cząsteczkowy, jeśli jest to najlepszy wybór, podłączyć go do kamery i poruszać.
Pozostaje więc główne pytanie - jak mogę wdrożyć mgiełkę objętościową, która jest zarówno gęsta, jak i wydajna?
Jako szczególny silnik, którego używam, jest Unity.
Jako przykład mam na myśli link do gry z efektem, którego szukam: Astromike
Odpowiedzi:
Jestem twórcą Astromike. :)
Właściwie używam dość prostej sztuczki, aby wyglądała jak mgła. Tworzę Astromike za pomocą Unity, więc jeśli używasz Unity, możesz zrobić to samo. Ale zakładam, że możesz również odtworzyć ten sam moduł cieniujący dla innych silników.
To, co robię, to ustawienie samolotu na mgłę i dodanie materiału z włączonym shaderem Particle / Alpha Blended z Soft Particle Factor (w moim przypadku 0,32). Otóż to.
Samolot przeciwmgielny: http://imgur.com/a/MAEFW
Ustawienia: http://imgur.com/NJVAaIQ
Działa to ze względu na kąt kamery i może nie działać dla innych osób.
Reszta to po prostu stos efektów (Bloom, Winieta itp.). Mam nadzieję, że to pomaga. Twoje zdrowie.
źródło