Статья:

Использование XML в технологии виртуального тура

Конференция: XIII Международная научно-практическая конференция «Научный форум: инновационная наука»

Секция: Технические науки

Выходные данные
Смагина Д.В., Жаркова О.М. Использование XML в технологии виртуального тура // Научный форум: Инновационная наука: сб. ст. по материалам XIII междунар. науч.-практ. конф. — № 4(13). — М., Изд. «МЦНО», 2018. — С. 33-41.
Конференция завершена
Мне нравится
на печатьскачать .pdfподелиться

Использование XML в технологии виртуального тура

Смагина Дарья Викторовна
магистрант Кубанский Государственный Университет – КубГУ, РФ, г. Краснодар
Жаркова Оксана Михайловна
канд. физ.-мат. наук, преподаватель Кубанский Государственный Университет – КубГУ, РФ, г. Краснодар

 

XML in Virtual tour technology

 

Darya Smagina

graduate student of Kuban State University - KubSU, Russia, Krasnodar

Oksana Zharkova

Candidate of Physical and Mathematical Sciences, teacher in Kuban State University - KubSU, Russia, Krasnodar

 

Аннотация. В мире современных технологий и скоростей одна из основных задач любой компании – это быстрая и четкая подача нужной потенциальному клиенту. Для решения этой задачи был изобретен такой программный продукт, как виртуальный тур. В статье мы расскажем об основах создания виртуального тура с помощью XML.

Abstract. In the world of modern technologies and speeds one of the main tasks of any company is a fast and precise supply to the potential customer. A software product such as a virtual tour was invented to solve this problem. In this article we will discuss the basics of creating a virtual tour using XML.

 

Ключевые слова: виртуальный тур; панорамное изображение; krpano; дроплет; XML; тег; атрибут.

Keywords: virtual tour; panoramic image; krpano; droplet; XML; tag; attribute.

 

Технология виртуального тура позволяет человеку полностью погрузиться в атмосферу присутствия, получая при этом всю необхо­димые данные и на самом высоком технологичном и эстетическом уровне преподнести любые материалы.

«Лицом» виртуального тура являются объединенные между собой сферические панорамы или панорамные фотографии с земли и воздуха, в которых размещены информационные метки.

Основным средством создания виртуального тура является Krpano. Krpano – это набор гибких и высокопроизводительных инструментов для просмотра всех видов панорамных изображений и виртуальных 3D туров. Пользователю доступны форматы flash и HTML5. Программа позволяет воспроизводить панорамы в браузерах в потоковом режиме с удаленных серверов (online) или с локальных дисков (offline). Просмотр панорам и виртуальных туров осуществляется через плеер krpano (krpano Viewer). Помимо плеера существуют т.н. инструменты krpano (krpano Tools), состоящих из дроплетов и настроек к ним, которые позволяют осуществлять все действия с панорамами.

Krpano имеет гибкую и динамическую XML-систему, которая позволяет реализовать собственные идеи и возможности.

Программа поддерживает практически все известные форматы панорамных изображений:

·      куб и развертка куба;

·      сферическая панорама (360x180);

·      цилиндрическая панорама;

·      частичные панорамы;

·      обычные фотографии;

·      QTVR файлы в формате MOV;

·      изображения с высоким разрешением;

·      секвенции кадров (object VR);

·      панорамное видео;

·      обычное видео.

Поддерживаемые форматы файлов:

·      JPEG (*. JPG, *. JPEG);

·      TIFF / BigTIFF (*. TIF, *. TIFF, *. btf, *. TF8, *. Bigtiff);

·      рабочие документы программы Adobe Photoshop (*. PSD, *. PSB);

·      Kolor RAW (*. КРО)

Поуровневая загрузка позволяет избежать лишней нагрузки на систему, а также трафик и соответственно время загрузки. Проблема была решена постепенной загрузкой панорамы, когда каждый кусочек панорамы – плитка, грузиться строго в определенной последова­тельности, в зависимости от разрешения устройства и степени приближения. Эти части панорамы, будут загружены по частям и только при необходимости. Все это дает возможность просматривать огромные изображения при минимальных вычислительных затратах системы. Панораму с мульти-разрешением можно создать в инстру­ментах krpano.

