Как сделать карту высот в фотошопе
Создание карт нормалей из фотографии
Здравствуйте, меня зовут Булатов Евгений, иногда подписываюсь как Vendigo. Ниже я расскажу об одном интересном методе создания normal map из фотографий.
Часто для создания текстур используются фотографии. Однако в наш технологичный век мало создать diffuse текстуру, нужны еще текстуры бампа, спекуляра, и бог еще знает чего. К сожалению, фотоаппарат может сфотографировать только цвет. Я слышал, в этом направлении ведутся работы, но это еще только работы. Так что все труды ложатся на руки художников. А все, что есть в нашем арсенале это только Photoshop, ну может быть еще и Wacom. Не спорю, это конечно круто, но все равно не достаточно. К нашему счастью умные парни из Nvidia сделали плагин для Photoshop`а – NVIDIA Normal Map Filter, который позволяет создавать из карты высот карту нормалей. Этим плагином мы и воспользуемся.
После установки он появится в меню Filter – NVIDIA tools – NormalMapFilter.
Основные настройки сосредоточены в поле Height Generation.
Поле Scale – задает масштаб по высоте для карты нормалей. Выше него находится ряд переключателей детализированности карты. Подбирая эти два параметра, мы получим или детализированную или глубокую карту, но все вместе.
На рисунке показаны разные варианты сгенерированных карт нормалей:
Но есть интересный метод, позволяющий создавать объемную и вместе с тем детальную карту нормалей.
Алгоритм по шагам:
- Переведите изображение в режим 16 Bits/Chanel (в меню Image – Mode). Это улучшит качество последующих преобразований.
- Скопируйте слой с изображением (Ctrl+J).
- Нам нужна черно/белая карта высот, поэтому обесцветьте его (Ctrl+Shift+U).
- Примените к этому слою фильтр Normal Map с настройками, обеспечивающими максимальную детализацию, и небольшую высоту. Например, 4 sample, Scale – 3. Если на этом шаге вы получаете странный результат, то вернитесь к настройкам фильтра и установите все переключатели, в положение как на скриншоте выше.
- Скопируйте этот слой (Ctrl+J), назначьте ему режим Overlay. Таким образом, вы сделаете вашу карту нормалей в два раза более выпуклой.
Рендер в 3DSMax
Отступление первое:
Плагин NVIDIA Normal Map Filter, преобразует карту высот в карту нормалей. Поэтому для него подходят изображения, где темные участки соответствуют углублениям, а светлые выпуклостям. Часто приходится вручную дорабатывать карту высот из исходной текстуры, рисуя поверх фотографии карту высот.
Отступление второе:
Операция нормирования (применение фильтра Normal Map в режиме Normalize only) нужна потому, что после наложения нормалей в режиме Ovelay, информация в синем канале теряется. Операция Normalize восстанавливает ее.
Есть мнение, что при наложении нормалей нужно Красный и Зеленый каналы смешивать через Overlay, а Синий накладывать в режиме Multiply. Те, кто хорошо знают Photoshop, могут написать экшн для подобной операции и попробовать метод с таким, более «правильным» смешиванием.
Отступление третье:
Сходимость текстуры. Если ваша текстура тайлилась, то после этих операций нормали сходится, не будут (появится острая кромка по краям). В этом случае можно делать так:
Перед созданием normal map, увеличьте размер холста в 3 раза. Canvas Size 300% (Ctrl+Alt+C). Затем скопируйте вашу сходящуюся текстуру на всю площадь.
После чего объедините эти слои и создайте normal map, как было описано выше. Затем, вызовите еще раз команду Canvas и впишите исходный размер в пикселях (например, 512 х 512) . У вас получится исходная текстура нормали, которой будут идеально сходиться.
Подготовка изображений с картами высот
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Это обещанное продолжение статьи Моделирование по изображениям с картами высот, в которой я рассказывал, что это за изображения и как их искать.
Сегодня расскажу, что делать, если не удалось найти качественный исходник, но получить модель очень хочется.
Возьмем некачественное изображение в формате jpeg и выдавим ‘как есть’ в Cura.
Видим многочисленные артефакты.
Cетка – след компрессии jpeg.
Попробуем улучшить ситуацию, используя графический редактор GIMP.
Убираем артефакты jpeg-компрессии
Открываем исходное изображение Файл — Открыть
Создаём новое изображение (Файл — Создать) размером 8×8 px с прозрачным фоном
Далее: Правка — Копировать и это окно можно закрывать без сохранения.
Выбираем инструмент ‘Заливка’. В параметрах выставляем ‘Залить текстурой’ и выбираем ‘Буфер обмена’.
Артефакты jpeg-компрессии представляют собой кластеры 8х8 пикселей, и сейчас мы наложили на границы кластеров сетку толщиной в 1 пиксель.
На панели слоёв щёлкаем правой кнопкой мыши по слою с ‘сеткой’ из текстуры и выбираем ‘Альфа-канал в выделение’. Теперь удаляем слой с текстурой, он нам больше не нужен.
Продублируем оставшийся слой (Слой — Создать копию слоя). Добавим к копии альфа-канал (Слой — Прозрачность — Добавить альфа-канал)
Далее Выделение — Инвертировать, Правка — Очистить, и снова инвертируем выделение и размываем его по Гауссу (Фильтры — Размывание — Гауссово размывание) на 1-15px, в зависимости от ситуации.
Сохраняем изображение в BMP.
Ступеньки получаются из вот таких ‘пикселей’:
Тут есть много способов. Я сделаю так: инструмент Выделение смежных областей, выбираю черный фон
Инструментом Заливка заливаю фон свежим чистым цветом. Сохраняем в BMP.
Возвращаемся в Куру:
Спасибо за внимание.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Еще больше интересных постов
3d моделирование лица человека по фотографиям.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Использование параметрических возможностей T-FLEX CAD в судостроении
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Довольно интересный материал, подготовленный инженером одногоиз судостроительных заводов по практическому использован.
3D-модели для 3D-печати и не только: тoп сайтов
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии
Есть много способов улучшить карту высот, пользуюсь XnView
и фотошоп. Также есть метод улучшения в арткаме.
Способов, безусловно, много. Плюс можно дорабатывать уже на уровне 3д-модели. Например, от мелкого мусора на заднем плане можно махом избавиться, обрезав модель на 1-2 миллиметра.
3DLab, а какие сглаживания/размывание Вы ещё пробовали, кроме Гауссового?
Пока никаких. Я ведь сам только учусь 🙂
Пока никаких Супер !
Пробуйте иные, и комбинации, и обязательно расскажите.
Применимость Ваших прикладных изысков вижу в пост-обработке при 3D-сканировании.
Так по Гимпу и Фотошопу полно профильных ресурсов с огромным количеством информации. Надо только знать, что искать. Я как раз и ставил цель лишь обозначить основные проблемы и решения при создании барельефов, а не нудно пересказывать уроки с других ресурсов. А сам я этой темой занимаюсь потому, что являюсь счастливым обладателем DLP-принтера, на котором можно делать отличные барельефы, например на чехлы для смартфонов.
А вот не найдете вы особо материалов по пост обработке фотографий под шоп, отвечающих задачам подготовки изображений для печати на 3-D. Не, я не вредничаю и не умничаю, так как зона поиска должна быть направлена в русло допечатной подготовки. Вот там, можно будет узнать и о том, как последовательно убирать фон размытием с последующим масштабированием или изменением разрешения. Как добиться резкости граничных пикселей тем же гаусом но с гарантированным результатом. Как правильно переводить цвет в ч/б без потери информации в изображении. Но, но. Все это достигается практикой и без постоянных тренировок получить приличный результат будет сложно.
А вот не найдете вы особо материалов по пост обработке Спасибо, в курсе, пытался, поэтому и написал.
Все это достигается практикой и без постоянных тренировок Хочется сразу, и не самому, а чтоб на дурной машине на кнопку нажать.
И страус – пойман !
😀
анекдот отсюда –
Вернулся капитан дальнего плавания из очередного рейса домой рассказывает жене:
– Ходил я нынче в Австралию. Капитан порта мой старый друг пригласил меня на охоту на страусов. И знаешь, как в Австралии страусов ловят? Закапывают в песок лысого туземца снаружи только голова. Загоняют в его сторону страуса. Страус думает, что это яйцо и садится туземцу на голову, тот хватает его за ноги. И все страус пойман!
– Ха-ха-ха! Надо будет рассказать Марье Ивановне!
Приходит к соседям:
– Мой мужик вернулся из Австралии и рассказал хохму – как в Австралии страусов ловят. Берут лысого мужика, закапывают в песок, а яйца наружу. Страус садится на яйца – тут его и ловят!
– А почему лысого?
– А хрeн его знает? Дикари!
Если здесь применимы и другие графические редакторы, то весьма продуктивно работает smart blur в фотошоп. Гаусс не способен понимать границы и ‘моет’ их. Умным размытием буквально недавно пользовался в процессе дизайна рекламки для сестры – весьма продуктивно избавился от артефактов после растягивания клипарта низкого разрешения с сохранением градиента и чёткости границ. А как я понял по градиентам и строится сей процесс. провёл аналогию с анаглифами:)
Для обработки 3д-моделей есть замечательная бесплатная программка Meshmixer, только надо в ней разобраться. А толковых уроков по ней, особенно русскоязычных, я не встречал. Но может искал плохо.
Создание карт нормалей из фотографии
Фотоблог автора статьи: vendigo.ru
Здравствуйте, меня зовут Булатов Евгений, иногда подписываюсь как Vendigo. Ниже я расскажу об одном интересном методе создания карт нормалей (normal map) из фотографий.
Часто для создания текстур используются фотографии. Однако в наш технологичный век мало создать diffuse текстуру, нужны еще текстуры бампа, спекуляра, и бог еще знает чего. К сожалению, фотоаппарат может сфотографировать только цвет. Я слышал, в этом направлении ведутся работы, но это еще только работы. Так что все труды ложатся на руки художников. А все, что есть в нашем арсенале это только Photoshop, ну может быть еще и Wacom. Не спорю, это конечно круто, но все равно не достаточно. К нашему счастью умные парни из Nvidia сделали плагин для Photoshop – NVIDIA Normal Map Filter, который позволяет создавать из карты высот карту нормалей. Этим плагином мы и воспользуемся.
После установки он появится в меню Filter – NVIDIA tools – NormalMapFilter.
Основные настройки сосредоточены в поле Height Generation.
Поле Scale – задает масштаб по высоте для карты нормалей. Выше него находится ряд переключателей детализированности карты. Подбирая эти два параметра, мы получим или детализированную или глубокую карту, но не всё вместе.
На рисунке показаны разные варианты сгенерированных карт нормалей:
Но есть интересный метод, позволяющий создавать объемную и вместе с тем детальную карту нормалей.
Алгоритм по шагам:
1) Переведите изображение в режим 16 Bits/Chanel (в меню Image – Mode). Это улучшит качество последующих преобразований.
2) Скопируйте слой с изображением (Ctrl+J).
3) Нам нужна черно/белая карта высот, поэтому обесцветьте его (Ctrl+Shift+U).
4) Примените к этому слою фильтр Normal Map с настройками, обеспечивающими максимальную детализацию, и небольшую высоту. Например, 4 sample, Scale – 3. Если на этом шаге вы получаете странный результат, то вернитесь к настройкам фильтра и установите все переключатели, в положение как на скриншоте выше.
5) Скопируйте этот слой (Ctrl+J), назначьте ему режим Overlay. Таким образом, вы сделаете вашу карту нормалей в два раза более выпуклой.
6) Размойте этот слой фильтром Gaussian Blur на 2-3 пикселя.
7) Затем снова скопируйте этот слой и еще раз размойте на 2-3 пикселя (Ctrl+F – применение последнего фильтра). И так несколько раз. Таких слоев, лежащих на первой карте нормалей в режиме Overlay может быть 10 – 20, или больше.
8) После того как нужный объем достигнут объедините все слои нормалей, и примените к ним операцию нормирования. Для этого еще раз примените фильтр NormalMap, отметив пункт Normalize only.
9) Переведите изображение обратно в режим 8 Bits /Chanel (меню Image – Mode).
Карта нормалей готова!
Рендер в 3D Max:
Плагин NVIDIA Normal Map Filter, преобразует карту высот в карту нормалей. Поэтому для него подходят изображения, где темные участки соответствуют углублениям, а светлые выпуклостям. Часто приходится вручную дорабатывать карту высот из исходной текстуры, рисуя поверх фотографии карту высот.
Операция нормирования (применение фильтра Normal Map в режиме Normalize only) нужна потому, что после наложения нормалей в режиме Ovelay, информация в синем канале теряется. Операция Normalize восстанавливает ее.
Есть мнение, что при наложении нормалей нужно Красный и Зеленый каналы смешивать через Overlay, а Синий накладывать в режиме Multiply. Те, кто хорошо знают Photoshop, могут написать экшн для подобной операции и попробовать метод с таким, более «правильным» смешиванием.
Сходимость текстуры. Если ваша текстура тайлилась, то после этих операций нормали сходится не будут (появится острая кромка по краям). В этом случае можно делать так:
Перед созданием normal map, увеличьте размер холста в 3 раза. Canvas Size 300% (Ctrl+Alt+C). Затем скопируйте вашу сходящуюся текстуру на всю площадь.
После чего объедините эти слои и создайте normal map, как было описано выше. Затем, вызовите еще раз команду Canvas и впишите исходный размер в пикселях (например, 512 х 512) . У вас получится исходная текстура нормали, которой будут идеально сходиться.
Вот и весь метод, создания normal map из фотографии.
Источники:
https://render.ru/ru/e.bulatov/post/12353
https://3dtoday.ru/blogs/3dlab/preparation-of-image-maps-of-the-elevation/
https://www.uraldev.ru/articles/31