Divinity: Original Sin 2 имеет красивую прозрачную систему. Когда я иду за стенами, появляется всплеск маски, а когда я двигаюсь по игре, она меняется. Это как растворяющий шейдер, и имеет эффект метабола.
Как я могу воспроизвести этот эффект, создавая динамическую маску всплеска, когда игроки идут за стенами?
Вы можете увидеть желаемый эффект в движении через это видео на YouTube .
unity
shaders
graphic-effects
Сейед Мортеза Камали
источник
источник
Ответы:
маскировка
Чтобы создать этот эффект, вы можете маскировать объекты с помощью буфера трафарета.
Маска Трафарет:
Настенный трафарет:
Давайте реализуем.
используйте это как маску:
используйте это как стену:
Анализ эффекта
Если вы хотите иметь процедурную текстуру , вам нужны шумы.
Вы можете увидеть этот шейдер в ShaderToy .
Чтобы создать этот эффект, вместо использования UV-координат используйте Polar Coordinates, а затем установите для него текстуру шума.
другое решение использует шум шума:
Вы можете увидеть этот шейдер в ShaderToy
Metaball
затем я добавляю эффект метабола из этой статьи :
Биллинг посадка
есть больше ...
Если вы хотите повернуть маску, чтобы посмотреть на свою камеру, вы можете использовать доску Билла :
это маска с посадкой Билла:
Конечный результат:
Источник доступен: https://github.com/smkplus/Divinity-Origin-Sin-2
Полезные ссылки
Я нашел хороший учебник, который реализовал этот эффект, Растворяя мир:
Растворяя мир Часть 1
Растворяя мир Часть 2
Еще один учебник по трафарету:
Учебник по трафарету
источник