Недавно выпущенный SDK для камеры Intel® RealSense™ F200 теперь включает функцию
3D-сканирования. Это удивительная функция, которая позволит разработчикам и специалистам по компьютерной графике сканировать реальные объекты и применять их в своих проектах. Один из примеров использования этой технологии — сканирование реальных объектов для использования в игровом движке Unity. В нашей серии из трех статей я познакомлю вас с подробностями этого процесса.
Для начала я расскажу вам, как сканировать объекты и конвертировать их в формат PLY с помощью MeshLab. Это необходимо, чтобы сделать цветовую информацию со скана доступной для других программ типа Unity.
Ниже перечислены этапы работы, которые будут описаны в этой серии статей. Эта статья посвящена первым двум этапам. Проделав описанные в этой статье действия, перейдите к третьему и четвертому этапам по ссылкам в этой статье.
- Сканирование с помощью шаблона кода Intel RealSense SDK для 3D-сканирования
- Конвертирование файлов формата OBJ в формат PLY для редактирования в Blender
- Конвертирование цветов Vertex Colors в формат UV-карты и редактирование трехмерной сетки в Blender с целью уменьшения числа вершин и многоугольников
- Импорт в Unity
Что вам понадобится?
- Камера Intel® RealSense с процессором Intel Core четвертого поколения или выше с установленным SDK (SDK распространяется бесплатно)
- Объект, сканированный с использованием технологии Intel RealSense и конвертированный в файл формата PLY (с помощью бесплатной программы MeshLab)
- Blender (бесплатная программа)
Сканирование с использованием Intel® RealSense SDK
Установите Intel® RealSense SDK. Откройте панель экспресс-кнопок в Windows и найдите RealSense. В списке вы увидите RealSense SDK Sample Browser. Нажмите его правой кнопкой мыши и выберите «Запуск от имени администратора».
![](http://software.intel.com/sites/default/files/managed/d2/79/scan1.jpg)
![](http://software.intel.com/sites/default/files/managed/d2/79/scan2.jpg)
- Этот шаблон разработан для трассировки жесткого трехмерного объекта в пространстве при вращении объекта перед камерой, что позволяет сканировать объект под различными углами.
- Если одна часть объекта вращается, а другая не вращается, это затруднит трассировку и приведет к созданию скана низкого качества. Например, если вы сканируете голову, не поворачивайте ее относительно шеи, иначе это ухудшит качество скана. Вместо этого лучше поворачивать весь торс, чтобы камера воспринимала его как единый объект.
- Вы можете наклоняться вперед и назад, поворачивать торс вправо и влево и делать полный оборот. Со временем можно научиться сканировать объекты, поворачивая их на 360 градусов.
- Сканируйте объекты при равномерном освещении. Избегайте теней, т. к. тени или отражения света будут также занесены в 3D-текстуру.
- В Sample Browser выберите Run (Запуск).
- Поместите объект перед камерой, и вы увидите его отображение в сканере. Дождитесь появления второго окна.
- Как только появилось второе окно, начинайте вращать объект в одном направлении, затем в другом, а затем на 360 градусов. После этого наклоните объект назад, затем вперед, затем удерживайте его в исходом положении. Если вы сканируете лицо, последние несколько секунд следует смотреть прямо перед собой поверх камеры, чтобы ваши глаза были зафиксированы в одном положении.
- По завершении сканирования откроется Sample Browser, где вы можете двигать и вращать полученное изображение. Изображение сохраняется в вашей папке «Документы» под названием 3Dscan.obj.
- Вы можете пользоваться этим шаблоном неограниченное количество раз для создания качественных сканов, которые вы сможете доработать и использовать в ваших приложениях или играх.
При сканировании файлы по умолчанию сохраняются в формате OBJ. Вы можете конвертировать файл в формат PLY с помощью бесплатного инструмента MeshLab.
- Загрузите и установите MeshLab (бесплатно).
- В меню File (Файл) выберите Import (Импортировать). Выберите файл 3Dscan.obj, находящийся в корне папки «Документы».
- Импортированный объект может быть повернут набок. Вы можете нажать левой копкой мыши на нижнюю часть объекта и потянуть, чтобы повернуть объект и рассмотреть его. Вы увидите сетку с метками цвета. Цветовая информация хранится в формате Vertex Colors, т. е. каждая вершина окрашивается пикселями в цветах RGB, полученных камерой во время сканирования.
- В меню File выберите Export Mesh As (Экспортировать сетку как).
- В диалоговом окне выберите Stanford Polygon File Format (*.ply).
- При сохранении указывайте путь, который вы потом сможете найти.
Теперь можно перейти к работе в Blender, где вы можете очистить сетку и конвертировать цвета Vertex Colors в формат UV-карты.