Toon fur in Blender
Автор: wayerrЖуткий оффтоп, но надо куда-то записать.
Итак, в Blender (редактор 3d моделирования) есть возможность шейдерами материала задавать displacement. А еще там есть мультяшный шейдер (toon shader, на деле их там два но это детали). Вот мне после давних экспериментов задумалось взять и сделать соотвественно мультяшный мех.
То что обычно генерит система частиц (particles/hair) надо расчёсывать, иначе оно просто торчит (или не просто, но не так как надо) — это ещё реально когда там полтора волоса на голове, но становится уныло для покрытого мехом персонажа в одежде да на склете.
Ну и к тому же в toon шейдере чтобы мех нормально выглядел его надо делать "плоским" (чтобы имитировать селл шейдинг, ну или анимешный стиль, если совсем упрощённо объяснять), а для системы частиц это мало реально (я не нашёл простого способа).
Ну и ладно, всё равно когда рисуют мех в мультяшной стилистике, то его всё равно упрощают до отдельных пучков, которые показывают там, где его много или на изгибах (локтях, коленях).
Ну в 3d обычно это всё моделируют вручную или рисуют текстуры, которыми делают тот самый displacement. Выглядит как просто выпуклая по форме пуска часть модели.
Но я же не умею рисовать.
Потому я нашёл способ, как эти пучки волос генерировать. Это просто:
Слева текст шейдера, внизу ноды материала, вверху как это вглядит (на превью displacement, как обычно, упрощённый).
Рендер ("пробивание" одежды убирается элементарно, но было не до того):
Шейдер на деле рисует сетку "чешуек" определённой формы, чтобы оно изгибалось используется текстура "шума", которая крутит координаты на входе шейдера и тем самым даёт нужный изгиб.
Без шейдера шея модели просто ровная, без этих всех завитушек.
ps. в шейдере вместо суммы в конце надо использовать max (я про это забыл).