Kilin

+6881
с 2022
52 подписчика
11 подписок

Бля как ты жил до изобретения OLED и пользовался мониторами? А щас блять OLED ему подавай, да омаров и крабов на завтрак.

3
1

Так декали urp/hdrp работают в скринспейсе и любой lit шейдер из коробки юзает эту скринспейс текстуру при расчете альбедо/металлик/...
То есть декали работают на все, включая траву и любой кастомный шейдер шейдерграфа.

Логичнее всего через нативные декали. Это позволяет отрисовывать заражение на любой поверхности, а так же иметь возможность использовать слои. Это буквально самый простейший и быстрый способ. В вашем случае достаточно вообще просто использовать стандартную декаль и стандартную текстуру круга. Буквально пара кликов :)

Решение визуально не очень современно выглядит. Резкое изменение цвета выглядит как костыль.

Тут несколько решений, куда более интересных:
1) для built-in использовать CommandBuffer.RenderMesh с очередью CameraEvent.BeforeReflections и переопределять G-buffer в deffered режиме.
для urp/hdrp юзать нативные декали и так же переопределять albedo/smothness/metallic.
2) использовать shadegraph
Например в shader graph samples уже есть готовые шейдера lit и lit terrain для URP и HDRP. Версию под built-in легко переделать из URP. Единственный косяк будет с инстансингом в buillt-in, но и это решаемо.
В этом же шейдере можно так же затемнять цвет буквально через простейшую функцию
float cursedAlpha = 1-saturate(length(i.worldPos.xyz - _CursedPos.xyz) / _CursedRadius);
finalColor = lerp(finalColor, cursedColor, cursedAlpha);
и в скрипте
shader.SetGlobalFloat("_CursedRadius", radius); //радиус заражения
shader.SetGlobalVector("_CursedPos", position); //начальная точка заражения

Оба варианта дают плавное смешивание. Можно ещё добавлять например шум перлина и искажать радиус заражения, что бы выглядело не как плоский круг. И ещё куча интересных фич, как например радиус заражения и по высоте (например ноги чернеют), и прочие интересные штуки.

2

Я в геймдеве лет 15, и пишу шейдера для видеокарт, ты хочешь поиронизировать о том как устроен рендер?
Давай начнём с того что 90% игр уже отрисовано нейронкой поверх растра (dlss/fsr4)
Если завтра нейронка начнёт рисовать облака/горы вдали, пока всё остальное это растр, это будет всё ещё отлично или уже нет?
В какой момент заменяя растр на нейронку, ты скажешь "а вот щас уже не игра"?
Лудиты хуевы.

А когда ты запускаешь игру, ты отгружаешь модельки? Зачем тебе их отгружать? Чтобы что?
Чем принципиально отличается рендер модельки по wasd игровым движком от нейросетки отличается? Если ты и там управляешь миром в реальном времени?

1

Проще в чс кинуть, чем слушать как дурачок повторяет одну и ту же мантру, делая вид что он всех переиграл

1

А я понял, ты ни в it, ни на заводе с 6 утра за 80к.
Ты просто теоретик-эксперт. Сравниваешь что тяжелее, будучи не работая ни там, ни там.

1