|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.05.2014, 04:13 | #31 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Техническая информация
Также, в программу было внесено множество изменений и улучшений, сделавших работу в ней более удобной и приятной. Одним из таких улучшений было резервное копирование файлов в случае возникновения непредвиденной ошибки. Программа создает в своей папке вложенную папку 'Backup', куда заносит сохраненную копию создаваемого эффекта. Таким образом, даже в случае возникновения непредвиденной ошибки, работа потеряна не будет.
Были введены горячие клавиши для быстрого сохранения программы, а также, переключения по вкладкам настроек. Впоследствии планируется добавление горячих клавиш ко всем наиболее часто использующимся и труднодоступным элементам управления программы. Для упрощения процесса разработки новых эффектов был создан Менеджер импорта, позволяющий импортировать любые Эмиттеры из уже сохраненных эффектов в свой новый проект. Таким образом, похожие Эмиттеры можно копировать между различными эффектами, значительно сокращая время их разработки. Кроме всего вышеперечисленного, в программу была добавлена возможность запуска с параметром, путем перетаскивания на нее файлов с эффектами и, как следствие этого, установка в систему ассоциаций для файлов с эффектами, что позволяет запускать программу двойным нажатием на любой эффект. Программа перенаправляет подобный запрос о запуске своей уже открытой копии, если таковая существует, чтобы избежать повторного открытия новой копии программы при попытке запуска эффекта двойным щелчком по нему. Не обошлось и без серьезных изменений самой структуры файла с эффектом. В процессе осмысления основных проблем работы с INI-файлами в Perfect Particle 2, мне пришлось создать свой собственный формат хранения данных. Скажу только, что новый формат отвечает всем установленным мною требованиям, давая необходимые мне возможности по исправлению множества нежелательных ошибок. Так, например, в начало файла записывается заголовок, который дает возможность еще на самом раннем этапе загрузки эффекта проверить, является ли вообще запрашиваемый файл эффектом Perfect Particle 2 или нет. Также, информация, хранящаяся в файле, позволяет получить версию программы, в которой был создан эффект. Если данный эффект был создан в более новой версии программы, то при открытии пользователь увидит сообщение, предупреждающее о возможной потере данных (версии в Perfect Particle 2 добавляются только с появлением новых свойств). Структура файла позволяет проверять данные в файле при помощи контрольной суммы всех данных, записанных внутри него, таким образом, всякое изменение файла эффекта за пределами Редактора приведет к повреждению эффекта и появлению соответствующего сообщения при попытке его открытия. Но, что самое главное, - подобная структура позволяет беспрепятственно расширять программу - новые свойства будут автоматически записаны и считаны, и эффекты всех версий можно будет беспрепятственно открыть в любой из версий программы. Отдельную благодарность хотелось бы принести другу (SpectreZ) за тестирование программы, нахождение в ней ошибок, создание эффектов, а также за предоставленный мне модуль 'Всплывающая подсказка' из недр своей собственной дипломной работы, благодаря которому появилась возможность писать текстовые подсказки прямо в окне вывода графики. Также, его личные изобретения, - метод получения шрифта любого имени и любого размера для OpenGL, функции загрузки png-изображений и некоторые другие бонусы - все оказалось доступным мне в моей работе. Отдельную (среди отдельных) благодарность хотелось бы выразить любимому человеку (SaiDark) за огромную поддержку, без которой я не завершил бы и половины из того, что уже есть, а также, за разработку эффектов и помощь в нахождении и исправлении ошибок. В данный момент программа находится на завершающей стадии тестирования и исправления оставшихся незначительных ошибок (разумеется, среди тех, что мы могли заметить). Напоследок, хотелось бы выложить здесь скриншот и ссылку на видео самого красивого из всех имеющихся на данный момент эффектов, созданного довольно давно, когда еще приходилось прерывать процесс разработки эффекта на исправление множества возникающих ошибок, и перенесенного заботливым Конвертером на нынешнюю версию (с поддержкой новой структуры файла). Ссылка на видео. Лучше смотреть в полноэкранном режиме. Последний раз редактировалось SaiLight; 07.05.2014 в 04:32. |
03.06.2014, 00:33 | #32 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Завершение работы
Не знаю, стоит ли об этом писать в данной теме, но некоторое время назад я успешно сдал государственный экзамен и прошел предварительную защиту своей дипломной работы. В общем, программа, в том виде, в котором я хотел бы показать ее комиссии, уже завершена, осталось лишь по мелочам доделать все остальные детали своей работы. В основном это касается ее текста, но есть и недоработанные детали в самой программе. Например, еще совершенно не было уделено внимания тексту для подсказок по компонентам, не был доработан стартовый эффект программы, по интерфейсу и свойствам Системы, также, есть несколько замечаний. Лично моих, потому что, как руководителя, так и комиссию все в моей работе устраивает. Но пару дней назад я решил взяться за существенное (и, в то же время, последнее) расширение функционала Системы. Это касается стартовых позиций Частиц - при выборе произвольной формы Эмиттера 'Траектория' теперь есть возможность создавать анимированную форму Эмиттера, плавно меняющуюся с течением времени. Таким образом, некоторая часть Системы была серьезно переработана, а также, был написан компонент 'Редактор анимации', позволяющий создавать и настраивать ключи анимации на форме с Редактором траекторий. Подобные серьезные усовершенствования, конечно, не идут на пользу ни быстродействию программы, ни ее коду, и я не стал бы этим заниматься, если бы не был уверен в их необходимости. В то же время, старая версия работы со статичными траекториями была оставлена и включается автоматически при использовании одного кадра анимации. Таким образом, данное (как и все остальные) обновление не нагружает Систему при использовании старого механизма, но сам механизм включать вручную не надо - он активируется при добавлении второго кадра анимации и отключается при его удалении. Вообще, в будущем больше глобальных расширений не планируется, и если Система и будет расширяться, то это будет происходить только за счет добавления новых свойств, что сделать довольно легко благодаря проработанному механизму расширения программы. Впрочем, думаю, набор свойств, уже присутствующих в Системе, позволяет создавать довольно неплохие и реалистичные эффекты, что отбрасывает необходимость добавления новых свойств, пока их польза для создания действительно новых эффектов не будет доказана. В ближайшем будущем планируются, в основном, доработка программы, добавление некоторых удобств и исправление найденных ошибок. На данный момент имеется вполне серьезный проект, трудоемкость работы над которым можно выразить в числовом виде: 13 000 строк - столько их было написано, не считая огромного количества удаленных и переработанных модулей. Также, не считая многократной переработки интерфейса и такой же серьезной работы над графической составляющей программы. Презентация для показа дипломной работы создавалась в течение недели и имеет 11, полностью нарисованных в Photoshop'е, слайдов. Хотелось бы напомнить, что работа над Системой велась 3 года, и Perfect Particle 2 является третьей по счету программой, реализующей данную идею и разработанной мною в составе команды Perfect Light. Перейдя по данной ссылке, можно увидеть тестовое видео, демонстрирующее возможность динамического изменения формы Эмиттера. |
10.06.2014, 14:00 | #33 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,886
|
Давно хочу написать. Но всё как-то времени не нахожу.
Сказать, конечно, могу мало. Большая работа, достойная уважения, проделана, результаты налицо и они выше всяких похвал. Всё выглядит цельно,продумано и проработано, и дизайн и функциональность и пиар (в каком-то смысле пиар - ролики и посты). О каких-то минусах даже думать не приходится, чтобы их наблюдать, наверное надо очень долго всё обследовать, т.к., думаю, тестированию у Вас подвергалось всё что можно. Из пожеланий - только дальнейшего развития, с данным проектом или с любым другим, и конечно, сил и мотивации на доведение будущих проектов до конца также, как и этого. Ну и стандартный наверное уже мой вопрос. Когда можно будет применить в каком-либо виде Вашу работу, хотя бы через редактор сформировать видео/картинку чтобы потом использовать где-то в виде спрайтов/ эффектов, в какой-то программе или наложенных на видеоряд. |
11.06.2014, 03:06 | #34 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
phomm, спасибо за комментарий и оценку. Работа, действительно, была сложной, можно даже сказать, - мой самый серьезный проект во всех направлениях моего творчества. Программа, и правда, тестировалась и тестируется до сих пор не одним мной - к данному процессу подключено еще два человека, в результате чего до сих пор (что, думаю, неудивительно) продолжает находиться и исправляться огромное количество ошибок и недоработок.
Программа развивается огромными скачками. Уже сейчас, не дожидаясь своего выпуска в свет, она выросла до 3 версии, что говорит о многочисленных изменениях, внесенных в нее за последний месяц. Одним из таких изменений была добавленная недавно возможность создания динамически изменяемых форм Эмиттеров, о чем я писал чуть выше. В данный момент применение программы, в основном, заключается в ее тестировании и доведении до первого финального состояния, когда ее можно будет показывать людям - думаю, этот момент наступит несколько позже сдачи моей дипломной работы (что, кстати, произойдет в следующий понедельник). Такая отсрочка обуславливается отсутствием некоторых запланированных функций. Прежде всего, хотелось бы сказать, что Perfect Particle 2 (на первых порах - точно) не позиционируется мною как 'убийца Magic Particles' или других продвинутых Систем частиц, хотя в данный момент и производится тестировании Системы на возможность создания эффектов, повторяющих эффекты некоторых известных Систем (что, кстати, проходит более чем успешно). Сама библиотека рассчитана, прежде всего, на использование в 2D и, возможно, простых 3D-играх и, скорее всего (если я не перестану верить в правильность такого решения), впоследствии будет распространяться в виде DLL-библиотеки для использования в сторонних проектах других программистов. Что до возможностей использования Редактора - думаю, они откроются пользователям намного раньше, так как, повторюсь, в скором времени планируется свободное распространение программы в интернете. В данный момент Редактор можно использовать для сторонних целей только посредством сохранения скриншотов или записи видео-роликов при помощи Fraps, но, в дальнейшем, думаю, Редактор будет расширен в данном направлении. Прежде всего, будет реализована возможность сохранения скриншотов системы в различных известных форматах (в том числе, и с поддержкой альфа-канала) для последующего использования в графических редакторах. Затем будем смотреть в сторону добавления возможности сохранения набора спрайтов для использования их в сторонних проектах. Для данной цели, кстати, будут созданы наборы наиболее часто используемых эффектов, которые всегда будет возможность скачать и использовать, внося в них лишь небольшие изменения. Реализация возможности записи видео-роликов пока не планируется (пока только через Fraps). В данный момент планируется масштабное тестирование Системы в дальнейшем игровом (или игровых ) проекте нашей команды. В связи с катастрофическим отсутствием свободного времени планируется переход на один из графических движков (пока выбирается), что позволит сэкономить много времени на изучении графических библиотек. Благодаря работе SpectreZ'а, наша команда на данный момент имеет не только универсальную и реалистичную Систему частиц, но и набор графических, гибко настраиваемых, компонентов, имеющих возможность как векторного вывода (посредством графических примитивов), так и растрового, масштабируемого до любого размера без потери качества (по специально разработанному алгоритму). Что касается дальнейшего игрового проекта Perfect Light (хоть это и является отдельной темы, выходящей за рамки данного обсуждения), в настоящий момент мы имеем:
В данный момент подготавливается реализация игрового движка для следующего проекта (планируемого нами уже в течение четырех лет). Последний раз редактировалось SaiLight; 11.06.2014 в 03:16. |
19.06.2014, 13:33 | #35 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
В понедельник удачно сдал дипломную работу, и можно считать, что свое обучение, наконец, завершил. В данный момент проект находится на стадии доработки и подготовки к первому выпуску в свет. Точной даты назвать пока не могу. Программу выложу в данной теме для ознакомления и тестирования всеми желающими.
|
19.06.2014, 20:29 | #36 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,886
|
Поздравляю !
Достойный подход к учебному процессу, всем в пример. Будем ждать чтобы попробовать. |
10.09.2014, 01:23 | #37 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Возобновление работ
Здравствуйте! Хотелось бы принести извинения всем, кто ждал выхода Системы частиц в свет и пока не дождался (искренне надеюсь, что таковые имеются). Я позволил себе отдохнуть этим летом от программирования, и в итоге вплотную занялся веб-разработкой, дизайном, 3D-моделированием и... разумеется, программированием (результаты чего будут описаны в соседней теме). Но это небольшое отступление от темы.
А если вновь перейти к теме, то спешу сообщить, что работы над Perfect Particle 2 вскоре будут возобновлены - прошу с пониманием отнестись к нашей загруженности, программа теперь будет дорабатываться только в свободное от остальной работы (а остальной работы довольно много) время. Но, думаю, в скором времени смогу собрать достойную вашего внимания версию. Кстати, отныне доступен форум нашей команды (Perfect Light), на котором, в специальной теме, будут освещаться все изменения, вносимые в Perfect Particle 2. |
11.09.2014, 23:53 | #38 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Главное нововведение
Сегодня у меня выдалось немного свободного времени, и я решил не тратить его впустую. Как это иногда бывает, когда долго не программировал - начал, и остановиться уже не можешь. В такие моменты главное - успеть сделать что-то полезное, пока вновь не загрузился остальными делами. И сегодня я это сделал - как и обещал, взялся за одно из наиболее сложных усовершенствований в Системе - полностью отвязал ее от используемого графического движка. А, вместе с тем, и существенно расширил область ее применения, попутно доказав небесполезность нашего движка Perfect Canvas, ведь именно с его помощью я решил показать новые возможности Системы. Впрочем, думаю, это уже видно из скриншотов в начале сообщения - простая программа, в которую всего несколькими строками подключены Perfect Particle и Perfect Canvas, переназначена всего одна функция Системы - и вот, что мы можем видеть: все многообразие эффектов, созданных нами ранее в редакторе Perfect Particle 2, доступно на всеми любимом, старом и простом в использовании Canvas'е! Как же это было реализовано? Все довольно просто: есть всего несколько функций, необходимых Системе частиц для вывода на экран, и эти функции были вынесены в модуль Системы в виде глобальных переменных, которым при инициализации присвоены пустые значения: Код:
Код:
Всем спасибо за внимание! В качестве бонуса выкладываю здесь тестовую программу, показывающую данное нововведение в деле. Немного об управлении. Левой кнопкой мышки вы можете перемещать Систему (отлично подойдет для эффектов вроде Огня), правой - камеру. Средней кнопкой (или кнопкой внизу окна) можно вызвать окно загрузки нового файла. Нажатием на пробел эффект будет перезапущен (полезно для эффекта Взрыва). Кнопки в правом верхнем углу окна влияют на количество сторон отображаемых фигур (если у вас возникнут проблемы с производительностью, попробуйте понизить это значение). ВНИМАНИЕ! На данном форуме выкладываю несколько урезанную версию программы - всего 6 доступных эффектов. Для скачивания полной версии (25 красивых эффектов) необходимо зайти на наш форум по этой ссылке. Скачать тестовую программу (424 kb)
Последний раз редактировалось SaiLight; 11.09.2014 в 23:58. |
12.09.2014, 19:55 | #39 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,886
|
Поглядел.
Годно всё Собственно, как я и говорил, перфектканвас исправно служит рендерером, я про это и говорил, что в том своём полудвижке тоже хотел вынести рендерер отдельно, как здесь в тестовой программе сделано. И, конечно же, я не говорил о бесполезности, а говорил только про узкую роль рендера, т.к. "движок" это всё же крупнее проект и решающий довольно много задач. По самим частицам только похвалы Будем ждать редактор, как подключить - уже понятно, разве что неясно, будет ли в итоге в коде подключаться система частиц или через DLL |
12.09.2014, 20:36 | #40 | ||
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
Цитата:
Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Perfect World сервер | Aleksey1408D | Свободное общение | 1 | 21.01.2011 14:18 |
Clock by Perfect Light | SaiLight | Софт | 2 | 28.07.2010 10:16 |