Agisoft De-Lighter - это бесплатный автономный инструмент, предназначенный для удаления теней и внешнего затемнения с текстуры 3D-моделей. От пользователя требуется только грубо отметить освещенные и затемненные участки текстуры модели. Все входные данные могут быть использованы в Agisoft De-Lighter без дополнительных данных типа карты окклюзии окружающей среды (карты затенённости). Алгоритм De-Lighter оптимизирован для 8-битных сжатых текстур JPEG и не требует специальных форматов изображения с большей глубиной цвета.


Обработка

Импорт модели

С помощью одноименной кнопки на панели инструментов, или с помощью команды Import Model (Импортировать модель) в меню File (Файл), или в контекстном меню блока на панели Workspace (Проект) добавьте готовую 3D-модель. Обратите внимание, что может быть загружена только модель с текстурой. 


Разметка освещенности/затененности вручную

De-Lighter использует грубые карты освещенности для выполнения двоичной классификации пикселей текстуры на группы освещения и тени. Чтобы указать карту освещенности, выберите инструмент Brush (Кисть) на панели инструментов и сделайте грубые мазки, выбирая тип Shadow Color (Цвет тени) и Lit Color (Цвет освещенности) для соответствующих участков модели. На панели инструментов доступны соответствующие кнопки выбора цвета кисти, регулировки её размера и другие инструменты.


Для качественной разметки следует делать пространственно-однородные штрихи кистью, по одному штриху на материал в местах его четкого освещения/затемнения. Точное указание границ затененного участка не требуется.


Обработка 

Далее доступны два варианта обработки. Кнопка Remove Cast Shadows (Preview) (Предварительный просмотр удаления теней) запускает алгоритм с уменьшением текстуры в 4 раза, чтобы быстро оценить пользовательскую разметку и параметры освещенности. Кнопка Remove Cast Shadows (Удалить тени) запускает алгоритм на полноразмерной текстуре. 


Пример: Yogini with a Jar, начало 10 века (оригинал модели, автор Jerry Fisher): 

            Исходная текстура
Исходная текстура с разметкой светлых и затененных участков 
             Текстура 
              с удаленными тенями


В случае неоднородной затененности (например, пересечение общей затененности и отбрасываемой тени), на некоторых участках могут остаться тени после обработки. Чтобы их удалить, можно сбросить разметку на тенях, нажав кнопку Clear Shadow (Очистить разметку тени) на панели инструментов, и выбрать кистью неудаленные затененные области. Также можно указать больше освещенных участков, особенно тех, которые остались после первой итерации удаления теней.

По окончании обработки будет создана новая текстурированная модель с корректной освещенностью. Обратите внимание, что алгоритм применяется к текущей активной модели, которая отображается в окне Model. Если вы хотите заново обработать исходную модель, выберите ее на панели Workspace (Проект) перед запуском алгоритма. 


Дополнительные настройки обработки

Параметры подавления артефактов

В некоторых случаях могут возникать артефакты, вызванные резким изменением яркости или сложными переходами материала. Обычно они выглядят как слишком яркие участки или утечки цвета. Два регулируемых параметра - Highlights suppression (Подавление светлых участков) и Color artifacts suppression (Подавление цветовых артефактов) - предназначены для уменьшения такого рода неоднородностей, для каждого параметра можно выбрать интенсивность подавления.

Исходная текстура с разметкой
Удаление затененности
Удаление теней с подавлением светлых участков

Удаление теней с подавлением светлых участков и цветовых артефактов
                Вторая итерация


Исключение участков

Если на освещенной части модели присутствует участок темного цвета, он может быть ошибочно классифицирован как затененный и удалён. Чтобы сохранить такие участки текстуры, укажите область, которую нужно исключить из обработки, добавив новую Масштабную карту затенённости через контекстное меню модели (Add Shadow Scale Map) и отметив нужный участок с помощью инструмента Extra Brush (Дополнительная кисть)

Исходная текстура
Удаленные тени без исключения участков
Выделенный кистью участок для исключения из обработки
Удаленные тени с учетом  исключенного участка

Масштабная карта затенённости

