Используйте режим Per-Pixel для моделей с высоким разрешением (цифровое искусство) и моделей с низким разрешением (пиксельное искусство), где вам нужна максимальная совместимость с другими средами и где требуется исключительная четкость текстуры.
Поэтому мы решили реализовать per-pixel отрисовку .
Обратите внимание, что прорисовка глубины в этом режиме поддерживает только генерацию normal map в реальном времени, а не фактическое нарисованное смещение, но на основе этой информации можно экспортировать displacement map так же, как и normal map.
Первое, о чем мы поговорим, — это per-pixel рисование. Он был введен в 3DCoat для первой итерации цикла v3. В известном 3DCoat V2 использовалось микровершинное рисование.
При таком подходе каждая грань (разрешены только четырехугольники) представлялась как участок из N x M вершин (N и M могли быть разными для каждой грани).
Каждая вершина имела цвет и координаты в пространстве, поэтому допускалось любое смещение. Однако этот подход был ограничен, потому что было очень сложно редактировать сетку с нечетверными гранями; проецирование патча на текстуру приводило к потере качества, поэтому было сложно import текстуру, редактировать ее и export , потому что текстура после экспорта выглядела слегка размытой.
Вот основные моменты этой технологии:
• Painting производится не по вершинам, а непосредственно по пикселям на текстуре. Похоже, что каждый пиксель 2D-текстуры представлен как точка в 3D-пространстве.
• Каждый пиксель содержит любое количество слоев цвета, непрозрачности, нормального смещения и глянца.
• Каждый слой можно смешивать с предыдущим, используя распространенные и хорошо известные операции смешивания цвета и смещения.
• Каждая точка текстуры в трехмерном пространстве имеет своих соседей в per-pixel представлении. Это важно, поскольку позволяет закрашивать модель и выполнять нелокальные операции, такие как размытие и повышение резкости кистью.
• Некоторые операции выполняются в 3D-пространстве, например рисование, заливка и применение кривых, а другие — в 2D-проекции, например, пятно. Все это прозрачно для пользователя.
• Большинство операций можно выполнять (опционально) не только с видимой стороной объекта, но и с невидимой, например наложение кривых, заполнение и рисование колец, прямоугольников и многоугольников на поверхности.
• Обмен с другими приложениями становится быстрым, и без потери качества вы можете использовать 3DCoat на любом этапе конвейера, внести последний штрих или выполнить полное текстурирование.
• Вы можете import normal map и использовать ее в качестве эталона для рисования текстуры. normal map тоже можно изменить; вы можете применить некоторое сглаживание (не по швам) или затемнить некоторые области.
• Бесшовное рисование и сглаживание текстуры: эта технология может использоваться для любого типа текстурирования, низкополигонального или высокополигонального. Вы можете редактировать текстуры от 32 х 32 до 8192 х 8192 (если у вас 1 Гб или больше видеопамяти). Его можно использовать в самых разных приложениях, от графики для мобильных телефонов до высококлассных игровых проектов и фильмов, требующих огромных текстур. Эта технология без проблем поддерживает мозаичные, самопересекающиеся и зеркальные текстуры. Таким образом, есть список преимуществ per-pixel рисования по сравнению с микровершинным:
• Гораздо быстрее, чем рисование микровершин.
• Поддерживает мозаичные, самопересекающиеся и зеркальные наборы UV развертки (рисование микровершин поддерживает только текстурирование без перекрытия).
• Занимает меньше памяти, чем микровершинный подход.
• Дает хорошую точность рисования без дополнительного размытия. Единственным недостатком по сравнению с рисованием микровершин является то, что рисование по per-pixel не поддерживает векторное смещение, а только нормальное смещение. Иногда это делает его важным моментом, поэтому мы оставили на месте как per pixel , так и микровершинный подход. Например, использование микровершинного подхода для закрашивания запеченных воксельных скульптур дает лучшие результаты.
Преимущества per-pixel рисования по сравнению с проекционным:
• Возможность работы с пикселями на обратной стороне модели, например, заполнение, размытие и применение общих эффектов.
• Качество Painting не зависит от расстояния от объекта до камеры.
• Более точный результат покраски; то, что вы видите, это то, что вы получаете. Ключевым преимуществом перед обычным текстурным рисованием в пространстве является возможность размытия пикселей под кистью, поскольку каждый пиксель имеет своих соседей.