Автор:
Сергей Березняк (Шахты, Россия)
С каждым днем в Web-программировании появляются новые технологии, которые представляют пользователям более новые, удобные, необычные и функциональные возможност. На настоящий момент в Интернете активно используются 3D-моделинг. [1] В данной статье мы подробно рассмотрим характеристики плагина Genui – концептуально новой разработки, в создании которой автор принимает непосредственное участие.
Genui может представлять собой средство отображения 3D-сцен. [2] Продукт состоит из набора JavaScript и PHP скриптов, [3] обеспечивающих встраивание и отображение совместимого 3D-контента. В то же время, подобные скрипты трудно скрыть, так как они в процессе работы предоставляются браузеру клиента (JavaScript, HTML), и могут таким образом быть получены для изучения и последующей обратной инжинерии. Данная разработка сравнима с известным Flash плеером, [4] с помощью которого отображается Flash-контент на страницах: как и при встраивании Flash-объектов, здесь используется HTML тэг, посредством которого производится встраивание, а для встраемого объекта указывается файл-источник и параметры, которые должны быть к нему применены. Основное различие состоит в том, что применение технологии Flash вынуждает клиента устанавливать и периодически обновлять специализированное ПО на собственном компьютере, тогда как WebGL [5] представляет собой стандарт для реализации браузерами поддержки JavaScript интерфейса, отвечающего требованиям спецификации, поэтому для правильной работы данного программного обеспечения (ПО) требуется только современный браузер. Кроме того, скрипты, управляющие логикой работы средства отображения 3D-сцен предоставляются клиенту со стороны сервера (сайта), при входе, поэтому при необходимости обновления, следует лишь обновить эти скрипты на сайте, что должно пройти незаметно для клиентов.
Genui может представлять собой специализированную программу для редактирования сцен. [6] Эта программа позволяет быстро и наглядно расположить объекты на сцене, ввести все необходимые настройки и назначить объектам дополнительные скрипты. Средство будет импортировано на три наиболее популярные платформы: Windows, Linux, MacOS. Для исключения проблем с кроссплатформенностью, было принято решение об использовании фреймворка Qt [7], который позволяет быстро и качественно решать широкий спектр задач, в том числе и вывод 3D графики, и работу с файлами - функции лежащие в основе процесса конструирования сцен. Для написания приложения используется язык С++ [8, с. 264], это позволяет не только получить оптимальную производительность, но и скрыть исходный код, предоставляя только скомпилированный исполняемый файл для работы.
Genui может представлять собой набор утилит различного назначения. [9] Небольшой набор дополнительных программ, используемых для перевода моделей различных форматов в формат «P3D», для сборки шейдеров формата «SHA», и реализации других утилитных функций, которые могут потребоваться при создании уникальных, качественных и проработанных трёхмерных сцен. Утилиты будут предоставляются для различных платформ, как и редакторов, и так же написаны на языке программирования C++ в среде Qt.
Genui может быть использован для разработки информационно новостных порталов. В рамках нового пользовательского интерфейса, стал возможен пересмотр классического отображения информации. Речь в первую очередь идет об отмене скролинга, и самого классического метода пролистывания сайта. Благодаря полноценной браузерной 3D сцене, возможности просмотра не ограниченны рамками диагонали и разрешения монитора. Удобная и плавная интерактивная сцена, приятная для глаза подсветка объектов, динамический туман и множество дизайнерских оформлений, позволят сделать просмотр новостей не только информативным но и релаксирующим, притягивающим, поскольку каждый зарегистрированный пользователь получит доступ к большому набору стилей и оформлений, что позволит ему создать свою среду, в которой ему будет наиболее приятно просматривать новости или читать блоги. При создании портала, отображающего качественную и актуальную информацию, он быстро наберет популярность с большей целевой аудиторией.
Genui может быть использован для разработки Интернет-магазинов. Данный пункт является наиболее интересным в плане коммерциализации проекта, поскольку основной целью разработок является интерактивность, комфорт и информативность. Эти три параметра просто необходимы для Интернет-магазинов.
Genui может быть адаптирован для разработки под различные задачи. В виде библиотеки предоставляющей различные функции программирования трёхмерных браузерных сцен, данный продукт может быть многократно использован для создания различных решений, от Интернет-магазинов до игровых программ. Проблема создания ресурса может в этом случае быть сведена к определению правил и подбору контента.
Genui также обладает рядом концептуальных преимуществ. Одним из которых является универсальность, т.е. вся сцена является единым объектом, который обладает определёнными свойствами и поведением, при чём внутри он может содержать множество подобъектов, которые ни чем принципиально не отличаются от главного; соответственно, любой объект может быть использован как сцена, и наоборот.
Вторым значимым преимуществом является интерактивность, т.е. для любых объектов могут быть определены различные реакции и возможности для взаимодействия с пользователем, для этого на этапе создания сцены в неё встраиваются дополнительные управляющие скрипты, способные через оговоренный интерфейс взаимодействовать с пользователем, страницей и другими объектами.
Следует, отметить также такой признак, как иерархичность, т.е. уделяется внимание тому, как между собой распределяют контроль за сценой объекты разного уровня иерархии.
Особое внимание уделено законам физики. Возможно определение специфических законов, в соответствие которым будут себя вести и взаимодействовать друг с другом объекты, находящиеся на одном уровне иерархии.
Анимация занимает также важное место при использовании плагина Genui. Доступно применение процедурных анимаций для объектов. Настройка и поведение этих объектов на 3D-сцене обрабатывается с помощью программ утилит GENUI.
Ключевое место при использовании плагина Genui, конечно же занимают непосредственно 3D модели. Предоставляется возможность загрузки качественных моделей из файлов формата «P3D», для их получения можно воспользоваться утилитами конвертирования, которые позволяют подготовить к использованию готовые модели различных форматов, таких как «3DS» и «OBJ».
Доступна параметрическая настройка камеры в процессе работы с плагином Genui, а так же определение специфики её поведения для конкретной сцены или объекта.
При разработке Genui также было уделено внимание эффектам отображения 3D-моделей. Используя возможности графического процессора, могут быть добавлены различные эффекты визуального оформления, такие как освещение, блики, туман, сияние, неровности и т.д.
Исходя, из вышеизложенного можно сделать вывод о том, что плагин Genui – разработка, необходимость которой продиктована реалиями сегодняшнего дня. Все активнее в нашу жизнь внедряются покупка и продажа товаров посредством Интернета. Использование 3D формата при представлении каталога товаров является для компании не только коммерчески выгодным, но и само по себе удобно пользователю. Данный плагин может быть использован и в новостных порталах, и в образовательных целях, как, впрочем, и на любом другом Интернет-ресурсе, придавая картинке целостность и яркость.
Литература:
1. Демонстрационный сайт плагина Genui. // URL: http://nghl.webege.com/1index.php, (дата обращения: 06.05.2011).
2. Электронное Стереокино. Состояние и перспективы. // URL: http://www.stereokino.ru/e_stereo.htm, (дата обращения: 06.05.2011).
3. Взаимодействие PHP и JavaScript // URL: http://on-line-teaching.com/php/phpvsjs.htm, (дата обращения: 06.05.2011).
4. Adobe Flash Player 11 // URL: http://www.adobe.com/ru/products/flashplayer.html, (дата обращения: 06.05.2011).
5. WebGL – open GL ES 2.0 for the Web // URL: http://www.khronos.org/webgl/, (дата обращения: 16.05.2012).
6. Программа для создания, редактирования 3D моделей. // URL: http://3dpraktik.ru/load/1-1-0-49, (дата обращения: 06.05.2011).
7. QT – Cross-platform application and UI framework // URL: http://qt.nokia.com/, (дата обращения: 16.05.2012).
8. Пономарев В. Программирование на C++ / C# в Visual Studio. NET 2003, Санкт-Петербург: БХВ-Петербург, 2004. 352 с.
9. Утилита – надежный помощник вашего компьютера. // URL: http://www.technograd.com/atic/1214, (дата обращения: 06.05.2011).
Научный руководитель: Гавлицкий Александр Иванович