ВВЕДЕНИЕ 3
1. Визуальное программирование 5
1.1 Понятие визуального программирования 5
1.2 Применение в графических редакторах 6
1.3 Примеры нодовых редакторов 8
1.3.1 Nuke 8
1.3.2 Blender 10
1.3.3 Houdini 12
2. Постановка задачи 16
2.1 Требования к программному продукту. Теория 16
2.2 Требования к среде визуального программирования конструктора
приложений 17
2.2.1 Бизнес-требования 17
2.2.2 Требования пользователей 17
2.2.3 Функциональные требования 18
2.2.4 Нефункциональные требования 19
3. Проектирование структуры среды визуального программирования 21
3.1 Виды нод и их взаимодействие 21
3.2 Описание функционала 24
4. Реализация 28
4.1 Класс BaseNode 28
4.2 Класс NodeEditor 29
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Приложение
Различные интерактивные приложения становятся все популярнее. Это может быть просто электронная книга, игра, образовательная система или 3D презентация. Такой интерес достигается за счет большей вовлеченности пользователя в деятельность любого подобного приложения.
Сейчас, создание интерактивного приложения является сложным процессом, что связано с отсутствием качественных специализированных средств разработки. Поэтому для получение интерактивного продукта нужно привлекать множество различных специалистов.
Система Urman сможет решить эту проблему. Urman - кроссплатформенный конструктор интерактивных мультимедиа приложений, являющийся фреймворком Unity. С помощью этого конструктора возможно создавать интерактивный контент для выставок и музеев, презентации продуктов и услуг, образовательные фильмы и книги, оформление для концертов и шоу.
Таким образом, создать интерактивное приложение сможет любой человек, который хоть немного знаком с композитингом или монтажом. В Urman возможно задать логику приложения, обозначить котроллеры, на загруженных медиа-данных можно произвести монтаж, анимацию и трансформацию внутри системы. Это избавляет от проблем приобретения множества различного софта и постоянного переноса данных из одной программы в другую. Удобство и простота использования будет достигнута при помощи нодовой архитектуры.
Преимущество визуального программирования состоит в упрощении множества действий. Не нужно уметь писать скрипты, знать определенные особенности взаимодействия классов. Нужно просто соединить несколько блоков друг с другом. Так же в любой момент разработки программы можно изменить предыдущие действия, при этом не беспокоясь, что история событий очистилась. Несомненным плюсом является наглядность всего алгоритма действий - все выполненные операции соединены в единое дерево, поэтому удобно работать при создании приложений, где много различных процессов.
По причине того, что система будет выполнять довольно специфичные и различные функции, то использовать пример других программ с нодовой архитектурой не получится. Следовательно, нужно продумать определенную структуру единиц визуального программирования (какой набор нод будет наиболее эффективно выполнять все требования).
Из всего выше сказанного следует, что целью дипломной работы является разработка нодовой архитектуры (среды визуального программирования).
Для достижения цели дипломной работы были поставлены следующие задачи:
• анализ предметной области и существующих решений;
• собрать и проанализировать требования;
• разработка структуры и интерфейса;
• реализация компонента.
Структурно дипломная работа состоит из введения, четырех глав, заключения, списка используемой литературы и приложения. В первой главе приводится понятие визуального программирования, рассматривается применение в графических редакторах, а также анализируются решения реализации визуального программирования в нескольких программах. На выводе из первой главы, во второй главе составляются требования к визуальной среде программирования. В третьей главе проектируется структура и описывается функционал. В четвертой главе описан реализация. В заключении автором подводятся итоги и предоставляются предложения по улучшению разрабатываемой среды.
В ходе выполнения дипломной работы автор ознакомился с понятием визуального программирования, были рассмотрены нодовые редакторы нескольких программ. На основе полученных сведений были сделаны выводы, по которым собраны требования к среде визуального программирования приложения. Исходя из составленных требований была разработана структура нодового редактора и описан его функционал.
В конечном итоге, была разработана основа среды визуального программирования для конструктора интерактивных мультимедиа приложений позволяющая создавать логику приложения, загружать и управлять медиа контентом, выбирать различные способы переключения. Такая возможность совместить подобные действия достигается именно из-за нодовой архитектуры.
Нодовая архитектура обладает интуитивным интерфейсом и требует от пользователя лишь понимание алгоритма действия разрабатываемого приложения и знаний в области компьютерной графики. Знание программирования и навыки разработки программного обеспечения совершенно не обязательны.
Дальнейшее развитие предусматривает более детальную разработку ноды «Classic», создание возможности группировки нод в единый узел типа «Index». Возможности группировки нод следует применить и при импорте 3D объектов или сцен, так как для выполнения различной трансформации здесь требуются больший функционал. Все это следует выполнять при параллельной разработки самого приложения.
Пилотный проект - интерактивная презентация Тарих, предназначенная для музеев и выставок. В презентацию включены 3D реконструкции разрушенных зданий и панорамные виды города XIV века. Управление презентацией и 3D объектами происходит при помощи жестов.