Як я можу створити об'ємний туман на висоті?


10

Останнім часом я шукав методи, щоб зробити об'ємний туман на якомусь рівні Y-позиції в ігровому світі. Але все, що я знайшов, - це якийсь туман, зроблений за допомогою системи частинок або вбудованого туману в двигун, який не дуже відповідає тому, що я шукаю.

У моєму випадку мені потрібен туман, який є і ефективним, і густим. Це повинно бути у всьому ігровому світі, але очевидно, що з міркувань продуктивності його можна відображати лише як частину камери або шейдера і виглядати так, що він рухається, хоча це просто ілюзія. Я міг би встановити систему частинок, якщо це найкращий вибір, приєднати її до камери і змусити її рухатись.

Тож головне питання все ще залишається - як я можу реалізувати об'ємний туман, який є густим та ефективним?

Як особливий двигун, який я використовую, це Unity.

Як приклад, що я маю на увазі, ось посилання на гру з ефектом, який я шукаю: Astromike

Приклад скріншоту з гри з використанням густого туману на висоті.


Тут трохи нобіля GLSL, а як бути з тонуванням пікселів у фрагменті шейдера на основі їх координати Y, яку ви отримаєте з вершинного шейдера?
Квентін

2
Ви переглядали розмову Unity на тему "Спецефекти з глибиною" ? Хоча зараз уже кілька років, принципи все ще діють. Вони охоплюють як туман, орієнтований на висоту, так і "пухнастий туман", який басейнується на порожніх просторах і стоншується навколо перешкод, а оскільки всі приклади є "Єдність", це слід легко застосувати.
DMGregory

@Quentin Так, гарна ідея, хоча це буде шейдер на об'єкт правильно? Тоді потрібно буде змінити багато шейдерів. Я теж нобу в шейдерному програмуванні, тому я, можливо, написав дурниці. Але наскільки я знаю, вершинні шейдери застосовуються до об’єктів. І забарвлення може не дати ефекту руху. Я розумію, що якщо я хочу рухатись, кожна дрібниця, яка рухається всередині, повинна бути об'єктом, тому система частинок може бути найкращим шляхом.
відвертий Місяць _Max_

@wondra так, це може бути не найкращим підходом, якщо це правда, прозорість важка для продуктивності.
відвертий Місяць _Max_

1
Списки також не підходять для нашого формату запитань, оскільки коли список заповнений? Скільки "різних ситуацій" достатньо? За якими показниками ми оцінюємо "найкраще"? Зазвичай цей формат найкраще відповідає чітко сфокусованим питанням з відповідями, які ви можете підтвердити. Тож якщо ви відчуваєте, що у вас є відповідь, яка відповідає вашим потребам, то насправді краще відредагувати своє питання, щоб в першу чергу звузити його до того, що вам насправді потрібно, а не залишати на нього занадто широкий і неповний відповідь. Інші користувачі завжди можуть задавати інші питання, характерні для інших аспектів, отримуючи більш цілеспрямовані відповіді, що стосуються їхнього випадку
DMGregory

Відповіді:


24

Я творець Астроміки. :)

Насправді я використовую досить простий трюк, щоб зробити його схожим на туман. Я розробляю Astromike за допомогою Unity, тому якщо ви використовуєте Unity, ви можете зробити те саме. Але я припускаю, що ви можете відтворити той же шейдер для інших двигунів.

Що я роблю, я встановлюю площину для туману і додаю матеріал із шейдером "Частинки / Альфа", змішаним з шматочком м'яких частинок (у моєму випадку - 0,32). Це воно.

Лінія туману: http://imgur.com/a/MAEFW

Налаштування: http://imgur.com/NJVAaIQ

Він працює для мене через кут камери і може не працювати для інших людей.

Решта - це лише стек після ефектів (Bloom, Vignette тощо). Сподіваюся, що це допоможе. Ура.


1
Оце Так! Класно, дякую вам за обмін! Гра дивовижна :)
відвертий місяць _Max_

Це виглядає приголомшливо і так просто, спробував це зробити у своєму проекті. Здається, працює лише за допомогою перспективної камери (наша гра ортографічна).
Джефф

це занадто добре, щоб бути справжнім хаха приємний
Лестат

Привіт @ Mikea15, дуже приємна гра! На жаль, мені не вдалося відтворити згаданий вами ефект - я додав Bloom до стека обробки даних, однак він поширюється на об’єкти, навіть якщо площина туману знаходиться за ними (не дивно), тоді як у вашій демонстрації здається, що вертикальні краї стовпчики чисті від ефекту цвітіння. Також у моєму факторі м'яких частинок нічого не змінюється, незалежно від значення. Було б чудово, якби ви могли запропонувати невелику демонстраційну сцену, яка б це показала. Дякую!
Давід

@Dawid Я знаю, що це пізно, але вам потрібно встановити шлях відтворення камери на відкладений і переконайтесь, що м'які частинки перевіряються на якість в налаштуваннях проекту
Rito Ramos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.