Посещение виртуальных музеев за последние два года увеличилось в связи с эпидемиологической обстановкой. Поэтому особо остро стал вопрос о создании виртуального музея на базе Минералогического музея Института наук о Земле ЮФУ (http://geo.sfedu.ru/?page_id=191). Так как экспонатами музея являются минералы, размеры которых варьируются от 1-2 сантиметров в диаметре, до 1,5 метров, необходимо было найти способ перенесения реальных образцов в виртуальные. Для этого был использован 3D-сканера 3D Systems Sense 2.
Конечно,
сделать доступным трехмерное изображение каждого из 4 тысяч имеющихся
экспонатов нереально, поэтому для детального рассмотрения были выбраны 100 образцов
минералов из каждого класса и не более одного из каждой минеральной
разновидности. При виртуальном туре по музею посетитель может подойти к
витринам с минералами выбранного класса и, «взяв в руку», рассмотреть экспонат
со всех сторон, приблизить с максимальным увеличением, узнать название
минерала, химическую формулу, диагностические свойства, привязку (место, где
образец был отобран).
Для создания виртуального музея используется среда Unity-3d (unity.com). Входящие в нее средства существенно упрощают разработку приложений, связанных с трехмерной графикой. Пост обработка полученных 3D моделей происходила с помощью встроенных функций редактора 3D Systems Sense, программ 3Ds Max и Blender.
На данном этапе разработки
проекта выполнено сканирование части образцов и создан прототип виртуального
музея. Сканирование образцов проводилось с использованием 3D-сканера 3D Systems
Sense 2.
Основными характеристиками сканера 3D
Systems Sense 2 являются:
• Рабочее расстояние, то есть дистанция сканирования от 20 до
160 см. Следует учитывать, что темные и блестящие объекты эффективнее
сканировать с минимального расстояния.
• Точность на расстоянии в 50 см составляет 1 мм. Чем больше
объект, тем выше погрешность.
• Сканер захватывает текстуру в FullHD.
У сканера есть недостатки.
• Главный из них — специфические требования к освещению объекта.
3D-сканер не оснащен собственной системой подсветки и весьма чутко реагирует на
колебания освещения. Соответственно, на цветных сканах отчетливо видны яркие
области, куда падает свет из окна или от осветительного прибора.
• Второй негативный момент: если объект лежит на столе, дно
объекта и столешница сливаются с мягким переходом. Отделить столешницу от
объекта может быть сложно.
• Наконец, из-за сравнительно низкого разрешения, тонкие грани
объекта на полученном скане превращаются в цифровой шум. Чтобы избавится от
шума, необходимо потратить немало времени при постобработке.
Исходя из параметров сканера,
были выбраны 2 помещения для сканирования. Первый – в музее минералогии. Данный
вариант оказался плохим, так как прямой жесткий свет из окон института создавал
тени на сканируемых образцах. Из-за того, что сканер чувствителен к освещению и
перепадам яркости, образцы, отсканированные в данном помещении, не подходят для
дальнейшей постобработки и использования.
Второй вариант – лаборатория в
институте математики, механики и компьютерных наук. Данная лаборатория
оборудована большим количеством ламп с холодным синим светом. Данное освещение
и помещение стало самым оптимальным для сканирования: отсутствие жесткого
прямого света позволило ускорить процесс сканирования. Все образцы, полученные
во время сканирования, пост обработаны и используются в виртуальном музее.
Следующей задачей стало
изучение способов хранения данных, используемых при разработке на платформе Unity. Вот
некоторые из различных способов и методов сохранения данных для проектов Unity:
· Независимый от платформы: Одним из способов сохранения данных в Unity3D независимым от платформы способом является использование класса PlayerPrefs. PlayerPrefs — это статический класс, и он очень прост в использовании, но не надежен.
· Persistence - сохранение и загрузка данных с помощью DontDestroyOnLoad, PlayerPrefs.
· Серверная сторона: Вы также можете использовать сервер для сохранения данных (например, комбинацию баз данных PHP и MySQL).
· SQLite (встроенная база данных для вашего приложения).
· Объект сценария: это контейнер
данных. Полезно для неизменных данных. Подходит для больших объемов данных.
Самыми подходящими
способами были выбраны создание базы данных на SQLite и хранение данных в
JSON-файлах. У каждого подхода есть свои плюсы и минусы.
JSON: это текстовый файл, так что работать с ним просто.
· можно легко изменить данные из любого
текстового редактора;
· не требуется писать дополнительный
код для соединения с БД и запросам к ней;
· легко можно передать файл другому
человеку, а тот без труда начнёт с ним работать.
SQLite: это одно из
полноценных СУБД, которые появились, когда людям стало не хватать текстовых
файликов.
· данные структурированы;
· быстрый доступ к данным, даже если их
очень много;
· дополнить и изменить данные можно во
много раз быстрее (не надо считывать и записывать каждый раз весь файл, только
пару байтов);
· встроенные проверки на типы данных.
В музее будет около ста моделей минералов,
для каждой модели потребуется информация о названии минерала, его формула,
место добычи, небольшое описание. Исходя из этого, для хранения данных был
выбран способ с использованием JSON-файлов.
Рисунок – минерал Друза
Марказит
Рисунок – пост обработанная 3d модель минерала