Обучение HLSL для написания шейдеров для Unity, UE5

Занимаюсь соло разработкой игр на Unity.(UE5 в процессе изучения) К сожалению,столкнулся с проблемой,что доступные ассеты не всегда соответствуют моим задумкам,поэтому решил изучить тему шейдеров самостоятельно. Потыкав в ассистентов разных форм и мастей,пришёл к выводу,что они толком не могут подать информацию как и с чем едят эти шейдеры. Потыкав самостоятельно ,понял как работают свойства и смешивания , а как использовать остальной функционал не хватает ума(или информации)что бы понять. В ютубе так же не нашёл нужной информации, всё подносилось как "Делай так и всё будет "ОК"!" ,но такой подход меня не устраивает,хочется понимать ,как всё это работает. Буду признателен ,если вы дадите мне точку для старта.


Ответы (1 шт):

Автор решения: MoloF

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


Основа

Самый главный ресурс по моему мнению, который сможет показать мощности шейдеров и заинтересовать вас своими примерами это - shadertoy.com.

После ознакомления с примерами можно начать фундаментальное изучение на - thebookofshaders.com.

Чтобы создавать что-то новое, вам необходимо углубиться в математику, отличным ресурсом будет канал - @3blue1brown.


Полезное

После прохождения первого этапа вам пригодятся готовые ресурсы под unity с примерами и объяснениями:

Так же вам пригодятся и другие источники которые решают немного другие задачи, но могут быть полезны:


Оффтоп

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


Прочее

При написании своих шейдеров, вам может помочь ресурс - RenderDoc, дебаг и изучение работы шейдера на GPU.

→ Ссылка