Опыт создания программного обеспечения на базе игрового движка Unity 3D для решения задач реконструкции фасадов Георгиевского собора г. Юрьев-Польский (Владимирская область)
Создание трехмерной реконструкции фасадов Георгиевского собора в г. Юрьев-Польский на основе анализа белокаменного декора путем создания собственного программного обеспечения. Модификация и тестирование разработанной программы для реконструкции.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 08.04.2019 |
Размер файла | 751,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Московский Государственный Университет
Опыт создания программного обеспечения на базе игрового движка Unity 3D для решения задач реконструкции фасадов Георгиевского собора г. Юрьев-Польский (Владимирская область)
Тришин Иван Германович
бакалавр, кафедра Исторической информатики
Аннотация
Предметом исследования является создание трехмерной реконструкции фасадов Георгиевского собора (г. Юрьев-Польский) на основе анализа белокаменного декора путем создания собственного программного обеспечения. Данная статья посвящена проблемам разработки такой концепции программы, которая при минимальных затратах ресурсов позволяет решить задачи реконструкции мелких объектов путем совмещения их моделей, выполненных в натуральную величину. Данная программа будет интересна как исследователям, работающим над проектами реконструкций памятников культурного наследия, так и читателям, интересующимся новыми разработками в данной области исторического знания. Основные методы, применявшиеся в данной работе - фотограмметрия (оцифровка каменных рельефов) и программирование рабочей среды Unity 3D на языке C# (си-шарп). Особым вкладом автора в данное исследование является создание собственного программного обеспечения, ориентированного на исследователя с минимальными навыками владения персональным компьютером. Пока не существует специализированных программ для реконструкции объектов, а потому предложением своих решений автор надеется оказать помощь текущим исследованиям Георгиевского собора, а также дать простор для новых идей разработки компьютерных программ в историко-архитектурных исследованиях. Результатом работы является разработанная программа, которая на данный момент модифицируется и проходит тестирования. программный обеспечение реконструкция декор
Ключевые слова: Георгиевский собор, Владимиро-Суздальское княжество, Юрьев-Польский, реконструкция историко-культурного наследия, технологии 3D-моделирования, архитектура домонгольской Руси, Сохранение культурного наследия, Unity 3D, программирование, оцифровка культурного наследия
Abstract
The study aims at 3D reconstruction of the Saint George Cathedral facades (Yuriev-Polskiy) on the basis of white-stone dйcor by means of special software creation. The article discusses the creation of such a program which provides for reconstructing minute objects when merging their full-size models. The program is sure to be of interest both to scholars reconstructing cultural heritage monuments and readers who are interested in innovations in this field of history. The main methods are photogrammetry (digitization of stone reliefs) and programming of Unity 3D work C# environment. The author's main contribution to this study is the creation of his own software designed for a user with minimum PC skills. As far as there are no specialized programs to reconstruct objects, the author hopes to help those who study the Saint George Cathedral and stimulate further ideas of software development in the sphere of historical and architectural studies. The result of this study is the program that is now being modified and tested.
Keywords: Unity 3D, St. George's Cathedtal, Yuriev-Polski, the Vladimir-Suzdal Principality, technologies of 3D-modeling, reconstruction of cultural heritage, architecture of pre-Mongol Russia, Preservation of cultural heritage, programming, digitization of cultural heritage
Основная часть
Информационные технологии в наши дни развиваются все быстрее, постоянно трансформируясь и проникая практически во все сферы человеческой деятельности. Историческая наука - не исключение. Применение ИТ в исследованиях исторического плана началось уже более, чем полвека назад. Наиболее молодыми в данном направлении являются технологии трехмерного моделирования объектов историко-культурного наследия - их применение началось около двадцати лет назад. На сегодняшний день аппаратно-программное обеспечение позволяет использовать решения BIM (информационное моделирование зданий) и CAD (система автоматизированного проектирования) в исследовательских целях историков. Существует большое количество программ для 3D-моделирования и оцифровки объемных объектов, среди которых наиболее популярными являются 3DsMax, AutoCAD, ArchiCAD, ReCap, MudBox, производимые компанией Autodesk, PhotoScan компании Agisoft, SketchUp компании Trimble Navigation, и т.д. Все они способны выполнять широкий спектр задач, связанных с моделированием и реконструкцией объектов культурного наследия. Но их функционал достаточно обширен, а овладение им требует времени и усилий, что не всегда доступно исследователям. К тому же для корректной и быстрой работы этих программ необходимо достаточно мощное аппаратное обеспечение, приобрести которое может не каждый. Лицензии для указанных программ также могут быть достаточно дорогими, а потому их покупка для конкретной работы представляется для многих ученых нецелесообразной. И самое главное - пока не существует широко распространенной программы, разработанной специально для историков. Исследователи в основном пользуются различными программами, пытаясь создать универсальную модель.
Нередко специфика исследования требует наличия опций, не имеющихся в известных программах трехмерного моделирования. А потому для конкретного исследования необходимо разрабатывать собственные программные решения. Пример такого рода дает исследование, представленное в данной статье и ориентированное на изучение истории Георгиевского собора в г. Юрьев-Польский (Владимирская область). Специфика этого памятника домонгольского белокаменного зодчества (построен великим князем владимирским Святославом Всеволодовичем в 1234 году) в том, что после его разрушения и восстановления в 1471 году была утрачена часть резных сюжетов, покрывающих фасады собора, а оставшиеся рельефы были в произвольном порядке помещены на фасады, другие же расположены в кладке собора над его сводами. Уже более ста лет ученые пытаются восстановить сюжетные линии, которые некогда украшали белокаменный храм. Неоднократно различными исследователями принимались попытки реконструкции собора, но разрозненность сохранившихся рельефов затрудняла проведение этой работы. Такие исследователи, как Г. К. Вагнер[1], Н. Н. Воронин[2], С. В. Заграевский[3], А. И. Скворцов[4], В. В. Кавельмахер[5] и другие, предпринимали попытки восстановить первоначальный архитектурный облик собора и порядок резных сюжетов, но полемика вокруг их реконструкций активна и по сей день. Лишь некоторые сюжеты удалось реконструировать, совмещая сохранившиеся рельефы. Исследователи работали при помощи отрисовки сюжетов на бумаге, либо совмещая фотографии. Первый способ несовершенен тем, что рисунки художника могут носить идеализированный характер и не содержать шероховатостей или мелких деталей рельефа, важных при их соединении. Для второго варианта важно расположение камеры и угол ее наклона. Фотография не может точно передать размеров и изгибов рельефов из-за разной цветопередачи снимков, баланса света и тени и прочих параметров. Не говоря уже о том, что без применения компьютера исследователь сталкивается с большим количеством кадров (снимков), хаотически расположенных на столе, что значительно осложняет процесс реконструкции.
Технологии трехмерной оцифровки и реконструкции объектов культурного наследия используются уже достаточно давно. Среди них наиболее известны такие примеры, как проект Rome Reborn[6] или реконструкция Страстного монастыря на Пушкинской площади[7], а также модели, построенные лабораторией Дармштадского университета[8]. Все эти проекты связаны с реконструкцией здания или комплекса зданий и проведены с помощью технологий фотограмметрии и лазерного сканирования. В результате реализации проектов, указанных выше, были получены полноценные трехмерные модели. Примеры упомянутых исследований дали импульс автору данной статьи провести апробацию этих технологий в задаче реконструкции фасадов Георгиевского собора, так как высокая детализация и ортогональная проекция моделей позволили бы проводить исследования практически в реальных условиях, сопоставляя точные трехмерные копии каменных рельефов. Содержательная задача сводилась к анализу сохранившихся каменных рельефов с целью выявления таких их последовательностей, которые составляли бы те или иные связные сюжеты библейского характера, мифологические и другие сюжеты - с тем, чтобы в дальнейшем рассмотреть возможность реконструкции фасадов Георгиевского собора, декорированных уникальными белокаменными рельефами. Работа была проведена в несколько этапов.
* * *
На первом этапе исследования была проведена наземная и воздушная съемка объекта с помощью квадрокоптера DJI Phantom 3 Pro и фотокамеры Canon GP-2 с объективом Canon EF 70-200mm. В результате подробной съемки собора было получено около 4000 кадров как с изображениями собора целиком, так и с отдельными элементами фасадов, снятыми с разных ракурсов (рис. 1). Такое количество снимков необходимо для повышения четкости получаемых моделей в дальнейшем.
Рис. 1 Примеры детальной наземной съемки и аэрофотосъемки
На втором этапе в программе Agisoft PhotoScan было создано плотное облако точек всего собора (90 млн. точек). Плотное облако было загружено на ресурс Pointbox.xyz[9], где его параметры были сопоставлены с чертежами собора и приняты в качестве эталонных. После этого в той же программе была проведена пофасадная оцифровка изображений горельефной резьбы с их последующим сохранением в 2D и 3D-графике (рис. 2). Получилось около двухсот сюжетов разной степени сохранности (рис. 3). Каждый из них прошел центровку в программе Autodesk 3DsMax, где изначально планировалось сопоставить рельефы. Но автор статьи столкнулся с проблемой ограниченности аппаратных ресурсов, так как обработка сразу такого большого количества рельефов становилась невозможной из-за недостатка мощности компьютера. Вторым минусом стала дополнительная подгрузка текстур, привязанных к модели в PhotoScan, что замедляло процесс еще сильнее. Других программ, способных сразу обработать такое большое количество рельефов и не потерять возможностей функционала, найдено не было. Встал вопрос разработки собственного программного обеспечения, способного решить поставленную задачу и быть полезным для других исследователей, имеющих аналогичные проблемы при реконструкции объектов.
Рис. 2 Трехмерная модель южного фасада собора (фрагмент)
Был создан план разработки программы «Реконструктор фасадов Георгиевского собора» для персонального компьютера, в которой возможность совмещения каменных рельефов сочеталась бы с полной библиотекой обнаруженных рельефов, содержащей описания изображенных на них сюжетов. Программа должна обладать двумя сменяющимися экранами, на одном из котором исследователю предлагалось бы выбрать подложку для конкретного исследования (были взяты реконструкции Г.К. Вагнера, А.В. Столетова, С.В. Заграевского, а также актуальные чертежи собора и пустое полотно) и накладывать модели каменных рельефов на эту подложку. На другом экране установлена библиотека сюжетов, где возможность осмотреть белокаменный рельеф со всех сторон соединена с описанием каждого изображения. Такая система значительно упрощает работу исследователя, так как поиск нужного сюжета и его расположение на конкретном месте с помощью мыши значительно упрощается, а простой функционал программы не перегрузит вычислительные мощности компьютера.
Для создания программы такого рода необходима некая база, способная учесть все перечисленные планы разработки. В связи с этим автором были выбраны два игровых движка (программы с предустановками для создания игр и приложений) с возможностью обработки 3D-графики: Unity 3D и Unreal Engine 4. Примеры разработанных на них игр и приложений известны по всему миру, их используют как отдельные разработчики, так и крупные корпорации. Их несомненным достоинством является открытая бесплатная лицензия, позволяющая использовать данные программы любому пользователю. Выбор в данном случае был отдан базе Unity 3D, так как этот движок требует меньше аппаратных ресурсов, имеет более удобный интерфейс и язык программирования (по опыту автора). Разработка подобного приложения на движке Unreal Engine возможна в дальнейшем, но на данном этапе работы такая задача перед исследователем не стоит.
Работа с программой Unity состоит из двух основных частей: организации моделей (или спрайтов, если речь идет о 2D-графике) и программирования. Организация моделей в пространстве подразумевает как загрузку новых образцов и их импорт из других программ, так и создание примитивных объектов в самой программе Unity (таких, как куб, сфера, капсула, полотно, редактируемый рельеф и другие). С помощью примитивных объектов в данной программе была разработана система перемещения каменных рельефов. Подгруженная модель с текстурой группировалась с обычным кубиком, у которого отключался материал (Mesh Renderer). Затем бокс коллизий (физическое пространство объекта, которое отвечает за взаимодействие с окружающей средой) вытягивался до размеров рельефа. После этого были написаны специальные коды для перемещения и поворота объектов. Программа способна отслеживать положение курсора, а потому в коде при зажатой левой кнопке мыши кубик с рельефом перемещается за курсором. При нажатии колесика мыши и движении ее в сторону рельеф поворачивается по оси Y с той скоростью, которую задает пользователь (в коде этого удалось достигнуть, умножив угол поворота рельефа на единицу времени, за которую перемещается сам курсор). Рельефы было решено оставить без физических свойств, так как совмещение сюжетов иногда требует наложения одного каменного рисунка на другой. Таким путем удалось решить проблему перемещения и поворота импортированных рельефов.
Рис. 3 Трехмерные модели каменных рельефов после обработки в программе AgisoftPhotoScan
Для пустой подложки, на которой размещаются рельефы, был выбран мягкий синий материал, который не мешает исследователю подробно рассматривать рельефы. Далее были сделаны подложки с реконструкциями и актуальными изображениями храма (на объект Plane в формате текстуры было отражено изображение собора и масштабировано до размеров 1 к 1, соответственно размерам рельефов). Эти подложки позволяют исследователю как просто располагать сюжеты в нужной последовательности, так и помещать их на изображениях собора.
Затем был разработан интерфейс программы. Для расположения и упорядочения моделей рельефов было создано меню прокрутки с правой стороны экрана. Для каждого рельефа был оформлен отдельный пункт меню, а также с помощью скрипта выделены верхние уровни (разделение сюжетов по темам, а затем и сами сюжеты). При нажатии кнопки соответствующего пункта, в центре подложки создается модель рельефа, привязанного к конкретному пункту меню (точка появления рельефа на экране была определена пустым объектом GameObjeсt). Такой вариант создания регулируется конкретным скриптом, в котором также присутствует функция удаления объекта нажатием клавиши Delete. Аналогичное меню было сделано в нижней части экрана для подложек, а с правой стороны располагается памятка-инструкция для исследователя (рис. 4).
Рис. 4 Сцена 1 разработанной программы (реконструкция рельефов)
Также была создана сцена для просмотра объектов с их описанием. Она отличается лишь тем, что на экране создается только один объект, а на специальной панели рядом с объектом выводится привязанный к нему текст (рис. 5). При нажатии на кнопку нового объекта старый удаляется, а его место занимает новый. Переключение между сценами возможно при помощи кнопок 1 и 2 клавиатуры.
Последним шагом стало создание стартового меню программы, из которого возможен переход на любую из сцен, а также выход из приложения. Кнопка Escape выводит на экран предложение выйти из программы. Эти простые функции стали завершающими при разработке приложения.
Рис. 5 Сцена 2 разработанной программы (библиотека моделей)
На данном этапе программа проходит альфа-тестирование. На его первых этапах выявлено несколько проблем, которые требуют доработки. Перед автором статьи стоит задача проведения более подробной съемки объекта (планируется получить более 12 тысяч фотографий) и создание максимально точных моделей. У программы имеется проблема со срабатыванием некоторых пунктов меню и сохранением текущего результата. После исправления всех багов и добавления новых необходимых функций программа станет доступна для бета-тестирования и будет предложена исследователям Георгиевского собора.
Библиография
1. Вагнер Г. К. Скульптура Владимиро-Суздальской Руси, г. Юрьев-Польской. М., 1964. 232 с.
2. Воронин Н.Н. Зодчество Северо-Восточной Руси XII-XV веков. М., 1961-1962, Т.2. 559 c.
3. Заграевский С.В. Вопросы архитектурной истории и реконструкции Георги-евского собора в Юрьеве-Польском. М.: 2008. 56 с.
4. Скворцов А.И. Белокаменное зодчество. Владимир, 2012. 360 c.: ил.
5. Кавельмахер В.В. Краеугольный камень из лапидария Георгиевского собора в Юрьеве-Польском (к вопросу о так называемом Святославовом кресте). В кн.: Древнерусское искусство. Русь, Византия, Балканы. XIII век. СПб, 1997. С. 185-197.
6. Rome Reborn. [Электронный ресурс]. URL: http://www.romereborn.org (дата обращения: 25.05.2018).
7. Проект «Виртуальная реконструкция московского Страстного монастыря (середина XVII - начало XX вв.): анализ эволюции пространственной инфраструктуры на основе методов 3D моделирования» [Электронный ресурс]. URL: http://hist.msu.ru/Strastnoy (дата обращения: 25.05.2018).
8. Ioannides, M. e., & Quak, E. e. 3D research challenges in cultural heritage: a roadmap in digital heritage preservation // Digital Heritage. Progress in Cultural Heritage: Documentation, Preservation, and Protection. 6th International Conference, EuroMed 2016, Nicosia, Cyprus, October 31 - November 5, 2016, Proceedings, Part II. P.109-117.
9. Saint George Cathedral, Yuryev-Polsky [Электронный ресурс]: Pointbox.xyz, 2017. URL: https://www.pointbox.xyz/clouds/595ffebecbcb7a0f94dd58b4 (дата обращения: 25.05.2018).
Размещено на Allbest.ru
...Подобные документы
Создание программного продукта для автоматизации системы оформления документов по реставрации и реконструкции зданий. Требования к операционной системе и языку программирования. Роль рекламы в реализации программного обеспечения, стимулирование сбыта.
дипломная работа [3,7 M], добавлен 08.07.2012Тестирование и отладка программного обеспечения: понятие, принципы, этапы, цели и задачи. Тестирование методом сандвича как компромисс между восходящим и нисходящим подходами. Сущность метода "белого и черного ящика", отладки программного обеспечения.
курсовая работа [36,9 K], добавлен 21.07.2012Игровой движок Unity, его использование для создания приложений, связанных с архитектурой, обучением, визуализацией данных и электронными книгами. Разработка системы освещения для работы с двухмерными объектами в виде расширения редактора Unity.
дипломная работа [2,5 M], добавлен 11.02.2017Подбор игрового движка и описание его основных характеристик. Разработка структуры, алгоритма и интерфейса программы. Проектирование иерархии классов. Выделение типового приема визуализации. Тестирование правильности работы программного обеспечения.
курсовая работа [3,1 M], добавлен 19.01.2017Особенности и возможности программного обеспечения, необходимого для построения трехмерной модели (на примере вентиля - клапана). Ознакомление с инструментарием программного обеспечения профессионального трехмерного и двумерного моделирования AutoCAD.
курсовая работа [3,4 M], добавлен 13.12.2020Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.
курсовая работа [501,4 K], добавлен 07.12.2016Обзор программного обеспечения электронного магазина, использование языка программирования VbScript. Модельная и физическая структура, разработка регистрационной формы Web-сайта, подключение его к базе данных. Особенности создания страницы пользователя.
курсовая работа [2,2 M], добавлен 03.04.2013Тестирование как составляющая часть процесса отладки программного обеспечения, его роль для обеспечения качества продукта. Обнаружение ошибок в программах, выявление причин их возникновения. Подходы к формулированию критериев полноты тестирования.
курсовая работа [1,6 M], добавлен 20.12.2012Известные проблемы совместимости приложений. Обслуживание, тестовые проверки и настройка программного обеспечения для создания резервных копирований Exiland Backup. Список задач обслуживания. Выбор, настройка и работа CRM-системы. Работа с CRM Мегаплан.
дипломная работа [1,9 M], добавлен 11.07.2015Создание электронного учебника, написанного на языке гипертекстовой разметки HTML. Характеристика программного обеспечения ЭВМ, необходимого для создания и эксплуатации информационной системы. Алгоритм функционирования системы, отладка программы.
курсовая работа [1,0 M], добавлен 22.12.2012Основные требования к составу и параметрам технических средства. Верификация программного продукта. Расширение функционала программы и его реализация. Отладка и тестирование программного продукта. Тестирование программы в граничных и реальных условиях.
курсовая работа [1,3 M], добавлен 29.12.2014Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011Анализ существующего программного обеспечения. Этапы создания проекта. Концептуальное, логическое и физическое проектирование базы данных. Структура программного продукта. Руководство программиста и оператора. Тестирование программного продукта.
курсовая работа [586,4 K], добавлен 26.06.2015Выбор инструментальных и программных средств для создания сайта. Структура программного продукта. Создание сайта при помощи программы WordPress. Тестирование разработанной программы. Разработка структуры и дизайна сайта. Наполнение сайта контентом.
курсовая работа [1,0 M], добавлен 09.01.2014Неразрешимость проблемы тестирования программного обеспечения. Виды и уровни тестирования. Стратегии восходящего и нисходящего тестирования. Методы "белого" и "черного" ящика. Автоматизированное и ручное тестирование. Разработка через тестирование.
курсовая работа [112,2 K], добавлен 22.03.2015Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Язык программирования Pascal и его турбооболочка. Аналитический обзор игрового программного обеспечения. Функции модуля Crt. Постановка задачи создания несложной игровой программы "Турбозмей", алгоритм реализации и описание пользовательского интерфейса.
курсовая работа [100,4 K], добавлен 15.05.2014Выбор инструментальной среды разработки программного обеспечения системы. Алгоритм создания теста и ввода его исходных данных. Анализ экономической эффективности применения программного обеспечения "Тестирования знаний обучающихся программированию".
дипломная работа [3,2 M], добавлен 11.09.2014Анализ современного рынка программных продуктов. Понятие виртуального тура и возможности его применения. Изучение программного обеспечения и технологии создания виртуальных туров. Панорамный снимок и виртуальная брошюра. Настройка параметров панорамы.
курсовая работа [3,5 M], добавлен 22.03.2016Анализ затрат и прибыли. Создание программного проекта для решения задачи о прибыли и убытках на языке программирования C#. Использование функций и переменных, компиляция программы. Алгоритмы и структуры данных. Тестирование программного обеспечения.
курсовая работа [1,2 M], добавлен 03.01.2015