В этом tutorial я хочу показать вам некоторые странные артефакты, с которыми я столкнулся при применении некоторых Textures из Substance Painter в Blender, и объяснить, как их исправить. В качестве движка рендеринга здесь используется Cycles.
Видеоверсия этого руководства в настоящее время недоступна на этом языке. Видео на английском языке доступно по этой ссылке:
Текстовая расшифровка видео
Здравствуйте всем.
В этом tutorial я хочу показать вам некоторые странные артефакты, с которыми я столкнулся при применении некоторых Textures из Substance Painter в Blender, и объяснить, как их исправить. В качестве движка рендеринга здесь используется Cycles.
Давайте посмотрим на объект. Как вы видите, это простой шкив с крюком. Геометрия выглядит корректно. Нет перевёрнутых Normals, нет дублированных вершин или геометрии, топология в порядке, shading установлен в Smooth и Auto Smooth включён.

Что касается UV, Material и Textures. UV не перекрываются, и я использую один PBR Material с тремя Textures: Albedo, Normal и специальную цветовую текстуру под названием ORMA, в которой, как следует из названия, я храню Occlusion, Roughness, Metallic и Alpha в каналах RGBA изображения.
Я экспортирую эту текстуру из Substance Painter, чтобы сэкономить место на диске, поскольку эти каналы представлены в виде изображений в градациях серого, поэтому я могу поместить их в одну PNG image texture, а затем разделить каналы в Cycles.

Однако при переключении в Rendered mode я могу заметить на поверхности некоторые странные артефакты. Полигоны выглядят как будто триангулированными или зубчатыми.

В большинстве случаев это может быть связано с Normals или с параметрами Smoothing, но здесь опция Auto Smooth настроена правильно, модификатор Edge Split бесполезен, а модификатор Subdivision Surface делает ситуацию ещё хуже.

Таким образом, мы понимаем, что проблема не связана с Geometry, но она также не связана и с настройками рендеринга. Изменение параметров Shadow Terminator во вкладке Object, Shading или других параметров во вкладке Render Properties не решает эту проблему.
Я почти уверен, что дело связано с Normals, но сами Normals выглядят корректно.

На самом деле проблема связана со способом применения Normal map к материалу. В узле Image Texture, в котором я загружаю Normal Map, есть параметр под названием Color Space. Он установлен в sRGB, что корректно для base color image texture, но здесь мы имеем дело с Normal Map, поэтому я переключаю его на Non-Color Data и эти странные артефакты исчезают.
Итак, если вы видите подобные странные артефакты на своих объектах, обязательно проверьте и этот параметр.

Но подождите, это ещё не всё.
Если мы посмотрим на предпросмотр объекта в Substance Painter, то увидим, что Roughness отличается от того, что мы получаем в Cycles. Теперь мы знаем, что это может быть связано с Color Space текстуры ORMA, то есть той, в которой я храню данные Roughness и другие параметры, поэтому мы переключаем её на Non-Color Data и получаем правильный результат.

Вот и всё.

Увидимся скоро.