Krpano поддерживает несколько способов отображения панорам:

·      нормальный режим (The normal or also called Rectilinear Projection);

·      проекция «рыбий глаз» (Fisheye Projection);

·      режим «маленькая планета» (Little Planet View);

·      паннини (Pannini Projection);

·      архитектурная проекция (Architectural Projection).

Каждый из этих режимов отображения панорам, можно настраивать и регулировать. Возможно смешивание проекций, а так же их последовательная смена.

Дроплеты - это небольшие скрипты, которые выполняют определенные задачи. Чтобы активировать тот или иной дроплет, нужно просто перетащить на него несколько файлов. Рассмотрим основные дроплеты krpano:

· Convert SPHERE to CUBE – конвертирует изображение из эквидистантной проекции в грани куба. Дроплет нужен для того, чтобы из панорамной «простыни» получить грани куба. Например, для ретуширования надира (пола);

· Convert CUBE to SPHERE – конвертирует изображение из граней куба в эквидистантную проекцию. Дроплет нужен, чтобы после редактирования граней куба преобразовать панораму в единый файл, который удобнее хранить;

При выполнении дроплетов конвертирования, описанных выше, krpano всегда преобразует ваше изображение в TIFF с глубиной цвета 16 бит. И это правильно, т. к. потери качества при конвертации должны быть минимальны, а 16-битный tiff обеспечивает хороший цветовой охват, следовательно, меньшие потери.

· MAKE OBJECT – создает из множества файлов VR объект. Чтобы он работал успешно, перетаскивают на дроплет несколько изображений одного и того же предмета, вращающегося вокруг своей оси. На выходе будет сгенерирован «объект», который можно «крутить» с помощью мыши. При этом программа последовательно меняет кадры, создавая эффект псевдо 3D;

· MAKE PANO (FLAT) droplet – создает «плоскую» панораму, которая автоматически дробится на фрагменты (tiles), которые подгружаются в зависимости от разрешения монитора и увеличения отдельных фрагментов изображения пользователем;

· MAKE PANO (MULTIRES) droplet – создается сферическая или цилиндрическая панорама с мультирезолюцией (будет корректно отображаться как на маленьких мониторах нетбуков, так и на больших мониторах);

· MAKE PANO (SINGLE-SWF) droplet – создает файл расширения SWF, позволяющий просматривать виртуальные туры с помощью flash-плеера;

· MAKE VTOUR (MULTIRES) droplet – генерирует виртуальный тур с мультирезолюцией, уменьшенными изображениями для каждой панорамы, кнопками управления, опциональными подписями и стрелками-переходами. Именно этим файлом пользуются чаще всего. Все файлы помещаются в папку vtour\ — рядом с вашими панорамами;

· MAKE VTOUR (NORMAL) droplet – создает виртуальный тур без мультирезолюции, в максимально допустимом для кубической проекции разрешении. Не гарантирована стабильная работа на мобильных устройствах, недостаточное разрешение для больших мониторов. Все файлы помещаются в папку vtour\ – рядом с вашими панорамами.

Файлы виртуального тура, созданного в Krpano:

· panos\ – в этой папке находятся «нарезанные» изображения, составляющие вашу панораму, уменьшенные картинки для каждой панорамы и превью, которые загружаются в первую очередь и выглядят размытыми, пока панорама грузится;

· skin\ – папка, которая содержит все элементы интерфейса вашего тура, включая изображения и файлы xml;

· plugins\ – папка, в которой содержатся xml, js и swf плагины, без которых работа многих функций вашего виртуального тура была бы невозможна;

· tour.xml – в этом файле хранится информация обо всех панорамах вашего тура, ссылка на файл с информацией о графическом интерфейсе и базовые настройки тура;

· tour.swf – обеспечивает работу виртуального тура на устройствах с поддержкой Flash, например, Google Chrome. Однако, тот же Chrome великолепно справился бы и без этого файла, открыв тур в режиме html5. Тем не менее, отказываться от файла пока что преждевременно. Например, редактор тура krpano по-прежнему работает на flash;

· tour.js – важный файл, отвечает за интеграцию тура в страницу, его корректное отображение на устройствах как с поддержкой flash, так и без нее, занимается определением типа устройства и подгрузкой соответствующих файлов виртуального тура;

