Жэсть :) Ну нафига ж введение в принцип работы шаёдеров делать сразу на готовом движке - есть же всякие FXComposer и т.п. И результат "косяка" налицо: какая-то "функция верт", координаты во float3 (три!) и т.п. Все вектора тут - четырёхмерные, т.к. умножение трёхмерного вектора на матрицу никогда не приведёт к сдвигу начала координат (попробуй, возьми нулевой вектор - его вообще умножать бесполезно ;) ). Так что изначально четвёртую координату фиксируют на единице, на последнем же этапе все три "нужные" компоненты вектора делятся на оную (третья таким образом нормируется под диапазон значений буфера глубины и используется в сравнении - и да, при необходимости её можно переписать, в т.ч. поточечно в пиксельном шейдере - производительность при этом несколько упадёт, т.к. конвеер не сможет выполнять раннюю отсечку глубины - в зависимости от режима, частично или полностью). Про альфу ты тоже зря так рано начал - довольно проблематичная вещь если движок не поддерживает OIT или сцена не сведена под его отсутствие. Оптимально использовать хотя бы alpha to coverage в отдельный таргкт с MSAA (т.к. прозрачная геометрия редко бывает достаточно сложной, потеря производительности от принудительного MSAA или даже оверсэмплинга не будет значимой - зато будет стохастический OIT "забесплатно").
Всё здорово, но... это ещё нифига не совпадает с тем что юнити вставляет по умолчанию в новосозданный шейдер и ... ищи истину где-то посередине. Но в любом случае спасибо. :D
@@Veyron104 есть хорошая онлайн книга на английском про шейдеры, она прямо с примерами, которые можно делать в браузере. Там в том числе и про фигуры будет. И полученные знания можно легко перенести на Unity потом thebookofshaders.com/
Ееее, нужно больше гайдов!
Трудновато воспринимать монотонно читаемый текст. Если у тебя получится что-то с этим сделать будет вообще супер!
Хотелось бы больше уроков и информации по шейдерам )
Очень полезное видео! спасибо
Ты лучший!
I adore this video and you)))))))))))) you god of shading
ЛУЧШИЙ ЮНИТИКАНАЛ ПРОДОЛЖАЙ
Это просто офигеннейшее видео! Респект!!!
Интересно, спасибо
Отличное видео, отличный перевод. Просто супер!
Спасибо большое, очень информативно
УФФФ нужны паузы , всё круто но с ходу такой объём инфы взрывает мозг :)
Просто сказочный гайд!
Продолжай!
сложно но инетересно)
Жэсть :) Ну нафига ж введение в принцип работы шаёдеров делать сразу на готовом движке - есть же всякие FXComposer и т.п. И результат "косяка" налицо: какая-то "функция верт", координаты во float3 (три!) и т.п. Все вектора тут - четырёхмерные, т.к. умножение трёхмерного вектора на матрицу никогда не приведёт к сдвигу начала координат (попробуй, возьми нулевой вектор - его вообще умножать бесполезно ;) ). Так что изначально четвёртую координату фиксируют на единице, на последнем же этапе все три "нужные" компоненты вектора делятся на оную (третья таким образом нормируется под диапазон значений буфера глубины и используется в сравнении - и да, при необходимости её можно переписать, в т.ч. поточечно в пиксельном шейдере - производительность при этом несколько упадёт, т.к. конвеер не сможет выполнять раннюю отсечку глубины - в зависимости от режима, частично или полностью). Про альфу ты тоже зря так рано начал - довольно проблематичная вещь если движок не поддерживает OIT или сцена не сведена под его отсутствие. Оптимально использовать хотя бы alpha to coverage в отдельный таргкт с MSAA (т.к. прозрачная геометрия редко бывает достаточно сложной, потеря производительности от принудительного MSAA или даже оверсэмплинга не будет значимой - зато будет стохастический OIT "забесплатно").
В тему продолжения шейдеров. Можешь сделать видео как сделать зеркальную "дрожащую" поверхность воды в 2D, произвольной формы?
Всё здорово, но... это ещё нифига не совпадает с тем что юнити вставляет по умолчанию в новосозданный шейдер и ... ищи истину где-то посередине. Но в любом случае спасибо. :D
1337 - мы услышали тебя
я вроди всё прописал как в уроке, и текстуры разные подставлял, но прозрачности нет, что может быть не так?
Дмитрий Василеский шейдер у материала менял? Ну или как она там, где стандарт и т.д у материала, давно уже в юньке не сидел, забыл)
Обожаю такие комментарии "я вроде сделал всё как в гайде, но почему то ничего не работает" 😂
Наверное ни один гайд не обходится без такого коммета)
@@EpicZona,есть адекватный вариант,как это исправить?
@@EpicZonaты почему не в школе, ребёнок?
@@catknight8169 потому что на заводе ахахаха
Без обид, но это трудно воспринимать.
Видео интересное, но не надо говорить как робот.
Куда пропал?
что значит функия вернула значение?
А как в исходные данные закинуть массив, например несколько цветов или координат
Такие данные передаются только с помощью текстуры.
@@iamarugin а если мне надо нарисовать 2 круга в разных местах текстуры?
@@Veyron104 есть хорошая онлайн книга на английском про шейдеры, она прямо с примерами, которые можно делать в браузере. Там в том числе и про фигуры будет. И полученные знания можно легко перенести на Unity потом thebookofshaders.com/
@@iamarugin спасибо!
а не проще в фотошопе нарисовать градиент?
Шейдер - это умный градиент, не появляется где надо и где не надо
Продолжение будет?
Как только смогу выделить время от основного проекта, так сразу.
Arugin ждем
Можешь посмотреть его тут ruclips.net/channel/UCEklP9iLcpExB8vp_fWQseg
Спасибо
нихуя не понятно... но очень интересно)
Где то я уже это виииииииииииииииииииииииидел
ruclips.net/video/T-HXmQAMhG0/видео.html
Душно рассказываешь, Валер