HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>16 июн 2023</li>
2 <ul><li>16 июн 2023</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><h2>Что такое фотограмметрия - и как с её помощью создавать игровые ассеты</h2>
4 </ul><h2>Что такое фотограмметрия - и как с её помощью создавать игровые ассеты</h2>
5 <p>Переносим объекты из реальной жизни в 3D-графику.</p>
5 <p>Переносим объекты из реальной жизни в 3D-графику.</p>
6 <p>Иллюстрация: Катя Павловская для Skillbox Media</p>
6 <p>Иллюстрация: Катя Павловская для Skillbox Media</p>
7 <p>Считает игры произведениями искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах.</p>
7 <p>Считает игры произведениями искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах.</p>
8 <p>Ещё 10 лет назад процесс 3D-сканирования ассоциировался с использованием дорогостоящих лазерных датчиков, которые могли позволить себе только крупные компании. Но со временем скачок технологий в области цифровых фотокамер позволил даже инди-разработчикам опробовать свои навыки в получении 3D-сканов статичных объектов с помощью фотограмметрии и успешно применять их в игровой индустрии.</p>
8 <p>Ещё 10 лет назад процесс 3D-сканирования ассоциировался с использованием дорогостоящих лазерных датчиков, которые могли позволить себе только крупные компании. Но со временем скачок технологий в области цифровых фотокамер позволил даже инди-разработчикам опробовать свои навыки в получении 3D-сканов статичных объектов с помощью фотограмметрии и успешно применять их в игровой индустрии.</p>
9 <p><strong>Из этого материала вы узнаете:</strong></p>
9 <p><strong>Из этого материала вы узнаете:</strong></p>
10 <ul><li>что такое<a>фотограмметрия</a>;</li>
10 <ul><li>что такое<a>фотограмметрия</a>;</li>
11 <li><a>примеры</a>её использования в играх;</li>
11 <li><a>примеры</a>её использования в играх;</li>
12 <li>пять десктопных<a>приложений</a>для фотограмметрии;</li>
12 <li>пять десктопных<a>приложений</a>для фотограмметрии;</li>
13 <li>возможности, которые даёт мобильная фотограмметрия, на примере<a>Polycam</a>;</li>
13 <li>возможности, которые даёт мобильная фотограмметрия, на примере<a>Polycam</a>;</li>
14 <li>как<a>фотографировать</a>объект на смартфон для успешного 3D-сканирования;</li>
14 <li>как<a>фотографировать</a>объект на смартфон для успешного 3D-сканирования;</li>
15 <li><a>процесс оптимизации</a>3D-скана фигурки в Blender;</li>
15 <li><a>процесс оптимизации</a>3D-скана фигурки в Blender;</li>
16 <li>список<a>альтернативного софта</a>;</li>
16 <li>список<a>альтернативного софта</a>;</li>
17 <li><a>плюсы</a>и <a>минусы</a>фотограмметрии.</li>
17 <li><a>плюсы</a>и <a>минусы</a>фотограмметрии.</li>
18 </ul><p>Фотограмметрия - это одно из направлений 3D-сканирования, основанное на получении данных о размерах и поверхностях реальных объектов за счёт фотоснимков. Технически это происходит следующим образом. Статичный объект фотографируют с разных ракурсов, в результате чего получается множество снимков. Их загружают в специальную программу, которая, в свою очередь, анализирует снимки, создаёт облако точек и формирует цельный объект в 3D с учётом рельефа.</p>
18 </ul><p>Фотограмметрия - это одно из направлений 3D-сканирования, основанное на получении данных о размерах и поверхностях реальных объектов за счёт фотоснимков. Технически это происходит следующим образом. Статичный объект фотографируют с разных ракурсов, в результате чего получается множество снимков. Их загружают в специальную программу, которая, в свою очередь, анализирует снимки, создаёт облако точек и формирует цельный объект в 3D с учётом рельефа.</p>
19 <p>3D-сканирование людей методом фотограмметрии технически сложнее, так как человек - живое существо. Даже находясь в неподвижном положении, он будет дышать и моргать. Поэтому для корректного захвата деталей человеческого лица<a>используют</a>десятки камер. Более подробно об этом процессе можно узнать из <a>доклада</a>, посвящённого созданию лицевой анимации Marvel’s Guardian of the Galaxy.</p>
19 <p>3D-сканирование людей методом фотограмметрии технически сложнее, так как человек - живое существо. Даже находясь в неподвижном положении, он будет дышать и моргать. Поэтому для корректного захвата деталей человеческого лица<a>используют</a>десятки камер. Более подробно об этом процессе можно узнать из <a>доклада</a>, посвящённого созданию лицевой анимации Marvel’s Guardian of the Galaxy.</p>
20 <p>При этом фотограмметрия - далеко не инновационный метод, так как появилась она почти одновременно с фотографией. На протяжении многих лет эта техника была одним из инструментов геодезии и картографии. Но по мере развития технологий и увеличения мощности компьютеров её активнее стали использовать в производстве визуальных эффектов и видеоигр.</p>
20 <p>При этом фотограмметрия - далеко не инновационный метод, так как появилась она почти одновременно с фотографией. На протяжении многих лет эта техника была одним из инструментов геодезии и картографии. Но по мере развития технологий и увеличения мощности компьютеров её активнее стали использовать в производстве визуальных эффектов и видеоигр.</p>
21 <p>Вышедшее в 2014 году приключение с элементами хоррора стало одной из первых игр с ассетами окружения,<a>полученными</a>в результате фотограмметрии. За счёт этого окружение казалось более реалистичным и сильнее ощущалась атмосфера, что в совокупности с интересной историей и головоломками обеспечило инди-проекту массу положительных отзывов от игроков и высокие<a>оценки</a>критиков.</p>
21 <p>Вышедшее в 2014 году приключение с элементами хоррора стало одной из первых игр с ассетами окружения,<a>полученными</a>в результате фотограмметрии. За счёт этого окружение казалось более реалистичным и сильнее ощущалась атмосфера, что в совокупности с интересной историей и головоломками обеспечило инди-проекту массу положительных отзывов от игроков и высокие<a>оценки</a>критиков.</p>
22 <em>Скриншот: The Vanishing of Ethan Carter / The Astronauts</em><p>После релиза The Vanishing of Ethan Carter фотограмметрия стала востребованной как в инди, так и в высокобюджетных проектах. Согласно<a>исследованию</a>Digital Games Research Association (DIGRA), c 2014 по 2019 год фотограмметрию использовали создатели как минимум 26 вышедших в этот период игр - и ещё семи проектов, которые на тот момент находились в разработке (среди них, к примеру, ныне вышедшие The Beast Inside или Serious Sam 4).</p>
22 <em>Скриншот: The Vanishing of Ethan Carter / The Astronauts</em><p>После релиза The Vanishing of Ethan Carter фотограмметрия стала востребованной как в инди, так и в высокобюджетных проектах. Согласно<a>исследованию</a>Digital Games Research Association (DIGRA), c 2014 по 2019 год фотограмметрию использовали создатели как минимум 26 вышедших в этот период игр - и ещё семи проектов, которые на тот момент находились в разработке (среди них, к примеру, ныне вышедшие The Beast Inside или Serious Sam 4).</p>
23 <p>При разработке карт для шутера Battlefield V студия DICE<a>снимала</a>природный ландшафт, объекты из реальной жизни и архитектуру - при этом не только с помощью камер, но и используя дроны.</p>
23 <p>При разработке карт для шутера Battlefield V студия DICE<a>снимала</a>природный ландшафт, объекты из реальной жизни и архитектуру - при этом не только с помощью камер, но и используя дроны.</p>
24 <a><em>Кадры</em></a><em>: доклад DICE о создании фотореалистичного окружения на мероприятии от Gnomon / YouTube</em><a><em>Кадры</em></a><em>: доклад DICE о создании фотореалистичного окружения на мероприятии от Gnomon / YouTube</em><p>Так как съёмки велись в основном на открытом воздухе, соблюдать погодные условия для передачи корректного рельефа при 3D-сканировании было достаточно сложно. Поэтому разработчики сочетали фотограмметрию с техникой<a>фотометрического стерео</a> - иными словами освещали один и тот же объект под разными углами, делая при этом снимки. За счёт этого карты нормалей и альбедо получились более высокого качества, что важно для передачи реалистичных поверхностей.</p>
24 <a><em>Кадры</em></a><em>: доклад DICE о создании фотореалистичного окружения на мероприятии от Gnomon / YouTube</em><a><em>Кадры</em></a><em>: доклад DICE о создании фотореалистичного окружения на мероприятии от Gnomon / YouTube</em><p>Так как съёмки велись в основном на открытом воздухе, соблюдать погодные условия для передачи корректного рельефа при 3D-сканировании было достаточно сложно. Поэтому разработчики сочетали фотограмметрию с техникой<a>фотометрического стерео</a> - иными словами освещали один и тот же объект под разными углами, делая при этом снимки. За счёт этого карты нормалей и альбедо получились более высокого качества, что важно для передачи реалистичных поверхностей.</p>
25 <p>Когда необходимо перенести в 3D объекты огромных масштабов, применяется комплексный подход с использованием фотограмметрии и лазерного сканирования. Так, когда команда Turn 10 Studios снимала контент для будущей трассы в Дубае, выяснилось, что фотоснимков для объектов, референсов ландшафта и <a>PBR-текстур</a>недостаточно. В частности из-за того, что по ним было сложно восстановить настоящий размер гористой местности. К тому же часть ландшафта было невозможно охватить камерами со всех сторон.</p>
25 <p>Когда необходимо перенести в 3D объекты огромных масштабов, применяется комплексный подход с использованием фотограмметрии и лазерного сканирования. Так, когда команда Turn 10 Studios снимала контент для будущей трассы в Дубае, выяснилось, что фотоснимков для объектов, референсов ландшафта и <a>PBR-текстур</a>недостаточно. В частности из-за того, что по ним было сложно восстановить настоящий размер гористой местности. К тому же часть ландшафта было невозможно охватить камерами со всех сторон.</p>
26 <p>Тогда разработчики<a>прибегли</a>к использованию лазерного сканирования с помощью системы Leica, с технологией LiDAR. Этот метод позволил разработчикам создать максимально подробные превизы для художников. Помимо отсканированного объекта с реальными размерами в 3ds Max, на руках у специалистов были фотореференсы и готовые PBR-материалы. Оставалось только использовать контент, полученный в результате лазерного сканирования, и воссоздать на его основе реалистичные игровые ассеты. В итоге LiDAR давал точную информацию о масштабе и рельефе окружения, а фотограмметрия помогла его финализировать.</p>
26 <p>Тогда разработчики<a>прибегли</a>к использованию лазерного сканирования с помощью системы Leica, с технологией LiDAR. Этот метод позволил разработчикам создать максимально подробные превизы для художников. Помимо отсканированного объекта с реальными размерами в 3ds Max, на руках у специалистов были фотореференсы и готовые PBR-материалы. Оставалось только использовать контент, полученный в результате лазерного сканирования, и воссоздать на его основе реалистичные игровые ассеты. В итоге LiDAR давал точную информацию о масштабе и рельефе окружения, а фотограмметрия помогла его финализировать.</p>
27 Комбинации крупных объектов после лазерного сканирования и объектов, полученных в результате фотограмметрии. Жёлтым отмечены объекты, воссозданные в результате лазерного сканирования, синим - PBR-материалы поверхности, красным - ассеты, полученные с помощью фотограмметрии<a><em>Кадры</em></a><em>: доклад Трэвиса Госнелла о фотограмметрии и лазерном сканировании в Forza Motorsport 7 на GDC 2018 / YouTube</em>Комбинации крупных объектов после лазерного сканирования и объектов, полученных в результате фотограмметрии. Жёлтым отмечены объекты, воссозданные в результате лазерного сканирования, синим - PBR-материалы поверхности, красным - ассеты, полученные с помощью фотограмметрии<a><em>Кадры</em></a><em>: доклад Трэвиса Госнелла о фотограмметрии и лазерном сканировании в Forza Motorsport 7 на GDC 2018 / YouTube</em><p>Большинство программ для фотограмметрии работают по следующей схеме:</p>
27 Комбинации крупных объектов после лазерного сканирования и объектов, полученных в результате фотограмметрии. Жёлтым отмечены объекты, воссозданные в результате лазерного сканирования, синим - PBR-материалы поверхности, красным - ассеты, полученные с помощью фотограмметрии<a><em>Кадры</em></a><em>: доклад Трэвиса Госнелла о фотограмметрии и лазерном сканировании в Forza Motorsport 7 на GDC 2018 / YouTube</em>Комбинации крупных объектов после лазерного сканирования и объектов, полученных в результате фотограмметрии. Жёлтым отмечены объекты, воссозданные в результате лазерного сканирования, синим - PBR-материалы поверхности, красным - ассеты, полученные с помощью фотограмметрии<a><em>Кадры</em></a><em>: доклад Трэвиса Госнелла о фотограмметрии и лазерном сканировании в Forza Motorsport 7 на GDC 2018 / YouTube</em><p>Большинство программ для фотограмметрии работают по следующей схеме:</p>
28 <ul><li>анализ загруженных фотографий;</li>
28 <ul><li>анализ загруженных фотографий;</li>
29 <li>генерация облака точек;</li>
29 <li>генерация облака точек;</li>
30 <li>формирование готового меша;</li>
30 <li>формирование готового меша;</li>
31 <li>первичная обработка и экспорт.</li>
31 <li>первичная обработка и экспорт.</li>
32 </ul><p>Итоговая форма объекта в 3D во многом зависит от качества загруженных фотографий и их количества с разных ракурсов. В целом процесс почти всегда одинаковый и отличается лишь дополнительным функционалом, связанным с первичной обработкой меша и экспортом (отсечением лишней области, сокращением количества полигонов, экспортом текстур, разнообразием форматов для экспорта 3D-модели и так далее). Ниже представлено несколько десктопных программ, которые часто используют в индустрии.</p>
32 </ul><p>Итоговая форма объекта в 3D во многом зависит от качества загруженных фотографий и их количества с разных ракурсов. В целом процесс почти всегда одинаковый и отличается лишь дополнительным функционалом, связанным с первичной обработкой меша и экспортом (отсечением лишней области, сокращением количества полигонов, экспортом текстур, разнообразием форматов для экспорта 3D-модели и так далее). Ниже представлено несколько десктопных программ, которые часто используют в индустрии.</p>
33 <p>В отличие от многих специализированных программ, Meshroom бесплатна и хорошо справляется со сканированием статичных объектов. Это значит, что она подойдёт как любителям, так и продвинутым пользователям. В Сети можно найти немало подробных<a>видеоуроков</a>по Meshroom, что поможет начинающим быстро освоить работу с программой. Одним из существенных недостатков Meshroom считают её изначальную<a>эксклюзивность</a>для Nvidia из-за встроенного фреймворка для вычислений CUDA. Но проблему можно решить, установив расширение<a>MeshroomCL</a>, которое поддерживает и другие графические процессоры.</p>
33 <p>В отличие от многих специализированных программ, Meshroom бесплатна и хорошо справляется со сканированием статичных объектов. Это значит, что она подойдёт как любителям, так и продвинутым пользователям. В Сети можно найти немало подробных<a>видеоуроков</a>по Meshroom, что поможет начинающим быстро освоить работу с программой. Одним из существенных недостатков Meshroom считают её изначальную<a>эксклюзивность</a>для Nvidia из-за встроенного фреймворка для вычислений CUDA. Но проблему можно решить, установив расширение<a>MeshroomCL</a>, которое поддерживает и другие графические процессоры.</p>
34 <p><strong>Разработчик:</strong>Agisoft</p>
34 <p><strong>Разработчик:</strong>Agisoft</p>
35 <p><a><strong>Сайт программы</strong></a></p>
35 <p><a><strong>Сайт программы</strong></a></p>
36 <p><strong>Стоимость лицензии:</strong>179 долларов / 3499 долларов; есть пробный 30-дневный период</p>
36 <p><strong>Стоимость лицензии:</strong>179 долларов / 3499 долларов; есть пробный 30-дневный период</p>
37 <p>Многофункциональный инструмент от российской компании. В <a>стандартной версии</a>доступно создание 3D-моделей с фотореалистичными текстурами и расширенным редактированием, обработка снимков, снятых с разных фотокамер, а также сшивание панорам в 360°. Совместима со всеми видеокартами. Из минусов пользователи<a>отмечают</a>долгую обработку и сложный интерфейс.</p>
37 <p>Многофункциональный инструмент от российской компании. В <a>стандартной версии</a>доступно создание 3D-моделей с фотореалистичными текстурами и расширенным редактированием, обработка снимков, снятых с разных фотокамер, а также сшивание панорам в 360°. Совместима со всеми видеокартами. Из минусов пользователи<a>отмечают</a>долгую обработку и сложный интерфейс.</p>
38 <p><strong>Разработчик:</strong>Adobe</p>
38 <p><strong>Разработчик:</strong>Adobe</p>
39 <p><a><strong>Сайт программы</strong></a></p>
39 <p><a><strong>Сайт программы</strong></a></p>
40 <p><strong>Стоимость лицензии:</strong>49,99 доллара в месяц за весь пакет инструментов Substance 3D</p>
40 <p><strong>Стоимость лицензии:</strong>49,99 доллара в месяц за весь пакет инструментов Substance 3D</p>
41 <p>Новый инструмент для фотограмметрии в экосистеме Adobe. Преимущества в том, что полученный 3D-объект можно легко интегрировать в другие инструменты Substance, а затем доработать меш и текстуры. Substance 3D Sampler вышла несколько месяцев назад. В некоторых обзорах указывают на проблемы с <a>импортом</a>фотографий и <a>неточностью</a>в передаче деталей по сравнению с аналогами.</p>
41 <p>Новый инструмент для фотограмметрии в экосистеме Adobe. Преимущества в том, что полученный 3D-объект можно легко интегрировать в другие инструменты Substance, а затем доработать меш и текстуры. Substance 3D Sampler вышла несколько месяцев назад. В некоторых обзорах указывают на проблемы с <a>импортом</a>фотографий и <a>неточностью</a>в передаче деталей по сравнению с аналогами.</p>
42 <p><strong>Разработчик:</strong>3Dflow</p>
42 <p><strong>Разработчик:</strong>3Dflow</p>
43 <p><a><strong>Сайт программы</strong></a></p>
43 <p><a><strong>Сайт программы</strong></a></p>
44 <p><strong>Стоимость лицензии:</strong>от 0 до 4200 евро</p>
44 <p><strong>Стоимость лицензии:</strong>от 0 до 4200 евро</p>
45 <p>Любители и начинающие пользователи могут начать с бесплатной версии 3DF Zephyr Free, в которой можно загрузить до 50 фотографий на сеанс сканирования, что подойдёт для создания небольших 3D-объектов с простой геометрией. Для более детальных ассетов в контексте игрового окружения подойдёт версия 3DF Zephyr Lite: в ней нет ограничений по загрузке фотографий и форматов по экспорту текстур. Из-за фреймворка CUDA программа работает только с видеокартами Nvidia. В случае с AMD программа будет работать, но в <a>разы</a>медленнее, так как вся нагрузка пойдёт на центральный процессор.</p>
45 <p>Любители и начинающие пользователи могут начать с бесплатной версии 3DF Zephyr Free, в которой можно загрузить до 50 фотографий на сеанс сканирования, что подойдёт для создания небольших 3D-объектов с простой геометрией. Для более детальных ассетов в контексте игрового окружения подойдёт версия 3DF Zephyr Lite: в ней нет ограничений по загрузке фотографий и форматов по экспорту текстур. Из-за фреймворка CUDA программа работает только с видеокартами Nvidia. В случае с AMD программа будет работать, но в <a>разы</a>медленнее, так как вся нагрузка пойдёт на центральный процессор.</p>
46 <p><strong>Разработчик:</strong>Capturing Reality, Epic Games</p>
46 <p><strong>Разработчик:</strong>Capturing Reality, Epic Games</p>
47 <p><a><strong>Сайт программы</strong></a></p>
47 <p><a><strong>Сайт программы</strong></a></p>
48 <p><strong>Стоимость лицензии:</strong>от 10 до 3750 долларов</p>
48 <p><strong>Стоимость лицензии:</strong>от 10 до 3750 долларов</p>
49 <p>Специфика лицензии RealityCapture отличается от других похожих программ тем, что здесь пользователь платит не за использование программы, а за входные данные. Это значит, что расчёт производится за количество снимков и их разрешение в мегапикселях. Для этого на сайте программы существует специальный<a>калькулятор</a>. Предпросмотр результата фотограмметрии и его оптимизация бесплатны. Оплата предполагается только за экспорт модели.</p>
49 <p>Специфика лицензии RealityCapture отличается от других похожих программ тем, что здесь пользователь платит не за использование программы, а за входные данные. Это значит, что расчёт производится за количество снимков и их разрешение в мегапикселях. Для этого на сайте программы существует специальный<a>калькулятор</a>. Предпросмотр результата фотограмметрии и его оптимизация бесплатны. Оплата предполагается только за экспорт модели.</p>
50 <p>Что касается<a>функционала</a>, то в Reality Capture доступен импорт данных с фото, видео, лазерного сканирования, генерация карт нормалей/смещения и большой выбор расширений для экспорта. Как и Meshroom, RealityCapture поддерживает генерацию отсканированного меша только при наличии карты Nvidia из-за использования фреймворка CUDA 3.0, поэтому владельцам AMD Radeon придётся рассмотреть альтернативы.</p>
50 <p>Что касается<a>функционала</a>, то в Reality Capture доступен импорт данных с фото, видео, лазерного сканирования, генерация карт нормалей/смещения и большой выбор расширений для экспорта. Как и Meshroom, RealityCapture поддерживает генерацию отсканированного меша только при наличии карты Nvidia из-за использования фреймворка CUDA 3.0, поэтому владельцам AMD Radeon придётся рассмотреть альтернативы.</p>
51 <p>Весной 2022 года<a>состоялся</a>релиз RealityScan - бесплатного приложения от Capturing Reality для iOS (разработчики обещают версию для Android в течение текущего года). С помощью него можно снимать объект на камеры iPhone или iPad с разных ракурсов и получать готовую 3D-модель с возможностью интеграции в Unreal Engine.</p>
51 <p>Весной 2022 года<a>состоялся</a>релиз RealityScan - бесплатного приложения от Capturing Reality для iOS (разработчики обещают версию для Android в течение текущего года). С помощью него можно снимать объект на камеры iPhone или iPad с разных ракурсов и получать готовую 3D-модель с возможностью интеграции в Unreal Engine.</p>
52 <p>Несмотря на относительно лёгкий процесс, представленный в презентационном<a>видео</a>, на практике мобильная фотограмметрия RealityScan омрачается некорректным анализом данных с полученных снимков, даже если их сделано очень много. Здесь можно сослаться на то, что приложение всё ещё находится в бета-версии, но пока<a>отзывы</a>пользователей говорят сами за себя.</p>
52 <p>Несмотря на относительно лёгкий процесс, представленный в презентационном<a>видео</a>, на практике мобильная фотограмметрия RealityScan омрачается некорректным анализом данных с полученных снимков, даже если их сделано очень много. Здесь можно сослаться на то, что приложение всё ещё находится в бета-версии, но пока<a>отзывы</a>пользователей говорят сами за себя.</p>
53 <p>В последние годы всё больше набирают популярность мобильные приложения для фотограмметрии: камеры в смартфонах стали мощнее, а в iPhone (с выходом моделей 12 Pro и iPhone 12 Pro Max) и iPad Pro стала доступна технология LiDAR. На сегодняшний день на рынке мобильных приложений есть как платные, так и бесплатные<a>инструменты</a>и для Android, и для iOS. С ними можно создать качественный скан 3D-объекта и в дальнейшем интегрировать его в свой проект.</p>
53 <p>В последние годы всё больше набирают популярность мобильные приложения для фотограмметрии: камеры в смартфонах стали мощнее, а в iPhone (с выходом моделей 12 Pro и iPhone 12 Pro Max) и iPad Pro стала доступна технология LiDAR. На сегодняшний день на рынке мобильных приложений есть как платные, так и бесплатные<a>инструменты</a>и для Android, и для iOS. С ними можно создать качественный скан 3D-объекта и в дальнейшем интегрировать его в свой проект.</p>
54 <p>Среди универсальных приложений можно отметить<a>Polycam</a>. В нём есть возможность бесплатной обработки фото, интеграция с порталом Sketchfab, а встроенная функция LiDAR охватывает большие пространства. В результате Интернет заполонили трёхмерные модели комнат пользователей, что стало своеобразным<a>мемом</a>. Рассмотрим работу Polycam на практике.</p>
54 <p>Среди универсальных приложений можно отметить<a>Polycam</a>. В нём есть возможность бесплатной обработки фото, интеграция с порталом Sketchfab, а встроенная функция LiDAR охватывает большие пространства. В результате Интернет заполонили трёхмерные модели комнат пользователей, что стало своеобразным<a>мемом</a>. Рассмотрим работу Polycam на практике.</p>
55 <p>Загружаем приложение и открываем его. Создаём аккаунт. На данный момент в Polycam доступно три режима 3D-сканирования.</p>
55 <p>Загружаем приложение и открываем его. Создаём аккаунт. На данный момент в Polycam доступно три режима 3D-сканирования.</p>
56 <em>Скриншот: Polycam / Polycam Inc.</em><ul><li><strong>LiDAR</strong>(для владельцев iPhone/iPad) - сканирование больших пространств с учётом деталей;</li>
56 <em>Скриншот: Polycam / Polycam Inc.</em><ul><li><strong>LiDAR</strong>(для владельцев iPhone/iPad) - сканирование больших пространств с учётом деталей;</li>
57 <li><strong>Room</strong>(для владельцев iPhone/iPad) - сканирование основной планировки помещений: во время записи видео фиксируются углы, окна и дверные проёмы;</li>
57 <li><strong>Room</strong>(для владельцев iPhone/iPad) - сканирование основной планировки помещений: во время записи видео фиксируются углы, окна и дверные проёмы;</li>
58 <li><strong>Фото</strong>(доступно в iOS и Android) - сеанс фотограмметрии, который в Polycam называется фотозахватом. По умолчанию в нём стоит режим записи, при котором приложение автоматически делает снимки объекта под разными углами по мере вращения камеры вокруг цели. При переключении на режим со значком фотокамеры все кадры придётся делать вручную.</li>
58 <li><strong>Фото</strong>(доступно в iOS и Android) - сеанс фотограмметрии, который в Polycam называется фотозахватом. По умолчанию в нём стоит режим записи, при котором приложение автоматически делает снимки объекта под разными углами по мере вращения камеры вокруг цели. При переключении на режим со значком фотокамеры все кадры придётся делать вручную.</li>
59 </ul><p>В рамках фотограмметрии нас интересует режим "‎Фото", поэтому мы будем работать в нём. В качестве эксперимента попробуем отсканировать игровую<a>фигурку</a>Сэма Бриджеса, чтобы в дальнейшем "оживить‎" её в визуализации. Для мобильного приложения подойдёт любой объект с более или менее простой конструкцией. Впрочем, можно выбрать и более сложную форму, но в этом случае есть риск получить менее точный результат, и в дальнейшем объект придётся тщательней дорабатывать вручную непосредственно в программе для 3D-моделирования.</p>
59 </ul><p>В рамках фотограмметрии нас интересует режим "‎Фото", поэтому мы будем работать в нём. В качестве эксперимента попробуем отсканировать игровую<a>фигурку</a>Сэма Бриджеса, чтобы в дальнейшем "оживить‎" её в визуализации. Для мобильного приложения подойдёт любой объект с более или менее простой конструкцией. Впрочем, можно выбрать и более сложную форму, но в этом случае есть риск получить менее точный результат, и в дальнейшем объект придётся тщательней дорабатывать вручную непосредственно в программе для 3D-моделирования.</p>
60 <em>Фото: Леон Балбери</em><p>Требования к съёмкам объекта для фотограмметрии во многом схожи с требованиями к <a>съёмке поверхностей</a>будущих PBR-текстур.</p>
60 <em>Фото: Леон Балбери</em><p>Требования к съёмкам объекта для фотограмметрии во многом схожи с требованиями к <a>съёмке поверхностей</a>будущих PBR-текстур.</p>
61 <ul><li>Если объект находится на улице - желательно снимать его в облачную погоду. Если в помещении - нужно выставить рассеянный свет.</li>
61 <ul><li>Если объект находится на улице - желательно снимать его в облачную погоду. Если в помещении - нужно выставить рассеянный свет.</li>
62 <li>Чтобы избежать искажений, необходимо перемещать смартфон вокруг объекта медленно и под прямым углом. В зависимости от размеров объекта можно настроить фокус на панели сбоку (1x / 2,5x) и расположить гаджет так, чтобы изображение в камере не было размытым.</li>
62 <li>Чтобы избежать искажений, необходимо перемещать смартфон вокруг объекта медленно и под прямым углом. В зависимости от размеров объекта можно настроить фокус на панели сбоку (1x / 2,5x) и расположить гаджет так, чтобы изображение в камере не было размытым.</li>
63 <li>Убедитесь, что на выбранном для съёмки объекте нет отражающих/прозрачных деталей: программа не распознаёт их во время анализа. Это касается не только мобильных, но и десктопных приложений.</li>
63 <li>Убедитесь, что на выбранном для съёмки объекте нет отражающих/прозрачных деталей: программа не распознаёт их во время анализа. Это касается не только мобильных, но и десктопных приложений.</li>
64 <li>Делайте больше кадров под разными углами. Чем больше таких снимков - тем больше вероятность, что программа лучше обработает детали. Область перекрытия должна занимать не менее 50%.</li>
64 <li>Делайте больше кадров под разными углами. Чем больше таких снимков - тем больше вероятность, что программа лучше обработает детали. Область перекрытия должна занимать не менее 50%.</li>
65 </ul><p>Закончив серию снимков, нажимаем на кнопку "Выполнено‎". Перед отправкой в облако определяемся с качеством (обычно это Raw). Обычно процесс обработки фото занимает 5-10 минут.</p>
65 </ul><p>Закончив серию снимков, нажимаем на кнопку "Выполнено‎". Перед отправкой в облако определяемся с качеством (обычно это Raw). Обычно процесс обработки фото занимает 5-10 минут.</p>
66 <p><strong>Примечание</strong></p>
66 <p><strong>Примечание</strong></p>
67 <p>В бесплатной версии Polycam количество фотозахватов ограничено. Их можно зарабатывать, выполняя различные задания. Ограничение будет снято, если оформить подписку.</p>
67 <p>В бесплатной версии Polycam количество фотозахватов ограничено. Их можно зарабатывать, выполняя различные задания. Ограничение будет снято, если оформить подписку.</p>
68 Список доступных заданий, за которые можно заработать фотозахваты<em>Скриншот: Polycam / Polycam Inc.</em><p>Когда обработка будет закончена, в приложении появится 3D-объект, полученный в результате сканирования.</p>
68 Список доступных заданий, за которые можно заработать фотозахваты<em>Скриншот: Polycam / Polycam Inc.</em><p>Когда обработка будет закончена, в приложении появится 3D-объект, полученный в результате сканирования.</p>
69 <em>Скриншот: Polycam / Polycam Inc.</em><p>В приложение встроен мини-редактор, где можно произвести базовые манипуляции с моделью: удалить лишние фрагменты, добавить дополнительные кадры, увеличить размер, записать видео и даже запустить режим AR, чтобы рассмотреть, как выглядит модель в обычной среде, и сравнить с оригиналом.</p>
69 <em>Скриншот: Polycam / Polycam Inc.</em><p>В приложение встроен мини-редактор, где можно произвести базовые манипуляции с моделью: удалить лишние фрагменты, добавить дополнительные кадры, увеличить размер, записать видео и даже запустить режим AR, чтобы рассмотреть, как выглядит модель в обычной среде, и сравнить с оригиналом.</p>
70 Демонстрация редактора обрезки лишних деталей в формате цилиндра<em>Скриншот: Polycam / Polycam Inc.</em><p>Сохраняем объект (крайний значок в правом углу) и переходим в настройки экспорта. В разделе<strong>Export to</strong>можно выбрать софт, в который мы хотим интегрировать нашу модель. В данном случае выбран Blender, так как дальнейшую обработку мы будем проводить именно в этой программе.</p>
70 Демонстрация редактора обрезки лишних деталей в формате цилиндра<em>Скриншот: Polycam / Polycam Inc.</em><p>Сохраняем объект (крайний значок в правом углу) и переходим в настройки экспорта. В разделе<strong>Export to</strong>можно выбрать софт, в который мы хотим интегрировать нашу модель. В данном случае выбран Blender, так как дальнейшую обработку мы будем проводить именно в этой программе.</p>
71 <em>Скриншот: Polycam / Polycam Inc.</em><p>В бесплатной версии Polycam доступен только формат .GLTF. После этого мы можем выбрать, куда загрузить объект: в мессенджер - или же в облако, откуда затем объект можно скачать на жёсткий диск.</p>
71 <em>Скриншот: Polycam / Polycam Inc.</em><p>В бесплатной версии Polycam доступен только формат .GLTF. После этого мы можем выбрать, куда загрузить объект: в мессенджер - или же в облако, откуда затем объект можно скачать на жёсткий диск.</p>
72 <p><strong>Примечание</strong></p>
72 <p><strong>Примечание</strong></p>
73 <p>Чтобы загрузить .GLTF-файл в Blender, потребуется установить аддон<strong>Import-Export: .gLTF 2.0 format</strong>. Он находится в настройках программы, в меню аддонов - достаточно набрать название выше в поиске и поставить напротив него галочку.</p>
73 <p>Чтобы загрузить .GLTF-файл в Blender, потребуется установить аддон<strong>Import-Export: .gLTF 2.0 format</strong>. Он находится в настройках программы, в меню аддонов - достаточно набрать название выше в поиске и поставить напротив него галочку.</p>
74 <p>В каком бы софте ни проводилось сканирование и каким бы удачным на первый взгляд ни показался результат, полученный объект всё равно нуждается в исправлении топологии. Всегда найдутся проблемные места, которые программа не смогла проанализировать по фотографиям, и на этих участках будут различные дефекты в виде растяжек или разрывов полигональной сетки.</p>
74 <p>В каком бы софте ни проводилось сканирование и каким бы удачным на первый взгляд ни показался результат, полученный объект всё равно нуждается в исправлении топологии. Всегда найдутся проблемные места, которые программа не смогла проанализировать по фотографиям, и на этих участках будут различные дефекты в виде растяжек или разрывов полигональной сетки.</p>
75 <p>К тому же отсканированный объект по умолчанию состоит из десятков тысяч полигонов, что неприемлемо для импорта в качестве игрового ассета. В некоторых инструментах - например, в Metashape - можно сразу указать предполагаемое количество полигонов будущей модели, а на полученном скане сразу отсечь лишние данные в виде точек или полигонов. Так или иначе, модель, прошедшую сеанс фотограмметрии, всё равно придётся дорабатывать вручную.</p>
75 <p>К тому же отсканированный объект по умолчанию состоит из десятков тысяч полигонов, что неприемлемо для импорта в качестве игрового ассета. В некоторых инструментах - например, в Metashape - можно сразу указать предполагаемое количество полигонов будущей модели, а на полученном скане сразу отсечь лишние данные в виде точек или полигонов. Так или иначе, модель, прошедшую сеанс фотограмметрии, всё равно придётся дорабатывать вручную.</p>
76 Полигональная сетка отсканированной модели. Оранжевым отмечены границы меша стойки, по которым будет проходить отсечение<em>Скриншот: Blender / Blender Foundation</em><p>И хотя фигурка, отсканированная в Polycam, получилась достаточно детальной для своего небольшого размера, она тоже нуждается в коррекции. Запускаем Blender, импортируем в него модель, выравниваем её по центру и оцениваем план работ. Помимо того, что нужно избавиться от пластиковой стойки, необходимо почистить‎ полигональную сетку, поработать в режиме Sculpting над чёлкой (часть её получилась плоской), переделать топологию, запечь и доработать текстуры.</p>
76 Полигональная сетка отсканированной модели. Оранжевым отмечены границы меша стойки, по которым будет проходить отсечение<em>Скриншот: Blender / Blender Foundation</em><p>И хотя фигурка, отсканированная в Polycam, получилась достаточно детальной для своего небольшого размера, она тоже нуждается в коррекции. Запускаем Blender, импортируем в него модель, выравниваем её по центру и оцениваем план работ. Помимо того, что нужно избавиться от пластиковой стойки, необходимо почистить‎ полигональную сетку, поработать в режиме Sculpting над чёлкой (часть её получилась плоской), переделать топологию, запечь и доработать текстуры.</p>
77 <p>Начнем с удаления лишних частей. Существует множество техник отсечения лишней геометрии в Blender. Здесь многое зависит от исходного меша и желаемого результата. Можно<a>обрезать</a>вершины в ортогональной перспективе, а затем достроить их вручную - или же<a>назначить</a>группы вершин, выделить нужную часть и отсечь лишнее. Также можно<a>использовать</a>инструмент<strong>Box Trim</strong>в режиме<strong>Sculpting</strong>, который делится на сам<strong>Box Trim</strong>(для ровных площадей) и <strong>Lasso Trim</strong>(для обрезания углов или мелких частей - этот метод работает не всегда).</p>
77 <p>Начнем с удаления лишних частей. Существует множество техник отсечения лишней геометрии в Blender. Здесь многое зависит от исходного меша и желаемого результата. Можно<a>обрезать</a>вершины в ортогональной перспективе, а затем достроить их вручную - или же<a>назначить</a>группы вершин, выделить нужную часть и отсечь лишнее. Также можно<a>использовать</a>инструмент<strong>Box Trim</strong>в режиме<strong>Sculpting</strong>, который делится на сам<strong>Box Trim</strong>(для ровных площадей) и <strong>Lasso Trim</strong>(для обрезания углов или мелких частей - этот метод работает не всегда).</p>
78 <p>Рассмотрим технику обрезания с помощью модификатора<strong>Логический</strong>(Boolean). Создаём куб, включаем режим сетки и подгоняем его структуру под модель таким образом, чтобы лишние части меша - в частности стойка - остались за его пределами. В этом поможет ортогональный режим.</p>
78 <p>Рассмотрим технику обрезания с помощью модификатора<strong>Логический</strong>(Boolean). Создаём куб, включаем режим сетки и подгоняем его структуру под модель таким образом, чтобы лишние части меша - в частности стойка - остались за его пределами. В этом поможет ортогональный режим.</p>
79 Разметка предполагаемого среза<em>Скриншот: Blender / Blender Foundation</em><p>Далее выделяем модель и добавляем модификатор<strong>Логический</strong>(Boolean). В качестве<strong>Объекта</strong>(Object) указываем<strong>Куб</strong>(Cube) и вместо<strong>Разницы</strong>(Difference) выбираем<strong>Пересечение</strong>(Intersect). Применяем и при необходимости повторяем операцию, изменив размер и расположение куба.</p>
79 Разметка предполагаемого среза<em>Скриншот: Blender / Blender Foundation</em><p>Далее выделяем модель и добавляем модификатор<strong>Логический</strong>(Boolean). В качестве<strong>Объекта</strong>(Object) указываем<strong>Куб</strong>(Cube) и вместо<strong>Разницы</strong>(Difference) выбираем<strong>Пересечение</strong>(Intersect). Применяем и при необходимости повторяем операцию, изменив размер и расположение куба.</p>
80 Удаление оставшихся частей меша модификатором. В этом случае уже используют<strong>Разницу</strong>(Difference), так как удаляется всё, что затрагивает площадь куба<em>Изображение: Blender / Blender Foundation</em><p>Если сейчас включить отображение шейдеров во вьюпорте, на поверхности отсканированного объекта можно заметить дефекты - искажение нормалей на пересечении участках UV-островов, которые хаотично сгенерировал Polycam. Это связано с тем, что геометрия объекта изменилась. Чтобы исправить эти артефакты, пересчитаем нормали с помощью модификатора<strong>Взвешенная Нормаль</strong>(Weighted Normal).</p>
80 Удаление оставшихся частей меша модификатором. В этом случае уже используют<strong>Разницу</strong>(Difference), так как удаляется всё, что затрагивает площадь куба<em>Изображение: Blender / Blender Foundation</em><p>Если сейчас включить отображение шейдеров во вьюпорте, на поверхности отсканированного объекта можно заметить дефекты - искажение нормалей на пересечении участках UV-островов, которые хаотично сгенерировал Polycam. Это связано с тем, что геометрия объекта изменилась. Чтобы исправить эти артефакты, пересчитаем нормали с помощью модификатора<strong>Взвешенная Нормаль</strong>(Weighted Normal).</p>
81 <p>Коррекцию на более мелких участках меша можно выполнить также c помощью<strong>Boolean</strong>, но выбрать другую фигуру, либо доделать вручную методом редактирования вершин, рёбер и граней. Такой метод более медленный, но позволяет выполнить работу точнее.</p>
81 <p>Коррекцию на более мелких участках меша можно выполнить также c помощью<strong>Boolean</strong>, но выбрать другую фигуру, либо доделать вручную методом редактирования вершин, рёбер и граней. Такой метод более медленный, но позволяет выполнить работу точнее.</p>
82 <p>Теперь поработаем в режиме Sculpting: удалим шумы, которые появились в результате фотограмметрии, и сделаем одни детали более выпуклыми, а другие, наоборот, сведём на нет (в частности шов от съёмной причёски, проходящий поперёк головы). После того как все манипуляции с моделированием и редактированием меша выполнены, ещё раз применяем модификатор<strong>Взвешенная Нормаль</strong>(Weighted Normal).</p>
82 <p>Теперь поработаем в режиме Sculpting: удалим шумы, которые появились в результате фотограмметрии, и сделаем одни детали более выпуклыми, а другие, наоборот, сведём на нет (в частности шов от съёмной причёски, проходящий поперёк головы). После того как все манипуляции с моделированием и редактированием меша выполнены, ещё раз применяем модификатор<strong>Взвешенная Нормаль</strong>(Weighted Normal).</p>
83 Сглаживание шумов и создание нового рельефа причёски в режиме<strong>Sculpting</strong><em>Изображение: Blender / Blender Foundation</em><p>После доработки в меше наверняка остались лишние грани и вершины. Очистим полигональную сетку в режиме редактирования:<strong>Меш</strong>(Mesh) -<strong>Очистка</strong>(Clean up) -<strong>Растворить вырожденные элементы</strong>(Degenerate Dissolve). После этого выберем<strong>Объединить по расстоянию</strong>(Merge by Distance). В конце применяем на модель<strong>Гладкое затенение</strong>(Shade Smooth). Избавившись от лишнего, можно приступить к упрощению топологии. В данной модели сейчас порядка 38 000 полигонов, что по меркам ассета очень много. Поэтому следующим шагом будет создание низкополигональной модели и перенос на неё деталей с оригинала.</p>
83 Сглаживание шумов и создание нового рельефа причёски в режиме<strong>Sculpting</strong><em>Изображение: Blender / Blender Foundation</em><p>После доработки в меше наверняка остались лишние грани и вершины. Очистим полигональную сетку в режиме редактирования:<strong>Меш</strong>(Mesh) -<strong>Очистка</strong>(Clean up) -<strong>Растворить вырожденные элементы</strong>(Degenerate Dissolve). После этого выберем<strong>Объединить по расстоянию</strong>(Merge by Distance). В конце применяем на модель<strong>Гладкое затенение</strong>(Shade Smooth). Избавившись от лишнего, можно приступить к упрощению топологии. В данной модели сейчас порядка 38 000 полигонов, что по меркам ассета очень много. Поэтому следующим шагом будет создание низкополигональной модели и перенос на неё деталей с оригинала.</p>
84 <p>В объектном режиме создаем дубликат меша<strong>(Shift +D)</strong>. Во избежание путаницы переименуем оба меша, пометив, что первый - высокополигональный, а второй - будущий низкополигональный. Скрываем первую модель из вьюпорта.</p>
84 <p>В объектном режиме создаем дубликат меша<strong>(Shift +D)</strong>. Во избежание путаницы переименуем оба меша, пометив, что первый - высокополигональный, а второй - будущий низкополигональный. Скрываем первую модель из вьюпорта.</p>
85 Стрелкой отмечен значок скрытия объекта<em>Скриншот: Blender / Blender Foundation</em><p>Теперь нам нужно сделать ремеш - задать новую топологию модели с помощью автоматической генерации. В этом процессе важно соблюдение баланса между количеством полигонов и итоговым качеством меша. Существует несколько способов ремеша в Blender. Рассмотрим варианты с примерами, на основе которых вы можете подобрать идеальный вариант оптимизации полигональной сетки для своего 3D-скана.</p>
85 Стрелкой отмечен значок скрытия объекта<em>Скриншот: Blender / Blender Foundation</em><p>Теперь нам нужно сделать ремеш - задать новую топологию модели с помощью автоматической генерации. В этом процессе важно соблюдение баланса между количеством полигонов и итоговым качеством меша. Существует несколько способов ремеша в Blender. Рассмотрим варианты с примерами, на основе которых вы можете подобрать идеальный вариант оптимизации полигональной сетки для своего 3D-скана.</p>
86 <ul><li><strong>Воксельный ремеш.</strong>Заходим в настройки данных объекта (зелёный значок), открываем параметр<strong>Remesh</strong>, включаем<strong>Воксель</strong>(Voxel) и подбираем оптимальный<strong>Размер вокселя</strong>(Voxel Size) под модель (ориентир на тысячные доли). Оставляем галочки напротив пунктов<strong>Исправить полюса</strong>(Fix Poles) и <strong>Объём</strong>(Volume). Нажимаем<strong>Воксельный ремеш</strong>(Voxel Remesh). После этого количество полигонов сократится примерно в несколько раз, и модель обретёт новую квадратную полигональную сетку.</li>
86 <ul><li><strong>Воксельный ремеш.</strong>Заходим в настройки данных объекта (зелёный значок), открываем параметр<strong>Remesh</strong>, включаем<strong>Воксель</strong>(Voxel) и подбираем оптимальный<strong>Размер вокселя</strong>(Voxel Size) под модель (ориентир на тысячные доли). Оставляем галочки напротив пунктов<strong>Исправить полюса</strong>(Fix Poles) и <strong>Объём</strong>(Volume). Нажимаем<strong>Воксельный ремеш</strong>(Voxel Remesh). После этого количество полигонов сократится примерно в несколько раз, и модель обретёт новую квадратную полигональную сетку.</li>
87 </ul>Результат после воксельного ремеша. Сетка местами неровная, но количество полигонов заметно сократилось<em>Скриншоты: Blender / Blender Foundation</em>Результат после воксельного ремеша. Сетка местами неровная, но количество полигонов заметно сократилось<em>Скриншоты: Blender / Blender Foundation</em><ul><li><strong>QuadriFlow.</strong>Режим<strong>Квад</strong>(Quad) также находится в разделе<strong>Remesh</strong>. Переходим в него и нажимаем<strong>Ремеш QuadriFlow</strong>(QuadriFlow Remesh). Отмечаем галочкой<strong>Сохранять остроту</strong>(Preserve Sharp) и <strong>Сохранить оболочку меша</strong>(Preserve Mesh Boundary), выставляем предполагаемое<strong>Количество граней</strong>(Number of Faces),<strong>Вариации случайности, используемой алгоритмом</strong>(Seed), подтверждаем выбор и смотрим результат. На скриншотах ниже можно увидеть, что в этом случае топология объекта выполнена гораздо чище.</li>
87 </ul>Результат после воксельного ремеша. Сетка местами неровная, но количество полигонов заметно сократилось<em>Скриншоты: Blender / Blender Foundation</em>Результат после воксельного ремеша. Сетка местами неровная, но количество полигонов заметно сократилось<em>Скриншоты: Blender / Blender Foundation</em><ul><li><strong>QuadriFlow.</strong>Режим<strong>Квад</strong>(Quad) также находится в разделе<strong>Remesh</strong>. Переходим в него и нажимаем<strong>Ремеш QuadriFlow</strong>(QuadriFlow Remesh). Отмечаем галочкой<strong>Сохранять остроту</strong>(Preserve Sharp) и <strong>Сохранить оболочку меша</strong>(Preserve Mesh Boundary), выставляем предполагаемое<strong>Количество граней</strong>(Number of Faces),<strong>Вариации случайности, используемой алгоритмом</strong>(Seed), подтверждаем выбор и смотрим результат. На скриншотах ниже можно увидеть, что в этом случае топология объекта выполнена гораздо чище.</li>
88 </ul>Результат, полученный в режиме Quad<em>Скриншоты: Blender / Blender Foundation</em>Результат, полученный в режиме Quad<em>Скриншоты: Blender / Blender Foundation</em><p>Недостаток этих двух подходов в том, что они генерируют квадратную сетку, которую воспринимают не все игровые движки.</p>
88 </ul>Результат, полученный в режиме Quad<em>Скриншоты: Blender / Blender Foundation</em>Результат, полученный в режиме Quad<em>Скриншоты: Blender / Blender Foundation</em><p>Недостаток этих двух подходов в том, что они генерируют квадратную сетку, которую воспринимают не все игровые движки.</p>
89 <ul><li><strong>Использование модификатора Упрощение</strong>(Decimate). В настройках выбираем<strong>Схлопнуть</strong>(Collapse) и уменьшаем значение<strong>Соотношения</strong>(Ratio) таким образом, чтобы максимально уменьшить количество полигонов, но сохранить изначальный объём меша.</li>
89 <ul><li><strong>Использование модификатора Упрощение</strong>(Decimate). В настройках выбираем<strong>Схлопнуть</strong>(Collapse) и уменьшаем значение<strong>Соотношения</strong>(Ratio) таким образом, чтобы максимально уменьшить количество полигонов, но сохранить изначальный объём меша.</li>
90 </ul><em>Скриншоты: Blender / Blender Foundation</em><em>Скриншоты: Blender / Blender Foundation</em><p>В результате полигональная сетка сохранилась, объём модели остался прежним. Но из-за неравномерной структуры могут возникнуть проблемы с отображением нормалей, которые модификатор<strong>Взвешенная нормаль</strong>(Weighted Normal) уже не исправит.</p>
90 </ul><em>Скриншоты: Blender / Blender Foundation</em><em>Скриншоты: Blender / Blender Foundation</em><p>В результате полигональная сетка сохранилась, объём модели остался прежним. Но из-за неравномерной структуры могут возникнуть проблемы с отображением нормалей, которые модификатор<strong>Взвешенная нормаль</strong>(Weighted Normal) уже не исправит.</p>
91 <ul><li><strong>Комплексный подход.</strong>Используем режим<strong>Квад</strong>(Quad), указав количество полигонов примерно в 1,5-2 раза ниже предполагаемого, а после, в режиме редактирования, добавляем треугольники на топологию с помощью модификатора<strong>Триангуляция</strong>(Triangualte). Он выполняет ту же функцию, что и деление геометрии на трианглы при нажатии<strong>CTRL + T</strong>в режиме редактирования, но итоговая сетка получается более равномерной.</li>
91 <ul><li><strong>Комплексный подход.</strong>Используем режим<strong>Квад</strong>(Quad), указав количество полигонов примерно в 1,5-2 раза ниже предполагаемого, а после, в режиме редактирования, добавляем треугольники на топологию с помощью модификатора<strong>Триангуляция</strong>(Triangualte). Он выполняет ту же функцию, что и деление геометрии на трианглы при нажатии<strong>CTRL + T</strong>в режиме редактирования, но итоговая сетка получается более равномерной.</li>
92 </ul>В результате этого подхода модель вписалась в задуманный лимит 10 000 полигонов, при этом сетка из трианглов получилась более равномерной<em>Скриншоты: Blender / Blender Foundation</em>В результате этого подхода модель вписалась в задуманный лимит 10 000 полигонов, при этом сетка из трианглов получилась более равномерной<em>Скриншоты: Blender / Blender Foundation</em><p>Уменьшаем остроту новых граней<strong>Гладким затенением</strong>(Shade Smooth) и при необходимости применяем модификатор<strong>Взвешенная нормаль</strong>(Weighted Normal).</p>
92 </ul>В результате этого подхода модель вписалась в задуманный лимит 10 000 полигонов, при этом сетка из трианглов получилась более равномерной<em>Скриншоты: Blender / Blender Foundation</em>В результате этого подхода модель вписалась в задуманный лимит 10 000 полигонов, при этом сетка из трианглов получилась более равномерной<em>Скриншоты: Blender / Blender Foundation</em><p>Уменьшаем остроту новых граней<strong>Гладким затенением</strong>(Shade Smooth) и при необходимости применяем модификатор<strong>Взвешенная нормаль</strong>(Weighted Normal).</p>
93 <p>Закончив с ремешем, переходим к самому сложному этапу - реконструкции UV-развёртки 3D-скана.</p>
93 <p>Закончив с ремешем, переходим к самому сложному этапу - реконструкции UV-развёртки 3D-скана.</p>
94 <p>Если сейчас зайти в раздел<strong>UV Editing</strong>, можно увидеть хаотично раскиданные отрезки текстурного пространства. Чтобы расположение UV-островов было более логичным, модели потребуется новая UV-развёртка.</p>
94 <p>Если сейчас зайти в раздел<strong>UV Editing</strong>, можно увидеть хаотично раскиданные отрезки текстурного пространства. Чтобы расположение UV-островов было более логичным, модели потребуется новая UV-развёртка.</p>
95 Редактор UV и исходное текстурное пространство<em>Скриншот: Blender / Blender Foundation</em><p>В Blender это можно сделать несколькими способами. Для простых объектов типа ваз или камней наверняка будет достаточно<strong>Умного UV-проецирования</strong>(Smart UV Project). Если модель более сложная, как персонаж из примера, придётся потратить время на <a>расстановку швов</a>.</p>
95 Редактор UV и исходное текстурное пространство<em>Скриншот: Blender / Blender Foundation</em><p>В Blender это можно сделать несколькими способами. Для простых объектов типа ваз или камней наверняка будет достаточно<strong>Умного UV-проецирования</strong>(Smart UV Project). Если модель более сложная, как персонаж из примера, придётся потратить время на <a>расстановку швов</a>.</p>
96 <p>Как только оптимальная UV-развёртка создана, приступаем к запеканию текстур.</p>
96 <p>Как только оптимальная UV-развёртка создана, приступаем к запеканию текстур.</p>
97 <p>Открыв режим<strong>Shading</strong>, можно увидеть как текстура пришла в негодность из-за нового расположения UV-островов. Переходим в раздел материалов на панели настроек объекта и убираем текущий слот. Проверяем, что оригинальный материал остался на высокополигональном меше.</p>
97 <p>Открыв режим<strong>Shading</strong>, можно увидеть как текстура пришла в негодность из-за нового расположения UV-островов. Переходим в раздел материалов на панели настроек объекта и убираем текущий слот. Проверяем, что оригинальный материал остался на высокополигональном меше.</p>
98 Удаление оригинального материала<em>Изображение: Blender / Blender Foundation</em><p>Создаём новый материал для low-poly-меша. Нажимаем кнопку<strong>+Создать</strong>(+New), после чего появится основной шейдер по умолчанию. Добавляем в поле нодов два<strong>Изображения-текстуры</strong>(Image Texture). Первое будет для диффуз-карты, а второе - для нормалей. В первом нажимаем кнопку<strong>+Создать</strong>(+New), выбираем имя и указываем предполагаемое разрешение. В данном примере оригинальная текстура выполнена в 4K-разрешении, и мы укажем 4096×4096, но можно выставить и другое значение. Параметр<strong>Альфа</strong>(Alpha) отмечаем в том случае, если нужна текстура с прозрачным фоном. Остальные опции оставляем как есть и проделываем всё то же самое для будущей карты нормалей.</p>
98 Удаление оригинального материала<em>Изображение: Blender / Blender Foundation</em><p>Создаём новый материал для low-poly-меша. Нажимаем кнопку<strong>+Создать</strong>(+New), после чего появится основной шейдер по умолчанию. Добавляем в поле нодов два<strong>Изображения-текстуры</strong>(Image Texture). Первое будет для диффуз-карты, а второе - для нормалей. В первом нажимаем кнопку<strong>+Создать</strong>(+New), выбираем имя и указываем предполагаемое разрешение. В данном примере оригинальная текстура выполнена в 4K-разрешении, и мы укажем 4096×4096, но можно выставить и другое значение. Параметр<strong>Альфа</strong>(Alpha) отмечаем в том случае, если нужна текстура с прозрачным фоном. Остальные опции оставляем как есть и проделываем всё то же самое для будущей карты нормалей.</p>
99 Пример настроек для Изображения-текстуры в разделе шейдеров<em>Скриншот: Blender / Blender Foundation</em><p>Заходим в настройки рендера и меняем движок на <strong>Cycles</strong>, так как запекание текстур работает только в нём.<strong>Устройством</strong>(Device) выбираем GPU-вычисления. Во вкладке<strong>Рендеринг</strong>(Render) в пункте<strong>Max Samples</strong>указываем минимальное количество семплов - например, пять, так как мы не будем рендерить картинку или анимацию. Убедитесь, что в <strong>Управлении цветом</strong>(Color Management) стоит sRGB, а <strong>Преобразование вида</strong>(View Transform) отмечено как<strong>Стандартный</strong>(Standard).</p>
99 Пример настроек для Изображения-текстуры в разделе шейдеров<em>Скриншот: Blender / Blender Foundation</em><p>Заходим в настройки рендера и меняем движок на <strong>Cycles</strong>, так как запекание текстур работает только в нём.<strong>Устройством</strong>(Device) выбираем GPU-вычисления. Во вкладке<strong>Рендеринг</strong>(Render) в пункте<strong>Max Samples</strong>указываем минимальное количество семплов - например, пять, так как мы не будем рендерить картинку или анимацию. Убедитесь, что в <strong>Управлении цветом</strong>(Color Management) стоит sRGB, а <strong>Преобразование вида</strong>(View Transform) отмечено как<strong>Стандартный</strong>(Standard).</p>
100 Настройки рендера для будущего запекания<em>Скриншот: Blender / Blender Foundation</em><p>Нормали на низкополигональную модель мы перенесём с помощью модификаторов. Переходим в <strong>Layout</strong>и добавляем на low-poly-меш модификатор<strong>Мультиразрешение</strong>(Multiresolution) для подразделения поверхности и последующего переноса нормалей с оригинального меша. Вслед за ним добавляем модификатор<strong>Обтягивание</strong>(Shrinkwrap).</p>
100 Настройки рендера для будущего запекания<em>Скриншот: Blender / Blender Foundation</em><p>Нормали на низкополигональную модель мы перенесём с помощью модификаторов. Переходим в <strong>Layout</strong>и добавляем на low-poly-меш модификатор<strong>Мультиразрешение</strong>(Multiresolution) для подразделения поверхности и последующего переноса нормалей с оригинального меша. Вслед за ним добавляем модификатор<strong>Обтягивание</strong>(Shrinkwrap).</p>
101 <p>В первом модификаторе нажимаем<strong>Подразделить</strong>(Subdivide) два раза. В результате количество полигонов на low-poly-модели увеличится, и новая сетка уловит все детали. В <strong>Обтягивании</strong>(Shrinkwrap) указываем<strong>Целью</strong>(Target) оригинальную модель, а в качестве<strong>Wrap Method</strong>выбираем<strong>Проецирование</strong>(Project). Возможно, после этого отдельные вершины на модели исказятся. Ставим галочку напротив<strong>Инвертировать</strong>(Negative) - и все артефакты пропадут. Если они всё же остались, попробуйте выставить небольшое значение (примерно 0,001) в пункте<strong>Предел</strong>(Limit) и переключить<strong>Отбрасывать задние грани</strong>(Face Cull) на <strong>Сзади</strong>(Back). Если ничего из перечисленного не помогает и на отдельных местах остались небольшие дефекты, похожие на сколы, - оставьте как есть, мелкие недочёты можно откорректировать на финальном этапе.</p>
101 <p>В первом модификаторе нажимаем<strong>Подразделить</strong>(Subdivide) два раза. В результате количество полигонов на low-poly-модели увеличится, и новая сетка уловит все детали. В <strong>Обтягивании</strong>(Shrinkwrap) указываем<strong>Целью</strong>(Target) оригинальную модель, а в качестве<strong>Wrap Method</strong>выбираем<strong>Проецирование</strong>(Project). Возможно, после этого отдельные вершины на модели исказятся. Ставим галочку напротив<strong>Инвертировать</strong>(Negative) - и все артефакты пропадут. Если они всё же остались, попробуйте выставить небольшое значение (примерно 0,001) в пункте<strong>Предел</strong>(Limit) и переключить<strong>Отбрасывать задние грани</strong>(Face Cull) на <strong>Сзади</strong>(Back). Если ничего из перечисленного не помогает и на отдельных местах остались небольшие дефекты, похожие на сколы, - оставьте как есть, мелкие недочёты можно откорректировать на финальном этапе.</p>
102 <p>Применяем на меше<strong>Гладкое затенение</strong>(Shade Smooth), кликнув по нему<strong>ПКМ</strong>во вьюпорте, иначе будущая карта нормалей будет испещрена квадратами.</p>
102 <p>Применяем на меше<strong>Гладкое затенение</strong>(Shade Smooth), кликнув по нему<strong>ПКМ</strong>во вьюпорте, иначе будущая карта нормалей будет испещрена квадратами.</p>
103 Настройки модификатора<strong>Обтягивания</strong>(Shrinkwrap) в случае появления артефактов на меше<em>Скриншот: Blender / Blender Foundation</em><p>Применяем только модификатор<strong>Обтягивание</strong>(Shrinkwrap), а в <strong>Мультиразрешении</strong>(Multiresolution) выставляем<strong>Уровень просмотра</strong>(Level Viewport) на 0 (иначе детали на текстуру не перенесутся) и приступаем к запеканию нормалей.</p>
103 Настройки модификатора<strong>Обтягивания</strong>(Shrinkwrap) в случае появления артефактов на меше<em>Скриншот: Blender / Blender Foundation</em><p>Применяем только модификатор<strong>Обтягивание</strong>(Shrinkwrap), а в <strong>Мультиразрешении</strong>(Multiresolution) выставляем<strong>Уровень просмотра</strong>(Level Viewport) на 0 (иначе детали на текстуру не перенесутся) и приступаем к запеканию нормалей.</p>
104 <p>Заходим в <strong>Shading</strong>, выделяем low-poly-меш (если он не выделен), открываем настройки рендера, находим вкладку<strong>Запекание</strong>(Bake). Отмечаем галочкой<strong>Запечь из мультиразрешения</strong>(Bake from Multires) - и <strong>Тип запекания</strong>(Bake Type) автоматически поменяется на <strong>Нормали</strong>(Normals). Не забудьте указать<strong>Размер</strong>(Size)<strong>Отступа</strong>(Margin),<a>значение</a>которого зависит от размера текстуры.</p>
104 <p>Заходим в <strong>Shading</strong>, выделяем low-poly-меш (если он не выделен), открываем настройки рендера, находим вкладку<strong>Запекание</strong>(Bake). Отмечаем галочкой<strong>Запечь из мультиразрешения</strong>(Bake from Multires) - и <strong>Тип запекания</strong>(Bake Type) автоматически поменяется на <strong>Нормали</strong>(Normals). Не забудьте указать<strong>Размер</strong>(Size)<strong>Отступа</strong>(Margin),<a>значение</a>которого зависит от размера текстуры.</p>
105 <p>В редакторе шейдеров выделяем нод с текстурой, предназначенной для нормалей и нажимаем кнопку<strong>Запечь</strong>(Bake). Полученную карту можно сохранить, щёлкнув на значок рядом со вкладкой<strong>Вид</strong>(View) в левом нижнем углу<strong>Изображения*</strong>(Image) -<strong>Сохранить как…</strong>(Save as…) и выбрав оптимальные параметры для файла. Формат выбираем на своё усмотрение (обычно это .PNG),<strong>Сжатие</strong>(Compression) ставим на 0.</p>
105 <p>В редакторе шейдеров выделяем нод с текстурой, предназначенной для нормалей и нажимаем кнопку<strong>Запечь</strong>(Bake). Полученную карту можно сохранить, щёлкнув на значок рядом со вкладкой<strong>Вид</strong>(View) в левом нижнем углу<strong>Изображения*</strong>(Image) -<strong>Сохранить как…</strong>(Save as…) и выбрав оптимальные параметры для файла. Формат выбираем на своё усмотрение (обычно это .PNG),<strong>Сжатие</strong>(Compression) ставим на 0.</p>
106 <p>Созданную текстуру можно сразу проверить на меше, подключив её к Принципиальному<strong>BSDF</strong>(Principled BSDF) через<strong>Карту нормалей</strong>(Normal Map).</p>
106 <p>Созданную текстуру можно сразу проверить на меше, подключив её к Принципиальному<strong>BSDF</strong>(Principled BSDF) через<strong>Карту нормалей</strong>(Normal Map).</p>
107 Подключение карты нормалей в разделе<strong>Shading</strong><em>Скриншот: Blender / Blender Foundation</em><p>Если результат переноса нормалей устраивает, отключаем модификатор<strong>Мультиразрешение</strong>(Multiresolution). Возвращаемся в раздел шейдеров и включаем во вьюпорте отображение оригинальной модели. Сначала выделяем её, а затем, удерживая<strong>Ctrl</strong>(это важно), выделяем также low-poly-меш, после чего заходим в настройки<strong>Запекания</strong>(Bake) и убираем галочку с пункта<strong>Запечь из мультиразрешения</strong>(Bake from Multires). В <strong>Типе запекания</strong>(Bake Type) выбираем<strong>Диффуз</strong>(Diffuse).</p>
107 Подключение карты нормалей в разделе<strong>Shading</strong><em>Скриншот: Blender / Blender Foundation</em><p>Если результат переноса нормалей устраивает, отключаем модификатор<strong>Мультиразрешение</strong>(Multiresolution). Возвращаемся в раздел шейдеров и включаем во вьюпорте отображение оригинальной модели. Сначала выделяем её, а затем, удерживая<strong>Ctrl</strong>(это важно), выделяем также low-poly-меш, после чего заходим в настройки<strong>Запекания</strong>(Bake) и убираем галочку с пункта<strong>Запечь из мультиразрешения</strong>(Bake from Multires). В <strong>Типе запекания</strong>(Bake Type) выбираем<strong>Диффуз</strong>(Diffuse).</p>
108 <p>Нам нужно запечь только<strong>Цвет</strong>(Color), поэтому убираем галочки с позиций<strong>Contributions</strong>, которые отвечают за запекание света, -<strong>Прямое</strong>(Direct) и <strong>Отражённое</strong>(Indirect). Обязательно отмечаем<strong>Выделение к активному</strong>(Selected to Active) - эта функция отвечает за перенос текстур с одного объекта на другой.</p>
108 <p>Нам нужно запечь только<strong>Цвет</strong>(Color), поэтому убираем галочки с позиций<strong>Contributions</strong>, которые отвечают за запекание света, -<strong>Прямое</strong>(Direct) и <strong>Отражённое</strong>(Indirect). Обязательно отмечаем<strong>Выделение к активному</strong>(Selected to Active) - эта функция отвечает за перенос текстур с одного объекта на другой.</p>
109 <p>Если low-poly-меш выходит за пределы оригинального меша, устанавливаем<strong>Выдавливание</strong>(Extrusion), иначе вместе с оригинальной текстурой запекутся и выпирающие участки низкополигональной модели. Значение во многом зависит от геометрии меша, в данном случае достаточно 0,01. После выбираем нод с картой Diffuse и нажимаем кнопку<strong>Запечь</strong>(Bake). Как правило, обработка диффуз-карт занимает больше времени, поэтому придётся подождать. Полученную текстуру сохраняем, как и предыдущую.</p>
109 <p>Если low-poly-меш выходит за пределы оригинального меша, устанавливаем<strong>Выдавливание</strong>(Extrusion), иначе вместе с оригинальной текстурой запекутся и выпирающие участки низкополигональной модели. Значение во многом зависит от геометрии меша, в данном случае достаточно 0,01. После выбираем нод с картой Diffuse и нажимаем кнопку<strong>Запечь</strong>(Bake). Как правило, обработка диффуз-карт занимает больше времени, поэтому придётся подождать. Полученную текстуру сохраняем, как и предыдущую.</p>
110 Настройки для запекания диффуз-карты и фрагмент итоговой запечки слева<em>Скриншот: Blender / Blender Foundation</em><p>Теперь осталось только подключить полученные карты к соответствующим слотам в шейдере<strong>Принципиальный BSDF</strong>(Principled BSDF) и настроить его свойства - например, убрать лишние блики, увеличив параметр<strong>Шероховатости</strong>(Roughness). При желании можно указать значение<a>IOR</a>, соответствующее типу материала.</p>
110 Настройки для запекания диффуз-карты и фрагмент итоговой запечки слева<em>Скриншот: Blender / Blender Foundation</em><p>Теперь осталось только подключить полученные карты к соответствующим слотам в шейдере<strong>Принципиальный BSDF</strong>(Principled BSDF) и настроить его свойства - например, убрать лишние блики, увеличив параметр<strong>Шероховатости</strong>(Roughness). При желании можно указать значение<a>IOR</a>, соответствующее типу материала.</p>
111 Пример настроек шейдера<em>Скриншот: Blender / Blender Foundation</em><p>На текстуре модели остались графические артефакты, которые нужно исправить. Переходим в режим<strong>Texture Paint</strong>и ищем проблемные места. Выбираем инструмент<strong>Клонирование</strong>(значок штампа) и, удерживая<strong>Ctrl</strong>, нажимаем на область, из которой нам нужно взять данные для закрашивания (в ней появится 3D-курсор). Далее точечно закрашиваем проблемный участок<strong>ЛКМ</strong>. Если вы обладаете продвинутыми художественными навыками, можете дорисовать или переделать некоторые детали стандартной кистью, используя графический планшет.</p>
111 Пример настроек шейдера<em>Скриншот: Blender / Blender Foundation</em><p>На текстуре модели остались графические артефакты, которые нужно исправить. Переходим в режим<strong>Texture Paint</strong>и ищем проблемные места. Выбираем инструмент<strong>Клонирование</strong>(значок штампа) и, удерживая<strong>Ctrl</strong>, нажимаем на область, из которой нам нужно взять данные для закрашивания (в ней появится 3D-курсор). Далее точечно закрашиваем проблемный участок<strong>ЛКМ</strong>. Если вы обладаете продвинутыми художественными навыками, можете дорисовать или переделать некоторые детали стандартной кистью, используя графический планшет.</p>
112 Пример закраски проблемного участка кистью-штампом<em>Изображение: Blender / Blender Foundation</em><p>Так же можно внести изменения в карту нормалей и убрать лишние выпуклости, включая неисправленные артефакты, которые образовались в результате<strong>Обтягивания</strong>(Shrinkwrap). После всех изменений не забудьте сохранить результат, нажав на кнопку<strong>Сохранить все изображения</strong>(Save all Images).</p>
112 Пример закраски проблемного участка кистью-штампом<em>Изображение: Blender / Blender Foundation</em><p>Так же можно внести изменения в карту нормалей и убрать лишние выпуклости, включая неисправленные артефакты, которые образовались в результате<strong>Обтягивания</strong>(Shrinkwrap). После всех изменений не забудьте сохранить результат, нажав на кнопку<strong>Сохранить все изображения</strong>(Save all Images).</p>
113 <p>Настало время сравнить итоговый результат с высокополигональной моделью.</p>
113 <p>Настало время сравнить итоговый результат с высокополигональной моделью.</p>
114 Слева - оригинальный 3D-скан, справа - доработанная low-poly-модель<em>Скриншот: Blender / Blender Foundation</em><p>Полученной low-poly-модели можно добавить глубины, сгенерировав дополнительные технические карты в <a>специальных программах</a>, и в дальнейшем использовать её в различных проектах. Например, предметы интерьера и скульптуры подойдут для оформления визуализаций и игровых уровней, а с тематическими фигурками можно делать различные арты и анимации в рамках фан-артов. В случае последних помните, что их использование не должно нарушать авторских прав.</p>
114 Слева - оригинальный 3D-скан, справа - доработанная low-poly-модель<em>Скриншот: Blender / Blender Foundation</em><p>Полученной low-poly-модели можно добавить глубины, сгенерировав дополнительные технические карты в <a>специальных программах</a>, и в дальнейшем использовать её в различных проектах. Например, предметы интерьера и скульптуры подойдут для оформления визуализаций и игровых уровней, а с тематическими фигурками можно делать различные арты и анимации в рамках фан-артов. В случае последних помните, что их использование не должно нарушать авторских прав.</p>
115 Рендер с моделью, полученной в результате фотограмметрии. Для работы использовались ассеты<a>Terrain</a>от FNG,<a>Single Grass</a>от oppne,<a>Grass Variations</a>от RBG_illustrations<em>Скриншот: Blender / Blender Foundation</em><p>Разумеется,<a>не все предпочитают</a>Blender. Ниже представлены возможные альтернативы для той или иной стадии коррекции:</p>
115 Рендер с моделью, полученной в результате фотограмметрии. Для работы использовались ассеты<a>Terrain</a>от FNG,<a>Single Grass</a>от oppne,<a>Grass Variations</a>от RBG_illustrations<em>Скриншот: Blender / Blender Foundation</em><p>Разумеется,<a>не все предпочитают</a>Blender. Ниже представлены возможные альтернативы для той или иной стадии коррекции:</p>
116 <ul><li><strong>Очистка меша</strong>- любая другая программа для 3D-моделирования, в которой можно первично обработать меш (обрезать лишнее, заделать дыры в полигональной сетке). Также подойдёт утилита Autodesk<a>Meshmixer</a>. Несмотря на то, что инструмент более не поддерживается разработчиком ввиду новой итерации<a>Fusion 360</a>, он до сих пор остаётся актуальным из-за необходимого функционала и свободного скачивания.</li>
116 <ul><li><strong>Очистка меша</strong>- любая другая программа для 3D-моделирования, в которой можно первично обработать меш (обрезать лишнее, заделать дыры в полигональной сетке). Также подойдёт утилита Autodesk<a>Meshmixer</a>. Несмотря на то, что инструмент более не поддерживается разработчиком ввиду новой итерации<a>Fusion 360</a>, он до сих пор остаётся актуальным из-за необходимого функционала и свободного скачивания.</li>
117 <li><strong>Сглаживание ненужного рельефа, в том числе шумов,</strong> - ZBrush, Autodesk Mudbox, 3DCoat и прочие программы, где доступен режим Sculpting.</li>
117 <li><strong>Сглаживание ненужного рельефа, в том числе шумов,</strong> - ZBrush, Autodesk Mudbox, 3DCoat и прочие программы, где доступен режим Sculpting.</li>
118 <li><strong>Ретопология</strong> -<a>Instant Meshes</a>, встроенные инструменты в программах для 3D-моделирования.</li>
118 <li><strong>Ретопология</strong> -<a>Instant Meshes</a>, встроенные инструменты в программах для 3D-моделирования.</li>
119 <li><strong>Запекание нормалей</strong> - Substance Designer, Marmoset Toolbag.</li>
119 <li><strong>Запекание нормалей</strong> - Substance Designer, Marmoset Toolbag.</li>
120 <li><strong>Текстурирование</strong> - Substance Painter, 3DCoat и другие программы, где можно работать с текстурами в реальном времени.</li>
120 <li><strong>Текстурирование</strong> - Substance Painter, 3DCoat и другие программы, где можно работать с текстурами в реальном времени.</li>
121 </ul><p>Фотограмметрия - перспективное направление, которое может не только подчеркнуть реализм в 3D-графике, но и вдохнуть жизнь в стилизованные объекты - например, игрушки или изделия ручной работы, которые можно интегрировать в игру или визуализацию.</p>
121 </ul><p>Фотограмметрия - перспективное направление, которое может не только подчеркнуть реализм в 3D-графике, но и вдохнуть жизнь в стилизованные объекты - например, игрушки или изделия ручной работы, которые можно интегрировать в игру или визуализацию.</p>
122 <em>Фото: Леон Балбери</em><ul><li><strong>Доступность.</strong>На сегодняшний день фотограмметрия перестала быть чем-то недосягаемым благодаря развитию камер в современных смартфонах.</li>
122 <em>Фото: Леон Балбери</em><ul><li><strong>Доступность.</strong>На сегодняшний день фотограмметрия перестала быть чем-то недосягаемым благодаря развитию камер в современных смартфонах.</li>
123 <li><strong>Реальный размер.</strong>Помимо формы, технология способна определить по снимкам объекта его размер и положение в пространстве. Представьте, что вы отсканировали на смартфон некий архитектурный объект - например, арку или лестницу. При его импорте в уровень игры вам не придётся думать о том, как подстроить его под рост обычного человека. Размеры будут такими же, как и в реальной жизни.</li>
123 <li><strong>Реальный размер.</strong>Помимо формы, технология способна определить по снимкам объекта его размер и положение в пространстве. Представьте, что вы отсканировали на смартфон некий архитектурный объект - например, арку или лестницу. При его импорте в уровень игры вам не придётся думать о том, как подстроить его под рост обычного человека. Размеры будут такими же, как и в реальной жизни.</li>
124 <li><strong>Возможность сделать свой проект по-настоящему уникальным.</strong>Особенно если прототипами игровых ассетов станут изделия ручной работы (игрушки, фигурки из пластилина и так далее), объекты архитектуры и культуры, которые могут подчеркнуть эпоху игры или национальный колорит сеттинга. Аудитория всегда проявляет интерес к подобному контенту.</li>
124 <li><strong>Возможность сделать свой проект по-настоящему уникальным.</strong>Особенно если прототипами игровых ассетов станут изделия ручной работы (игрушки, фигурки из пластилина и так далее), объекты архитектуры и культуры, которые могут подчеркнуть эпоху игры или национальный колорит сеттинга. Аудитория всегда проявляет интерес к подобному контенту.</li>
125 <li><strong>Дополнительный заработок.</strong>На маркетплейсах можно встретить много лотов с ассетами, полученными в результате фотограмметрии. Цены на них, как правило, довольно высокие.</li>
125 <li><strong>Дополнительный заработок.</strong>На маркетплейсах можно встретить много лотов с ассетами, полученными в результате фотограмметрии. Цены на них, как правило, довольно высокие.</li>
126 </ul>На экране AR-интерфейс приложения RealityScan<em>Фото: Леон Балбери</em><ul><li><strong>Не самая высокая точность.</strong>В этом отношении фотограмметрия уступает<a>лазерному сканированию</a>.</li>
126 </ul>На экране AR-интерфейс приложения RealityScan<em>Фото: Леон Балбери</em><ul><li><strong>Не самая высокая точность.</strong>В этом отношении фотограмметрия уступает<a>лазерному сканированию</a>.</li>
127 <li><strong>Для хорошего результата без лишних заморочек придётся заложить определённый бюджет.</strong>Чтобы получить качественную модель объекта со сложной геометрией, потребуется хорошая фотокамера или передовой смартфон/планшет. Не стоит забывать о том, что лицензии на большинство программ для фотограмметрии и сопутствующий софт тоже не бесплатны.</li>
127 <li><strong>Для хорошего результата без лишних заморочек придётся заложить определённый бюджет.</strong>Чтобы получить качественную модель объекта со сложной геометрией, потребуется хорошая фотокамера или передовой смартфон/планшет. Не стоит забывать о том, что лицензии на большинство программ для фотограмметрии и сопутствующий софт тоже не бесплатны.</li>
128 <li><strong>Относительно высокий порог вхождения.</strong>Исходному скану в любом случае нужна доработка и оптимизация. Удаление лишних мешей, реконструкция не попавших в область скана участков (разрывы и слияния полигональной сетки), чистка геометрии, ремеш, создание новой UV-развёртки - все эти операции требуют от пользователя дополнительного времени и более продвинутых навыков в программах для 3D-моделирования.</li>
128 <li><strong>Относительно высокий порог вхождения.</strong>Исходному скану в любом случае нужна доработка и оптимизация. Удаление лишних мешей, реконструкция не попавших в область скана участков (разрывы и слияния полигональной сетки), чистка геометрии, ремеш, создание новой UV-развёртки - все эти операции требуют от пользователя дополнительного времени и более продвинутых навыков в программах для 3D-моделирования.</li>
129 <li><strong>Текстурирование модели, полученной методом фотограмметрии, требует определённых художественных навыков.</strong>Когда объект сформирован в 3D-модель, на исходном материале могут образоваться различные артефакты текстуры в виде точек и растяжек. Инструмент клонирования не всегда помогает - и в этом случае некоторые участки придётся дорисовывать вручную.</li>
129 <li><strong>Текстурирование модели, полученной методом фотограмметрии, требует определённых художественных навыков.</strong>Когда объект сформирован в 3D-модель, на исходном материале могут образоваться различные артефакты текстуры в виде точек и растяжек. Инструмент клонирования не всегда помогает - и в этом случае некоторые участки придётся дорисовывать вручную.</li>
130 </ul><p>Несмотря на некоторые явные недостатки, фотограмметрия остаётся одним из лучших вариантов для проекта с реалистичной графикой, особенно при ограниченном бюджете. Фотограмметрию также можно использовать и в неигровых проектах - скажем, для оформления визуализаций и интерактивных онлайн-экспозиций. В конце концов она способна не просто продлить срок жизни, но и увековечить даже самый хрупкий предмет. А по мере развития технического прогресса фотограмметрия и вовсе может стать обычным явлением в нашей жизни.</p>
130 </ul><p>Несмотря на некоторые явные недостатки, фотограмметрия остаётся одним из лучших вариантов для проекта с реалистичной графикой, особенно при ограниченном бюджете. Фотограмметрию также можно использовать и в неигровых проектах - скажем, для оформления визуализаций и интерактивных онлайн-экспозиций. В конце концов она способна не просто продлить срок жизни, но и увековечить даже самый хрупкий предмет. А по мере развития технического прогресса фотограмметрия и вовсе может стать обычным явлением в нашей жизни.</p>
131 <a><p>Профессия 3D-дженералист</p>
131 <a><p>Профессия 3D-дженералист</p>
132 <p>Вы станете универсальным специалистом, который умеет в 3D всё: создавать объекты и окружение, настраивать текстуры и цвет, анимировать модели и внедрять их в 3D-сцену.</p>
132 <p>Вы станете универсальным специалистом, который умеет в 3D всё: создавать объекты и окружение, настраивать текстуры и цвет, анимировать модели и внедрять их в 3D-сцену.</p>
133 <p>Освоите Houdini, Autodesk Maya, Blender, Photoshop, ZBrush, Marmoset 3D, Substance Painter, Marvelous Designer, Arnold и Rizom UV. Сможете претендовать на работу в рекламе, играх или кино.</p>
133 <p>Освоите Houdini, Autodesk Maya, Blender, Photoshop, ZBrush, Marmoset 3D, Substance Painter, Marvelous Designer, Arnold и Rizom UV. Сможете претендовать на работу в рекламе, играх или кино.</p>
134 <p><em>На иллюстрации: работа участника курса Евгения Кузнецова</em></p>
134 <p><em>На иллюстрации: работа участника курса Евгения Кузнецова</em></p>
135 <p>Узнать про курс</p>
135 <p>Узнать про курс</p>
136 </a><a>Курс с трудоустройством: "Профессия 3D-дженералист" Узнать о курсе</a>
136 </a><a>Курс с трудоустройством: "Профессия 3D-дженералист" Узнать о курсе</a>