· tour.html – файл, в котором показан пример встраивания тура в веб-страницу. Именно это файл нужно открывать в браузере, если хотите посмотреть, как выглядит созданный вами тур;

· tour_editor.html – файл, при запуске которого к вашему виртуальному туру подключается редактор, с помощью которого можно превратить набор панорам в связанный виртуальный тур.

Как уже было упомянуто ранее, в основе krpano лежит XML (Extensible Markup Language) – язык разметки. Krpano использует обычные файлы xml для хранения настроек панорамы. Эти файлы могут создаваться и редактироваться обычным текстовым редактором.

Все теги и параметры в файле krpano.xml являются опциональными (т. е. необязательными), и могут быть определены в любом порядке.

Существует несколько специальных тегов и их атрибутов в файлах krpano xml.

Весь код программы записывается внутри определяющего тега <krpano>. Ему соответствуют атрибуты, описанные ниже.

Атрибут «version» содержит информацию о версии krpano, которая использовалась при создании файла xml. Этот атрибут должен быть использован для совместимости файла xml со следующими версиями krpano.

Событие «onstart» определяет функцию, которая вызывается при старте просмотра панорамы. В случае, если xml файл был загружен с помощью функции «loadpano», событие «onstart» игнорируется.

Атрибут «basedir» определяет базовую директорию для функции loadpano (). Путь может быть относительным или абсолютным. Значение по умолчанию - %FIRSTXML%. Это означает, что пути всех следующих, загруженных с помощью loadpano (), файлов XML, являются относительными к пути первого загруженного файла XML.

Атрибут «bgcolor» задает цвет фона. Используется при загрузке частичных панорам или плоских изображений, в которых фон krpano становится видимым. Если установить корректное значение цвета в формате hex, фон позади панорамы будет отражен в этом цвете. Если значение не установлено или установлено некорректно, цвет фона не используется, и принимается как 'transparent'. В этом случае отображается текущий фон Flashplayer, или цвет страницы html.

Базовое значение атрибута «actionintervalbase» для внутренних временных интервалов: «timer» и «frame».

Для значения «timer» справедливо:

· перемещение базируется на времени;

· временной интервал задается константой (насколько это возможно);

· количество выводимых кадров при перемещении зависит от мощности компьютера.

Для значения «frame» справедливо:

· перемещение базируется на изменении фреймов Flashplayer;

· всегда одинаковое количество выводимых фреймов при одном и том же перемещении.

· при масштабировании панорам с разным разрешением этот параметр помогает поддерживать плавное движение, даже в тот момент, когда кадры еще загружаются.

Атрибут «idletime» определяет время (в секундах) без какого-либо взаимодействия с пользователем перед вызовом незанятого события.

Атрибут «colorcorrection» отвечает за настройки цветокоррекции Flashplayer 10. Возможные настройки: «default», «on», «off».

Атрибут «logkey» включает или выключает клавиатуру, отве­чающую за окно ввода-вывода. Этот параметр проверяется один раз, при запуске тура.

Атрибут «showerrors» - автоматический вывод окна с ошибками в отображении (если такие имеются).

Тег <include> используется для загрузки и включения в xml содержимого других файлов xml.

В процессе загрузки другого xml файла, параметры во включаемом файле будут подстроены под основной xml. Только после загрузки всех вложений xml, начинает обрабатываться основной xml. Пример тега:
<include url="skin/skin.xml" />KRpano обрабатывает атрибут «url» в любом теге специальным образом.

Если в значении url указан относительный путь, этот путь будет относительно xml файла, в котором указан этот атрибут. Это правило относиться и к вложенным xml файлам. Это означает, что относи­тельные пути во вложенном xml файле являются относительными по отношению к вложенным xml файлу, а не к основному xml.

Для создания относительности существуют несколько предопре­деленных путей placeholders, которые можно использовать в Атрибуте url:

·      %FIRSTXML% - путь к первому загруженному файлу xml;

·      %CURRENTXML% - путь к текущему загруженному основному файлу xml (не для вложенных);

·      %SWFPATH% - путь к swf файлу krpano;

·      %HTMLPATH% - путь к html файлу;

·      %BASEDIR% - путь к базовой директории.

