Трипланарное проецирование текстур. Substance Painter

Привет, без углубления в теорию и наглядно разберем как работает трипланарное проецирование текстур, зачем оно нужно и как его применять. Трипланар есть во многих 3D редакторах и игровых движках, принцип везде похожий, отличаются в основном настройки. Я буду показывать на примере Substance Painter, так как многие текстурят модели в нем.

Triplanar mapping — Уже по названию можно понять, что это наложение текстур на модель с трех сторон. Для начала посмотрим, чем оно отличается от привычного UV mapping'a

В UV Projection текстура накладывается на UV координаты 3D модели, благодаря чему объект окрашивается. Это не сложно понять, особенно если вы имели опыт в создании разверток.

Ну а с трипланаром все иначе, текстуры проецируются на весь 3D объект, по осям X, Y, Z.

Представьте, что у вас есть три проектора, вы запустили на них одну и туже картинку и освещаете ими один объект по центру.

В таком методе текстурирования не нужна развертка, но не везде. Например, Substance Painter не позволит вам импортировать модель без UV.

Дело в том, что Painter создает текстуры для экспорта, ему нужно их куда то уложить и схема будет выглядеть примерно так:

Практическое использование

Сделали модель, развернули и отправили в Substance Painter, наносим текстуры и встречаем проблему со швами.

Маска для слоя Dust, накладывается по UV, в указанном месте шов и паттерн текстуры пересекается разными участками.

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

Сразу появляется гизмо, для редактирования положения проекций.

В Properties вы сможете вручную настроить положение, вращение и размеров текстуры. Filtering — это тип фильтрации, сглаживания текстуры. В Shape Crop вы можете выбрать будет ли текстура бесконечной или ограничена рамками квадрата в 3D окне.

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

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

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

Трипланар не панацея

Проекции текстур между собой не состыковываются, здесь тоже будут швы. Параметр Hardness редактирует их смешивание, чтобы минимизировать видимость.

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

С текстурами узоров, решеток и других подобных, возникают трудности:

Нанести их без швов почти невозможно, по крайней мере с такой разверткой.

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

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

Вывод

Возможности избавится от текстурных швов на совсем — нет, но есть способы скрыть и минимизировать их видимость, трипланар один из таких способов, хорошо справляется с «шумными» текстурами и не очень с ровными паттернами, орнаментом.

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

0
15 комментариев
Написать комментарий...
Всякий щит

спасибо за пост

хотелось бы в будущем прочитать о правильной ретополгии.
да и всех + и - той или иной ретопологии( децимейт в браше, обтягивание, руками лупы чистить)

спасибо

Ответить
Развернуть ветку
lamurchik

Абзац про выпрямление два раза) Но пост, канешь, немного капитанский. 

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

Ответить
Развернуть ветку
Руслан Феликин
Автор

Исправил. Капитанский, для тех кто имеет опыт?

Ответить
Развернуть ветку
lamurchik

Угу. Проблема всех подобных обучающих материалов, что базу найти не сложно. Даже комплексную, к примеру подробный разбор всей основы полного пайплайна модели со статьей на каждой остановке. А вот как нужно загуглить уже что-то уровня плюс, то начинается жопа. Я, например, искал, как затекстурить пиксаровские глаза мультяшные в сп. Безуспешно. Мешей полно, а вот с текстурированием уже все. 

Ответить
Развернуть ветку
Hy6oMeT .

Хе-хе. Базу найти не сложно, но при этом сотням людей ее не хватает )

Ответить
Развернуть ветку
lamurchik

Это уже вопрос обучаемости. Я на пикабе иногда общаюсь с новайсами (там других и нет в сообществе).  

Они думают, что я их троллю, когда говорю, что уйдут десятки сотен часов на базовое освоение 3д и без знания англа можно даже не начинать. 

Ответить
Развернуть ветку
Animavulnus

В любом деле есть люди, которые просто поиском пользоваться не умеют или не хотят.

Ответить
Развернуть ветку
Руслан Феликин
Автор

Затекстурить глаза, наверное проще сделать процедурно

Ответить
Развернуть ветку
lamurchik

Хорошое видео. Да и готовые генераторы есть. Вопрос просто в экспорте. 

Ответить
Развернуть ветку
Руслан Феликин
Автор

Экспорт, нужно будет запечь всю процедурку в текстуры, и можно использовать их в любом 3D редакторе.

Ответить
Развернуть ветку
lamurchik

Когда я это искал, 2.8 еще не вышел. Там были проблемы запечь пбр сет :) 

Ответить
Развернуть ветку
Руслан Феликин
Автор

Блин, забыл указать GameDev, а как теперь перенести? - fixed

Ответить
Развернуть ветку
Энергичный пришелец

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

Ответить
Развернуть ветку
The Lost man

О, красота

Ответить
Развернуть ветку
TheNeko

Спасибо !

Ответить
Развернуть ветку
Читать все 15 комментариев
null