Мы делали ремастер
целый год
Gamedev
Арсений Мирный

Как писать шейдеры в юнити. Часть 1. Поверхностный шейдер

Видео для людей с базовым опытом и знаниями в Unity, которые хотят слегка углубиться в тему и структурировать понимание. Для новичков может не совсем подходить – заходит с места в карьер.

PS. Видео не моё, поэтому вопросы лучше задавать автору на трубе.

0
33 комментария
Популярные
По порядку
Написать комментарий...

Ну чувак. Ссылка на другой не свой источник и вопросы все туда.

2

Ну, увы, я поделился уроком, который мне понравился, но пометил, что не автор, чтобы убрать ложные ожидания.

4

а смысл? знаешь сколько обучающей информации по геймдеву, если каждый будет делится и кидать ссылку на чужой источник и все вопросы туда, ну как бы зачем... тем более тема шейдеров непростая

0

Ну, смотри: народ преимущественно оценил позитивно. Значит двигаемся дальше!

–1

Засрать раздел геймдев ссылками на чужой материал )) А как же авторство и интересные диалоги с аудиторией

1
Огненный велосипед

Сначала плюсанул, а потом дочитал до конца...
И только хотел задать вопрос по теме, а тут все на Ютуб...

2

А я еще жаловался на нодовые шейдеры. Не, лучше уж они, нежели код писать.

–1

А я еще жаловался на нодовые шейдеры. Не, лучше уж они, нежели код писать.

Нодовые шейдера нужны людям, которым достаточно набросать 3 кнопочки и отправить в продакшн, больше это недоразумение ни для чего не нужно.
Всё что сложнее пары строк кода выльется вот в это.

0

Это пример того как рукожоп собирает шейдер в графе. Который не слышал про возможность объединять куски шейдера в функции, и оптимизировать сам шейдер. Так что, скриншоты показывают как делать НЕ надо, а не то что визуальный редактор шейдера и все что в нем сделано это де факто гавно.

–1

С удовольствием бы посмотрел как ты будешь писать кастомные шейдера из сотен строк кода с кучей макросов/дефайнов, но боюсь что у меня нет на это свободных недель. Именно столько у тебя займёт переписывать то, что я пишу в десятки раз быстрее.
Особенно в свете того, что в шейдерграфе нет половины нужного функционала и его уже можно смело закрывать даже если нет хотя бы одной фичи.
Любой простой шейдер из пары сотен строк кода превращается в макаронного монстра. Готов поспорить что твои шейдера (если они есть вообще), занимают не больше пары десятков нодов стыренных из инета.
Ни о каких ddx/Interlocked/compute шейдерах я даже не завожу речи. ред.

1

Я не пишу шейдеры, их пишут тех артисты, я просто рядом стою =)

0

Тогда у тебя очень странные выводы и суждения о написании шейдеров.
Как бы красиво не преподносили визуальные шейдера как панацею, на деле сами разработчики юнити не используют их, и все их нативные шейдера написаны кодом. А там на минуточку больше тысячи шейдеров (включая BiRP/URP/HDRP)

0

sub graph заюзать?

0

Я выше отвечал уже почему шейдерграф говнина. В нём нет половины функционала, а в шейдерах если нет даже одной функции/параметра, то это уже критично. Например, без interlockedMin невозможно написать корректный screen space planar reflection. И вот что прикажешь делать? И таких примеров я могу привести вагон.

0

Эта кастомная нода позволит мне поменять ztest, offset, zclip и т.д.? Или писать компут шейдера?

0

Урок не очень актуальный, под URP/HDRP там жесть каша с самописными шейдерами

0

а нужны эти URP/HDRP ? Что они дают?

0

Пайплайн высокой детализации и универсальный. Помогают делать игры с более современной графикой HDRP, либо универсальные игры URP (от простой графики до сложной в рамках одного проекта и рабочего процесса).

Но они более требовательны к железу разработчика и его навыкам.

Материалы, эффекты, освещение – там много аспектов может быть гораздо лучше, чем в старом рендере.

0

Помогают делать игры с более современной графикой HDRP, либо универсальные игры URP (от простой графики до сложной в рамках одного проекта и рабочего процесса).

Вот, потом эти новички бегут скорее качать URP и удивляются что в нём 4 года нет теней от точечного источника света, и вообще отваливается пол проекта.
Нужно говорить как есть. Юнити начали за здравие, когда сделали отличную абстракцию программируемого конвеера рендеринга SRP, а закончили за упокой, когда представили две версии SRP в лице LWRP и HDRP.
Какой-то конченый горе маркетолог решил что будет круто иметь 3(!) разных конвеера рендеринга, полностью отличающегося между собой во всём. От названия переменных, заканчивая параметрами редактора.
Сначала они позиционировали LWRP как демку для low-end старых устройств, а HDRP как демку для видео-презентаций. А потом решили, а почему бы из этого франкенштейна не продолжить лепить нечто. В итоге старый рендеринг быстрее в несколько раз чем HDRP с той же картинкой, надежнее и документированнее.
Поэтому если цель - купиться на красивую обёртку, то стоит выбрать URP/HDRP. Если цель выпустить проект - то оставаться на стандартном рендеринге.

4

А есть где нибудь одна и та же сцена с простым рендером и hdrp например? У Юнити?

Я вижу ассеты с заявленным новым рендером, но мне не понятно с чем там не мог справится простой рендер.

0

Более реалистичная атмосфера и светотень, например (в первом ещё почему-то для HDRP не настроен туман также, как для старого рендера) ред.

0

Спасибо за пример. LWRP просто без карты запекания света. Я понимаю что HDRP наверняка делал все расчёты в реальном времени, но стоило ли это того?

Вот я добавил контрастности и пригасил насыщения левой стороне картинки, там где растительность лучше конечно не стало, но вот там где просто скалы, картинка стала гораздо ближе к правой стороне, а ведь это просто пост обработка.

0

Спасибо за пример. LWRP просто без карты запекания света. Я понимаю что HDRP наверняка делал все расчёты в реальном времени, но стоило ли это того?

HDRP ориентирован на визуальное качество, поэтому из коробки доступны рейтрейсинги, физически корректное рассеивание света с физическими параметрами, множество типов узкоспециализированных шейдеров/материалов и ещё куча эффектов (контактные тени/screen space GI/физическое небо/облака/...) и современных техник (тайловый рендеринг, асинхроные вычисления, dlss/fsr/...).
Основная цель HDRP была реализация тяжелых современных алгоритмов для максимального приближения визуальной картинки к физическому рендерингу. Визуально это не всегда оправдано, но жрёт это всё немерено.
Сравнение на картинках убогое, потому что в нём не возможно оценить новые фичи, потому что их тупо нет.

1

Есть ситуации, где это очевидно того стоит, но пустыня реально не лучший пример)

0

В том то и дело что таких ситуаций я вижу мало. Надеялся на пример с каким ни будь фотореализмом, а получил графон из 2010-ых.

0

Вот примерные визуальные возможности HDRP.
https://youtu.be/lAcnn1qIkPw

1

Надеялся на пример с каким ни будь фотореализмом, а получил графон из 2010-ых.

0

Капец какая нужная информация, спасибо большое.

0

Спасибо.

0

Надо только не забыть посмотреть.

0

Посмотрел половину видео. Ничего не понял, но очень интересно

0

Сам тут спорил полгода назад, что лучше кодить, но в итоге переехал на граф - это удобнее, быстрее и легче освоить.

0
Читать все 33 комментария
null