Тег <preview> определяет путь и имя файла для небольшого панорамного изображения предварительного просмотра, которое будет отображаться при загрузке полного панорамного изображения. Для обеспечения наилучшего качества изображения рекомендуется использовать изображения cubestrip Высококачественные изображения предварительного просмотра (сглаженные вдоль всех краев и всех направлений) могут быть легко созданы с помощью инструментов kmakepreview или kmakemultires.

Для этого тега определены атрибуты, описанные ниже.

Атрибут «type» устанавливает панорамный тип изображения предварительного просмотра.

Возможные настройки:

· "" (empty, default) – тип изображения предварительного просмотра будет автоматически определяться размером изображения;

· "SPHERE" – сферическая панорама;

· "CYLINDER" – цилиндрическая проекция панорамы;

· "CUBESTRIP" – кубическая проекция панорамы

· "grid(...)" – генерирует сетку предварительного изображения:

grid(type,xsteps,ysteps,res,lincol,bkcol,pntcol), где:

type = SPHERE or CUBE (должно быть определено)

xsteps – горизонтальное расстояние между строками в пикселях, по умолчанию принимает значение 64px;

ysteps – вертикальное расстояние между строками в пикселях, по умолчанию принимает значение 64px;

res – разрешение сетки, по умолчанию принимает значение 512;

linecol – цвет строк в шестнадцатеричном формате (по умолчанию имеет значение 0x666666)

bgcol – цвет фона (по умолчанию 0x222222)

pntcol – цвет точек (по умолчанию имеет значение, равное значению linecol)

Атрибут «striporder» определяет порядок изображений в случае, когда панорама задана в кубической проекции.

С помощью элемента <image> будет определено изображение панорамы. Здесь задается тип, размеры и пути к изображениям.

Для этого тега определены атрибуты, описанные ниже.

Атрибут «type» определяет тип панорамного изображения.

Возможные значения: «CUBE»; «CUBESTRIP»; «SPHERE»; «CYLINDER».

Когда тип не установлен, средство просмотра пытается автомати­чески обнаружить тип тегами внутри тега <image> (который работает только для изображений, отличных от нескольких).

Атрибут «hfov» определяет горизонтальный видимый диапазон панорамы в градусах. Значение по умолчанию – 360˚. Для плоских панорам (или обычных изображений) следует использовать значение «1.0».

Атрибут «tilesize» определите фрагментацию для многомерных изображений.

Атрибут name: если тег xml содержит атрибут name, этот тег интерпретируется как элемент массива, в котором каждый элемент имеет собственное имя для идентификации.

Имя элемента массива - это имя тега в krpano xml. Имя в таком массиве должно быть уникальным. Не может существовать два тега с одинаковым именем. Имя должно начинаться с буквы латинского алфавита. Использование чисел недопустимо.

The <action> / <data> / <scene> nodes: это специальные теги, их содержимое игнорируется в процессе обработки xml. Все содержимое этих тегов сохраняется как строка в переменной content.

В данной статье мы рассмотрели и изучили лишь несколько основных инструментов, с помощью которых можно визуализировать панорамные изображения и преобразовать их в виртуальный тур. Эта область науки находится еще в самом начале исследования и разработки.

Благодаря технологии виртуального тура человек получает максимум полезной информации, а полная визуализация и эффект присутствия вызывает больше доверия, чем предоставленные на словах гарантии. Именно поэтому следует уделять этой технологии особое внимание и развивать в самых различных областях производства.

 

Список литературы:
1. Ефремов А. Панорамная фотография. Полноцветное издание – СПб.: Питер, 2012. – 128 с.
2. Песков А. Что такое Krpano? // Студия виртуальных разработок Александра Пескова: сайт. – URL: http://www.apeskov.ru/faq/84-aboutkrpano (Дата обращения: 27.03.2018).
3. Богданов П. Знакомство с krpano. Первые шаги [Электронный ресурс]. – Режим доступа: https://www.pixiq.ru/virtual_tour (Дата обращения: 03.04.2018).
4. Krpano XML Reference [Электронный ресурс] // Documentation for the krpano: сайт. – URL: https://krpano.com/docu/xml/#top (Дата обращения: 09.04.2018).