Алгоритм удаления освещенности использует предположение, согласно которому край тени не совпадает с границей смены материала. Если это условие не выполняется, может возникнуть размытие цветов. В некоторых случаях такие артефакты можно подавить, выставив необходимые параметры при обработке, в других случаях рекомендуется использовать Масштабную карту затенённости. С помощью неё вы можете указать цвет и интенсивность тени на определенном участке модели. Чтобы вручную указать масштаб затененности участка, выполните следующие действия:        

  1. Найдите пару "тень/свет". Это должна быть пара участков из одного и того же материала, но с разными характеристиками затенённости/освещенности;
  2. Добавьте новую масштабную карту затенённости через контекстное меню модели (Add Shadow Scale Map);
  3. Укажите пару "тень/свет" для определенного материала с помощью кистей Shadow Color (Цвет тени) и Lit Color (Цвет освещенности);
  4. Укажите область с одинаковым цветом и интенсивностью тени (материалы могут отличаться) с помощью кисти Extra Color (Дополнительный цвет). Области полутени (переход от тени к свету) также могут быть отмечены для обеспечения плавного перехода.

Исходная текстура
Удаленные тени без масштабной карты затенённости
Масштабная карта затенённости

                                Удаленные тени с масштабной 
                           картой затенённости
                 Вторая итерация


Удаление затенённости и окружающая окклюзия (AO):

Когда на текстуре нет отбрасываемых теней, яркость текстуры поверхности в основном зависит от ее нормалей. Этот факт можно использовать для автоматического отделения затенённости от рассеянного цвета без существенного вмешательства пользователя. Чтобы использовать эту функцию, запустите команду Remove Shading(Удалить затенение), доступную на панели управления (здесь же доступно выбрать предварительный просмотр результатов удаления).

До 
После

Параметры обработки:

  1. Locality (Локализовано): подробно локализованные уровни помогают удалить затенение на моделях с большим числом вариаций интенсивности освещения за счет некоторой потери цветового разнообразия;
  2. Remove AO (Удалить окружающую окклюзию): позволяет алгоритму компенсировать темные участки на основе созданной карты окружающей окклюзии, или затенённости (АО);
  3. AO removal strength (Сила удаления затененности): устанавливает силу компенсации затенённости.

До обработки
Без удаления затенённости
Затенённость удалена


Вы также можете указать маску в новом слое Shadow Scale Map (Масштабная карта затенённости), используя кисть Extra Brush, чтобы указать области с очень специфическим и нормальным цветами, часто это применяется при съемке объектов на открытом воздухе. 

До
После


Экспорт

Модели с отредактированной текстурой можно экспортировать в различных форматах или сохранить в проекте в формате .dlz. В последнем случае все дополнительно созданные карты будут сохранены вместе с моделями. Также вы можете загрузить обработанные модели на Sketchfab через File (Файл) Export Model (Сохранить модель).


Примеры:

Yogini with a Jar, начало 10 века (оригинальная модель, автор Jerry Fisher):

  • Исходная модель  
  • Исходная модель с разметкой  тень/свет
  • Удаленная затенённость 
  • Удаленная затенённость по дополнительной разметке
  • Итоговый результат коррекции текстуры

Каменистая поверхность 1 (оригинальная модель, автор Paul Dickinson):

  • Исходная модель  
  • Исходная модель с разметкой  тень/свет
  • Удаленная затенённость 
  • Удаленная затенённость по дополнительной разметке
  • Исключенный участок с фокусировкой на определенной точке
  • Итоговый результат коррекции текстуры


Фрагмент архитектуры храмовой святыни (оригинальная модель, автор Jerry Fisher):

  • Исходная модель
  • Исходная модель с разметкой тень/свет
  • Итоговый результат коррекции текстуры

Architectural Salvage (De-Lighter) by Agisoft on Sketchfab


Распятие, около 1180 года (оригинальная модель, автор Jerry Fisher):

  • Исходная модель  
  • Исходная модель с разметкой  тень/свет
  • Удаленная затенённость 
  • Удаленная затенённость по дополнительной разметке
  • Итоговый результат коррекции текстуры

Crucifixion (De-Lighter) by Agisoft on Sketchfab


Каменная стена 1 (оригинальная модель, автор 3DandVR):

  • Исходная модель
  • Исходная модель с разметкой тень/свет
  • Исходная модель с указанным участком для предотвращения классификации темных цветов, как теней
  • Исходная модель с масштабной картой для локализованного удаления затенённости
  • Модель с удалённой освещённостью
  • Модель с дополнительной разметкой тень/свет
  • Модель с указанным участком для исключения
  • Итоговый результат коррекции текстуры


Stone Wall (De-Lighter) by Agisoft on Sketchfab


Обсуждение на форуме

Обсудите функциональность инструмента Texture De-Lighter и поделитесь своими результатами в специальном разделе на форуме!