Game Maker - создание игр | HellRoom Games
Май 22, 2025, 00:05:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS  (Прочитано 81052 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MusNik
KeeVee Games
GM Pro user
*

Репутация: 733
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+500 репутации]За отличную игру Rock painting story!За помощь в развитии форума!За отличные статьи по Game Maker!...
API: GameMaker Studio 2
Сообщений: 3241



WWW
« : Март 11, 2017, 04:09:45 »

Использование DragonBones в GameMaker: Studio


DragonBones — бесплатное решение для 2D скелетной анимации с открытым исходным кодом.

Скелетная анимация в играх — способ анимации, позволяющий использовать статичные части изображения и анимировать их программно путём перекладки (изменения положения, размера, поворота, цвета, прозрачности, формы объекта), вместо множества кадров. Позволяют уменьшить размер дистрибутива и снять нагрузку с графического ядра, но требуют больше вычислений на стороне процессора. В скелетной анимации существует множество понятий, таких как: кость, слот, скин, граф, меш, инверсная кинематика, кинематическая пара, констрейнт, направляющая, переход и прочее — описание которых должна занимать целая отдельная статья, но здесь мы почти не будем их затрагивать. Соответствующие материалы можно найти или дождаться пока кто-то напишет подобную статью здесь. Посмотреть на преимущества костной анимации над покадровой и её возможности можно по этой ссылке: http://ru.esotericsoftware.com/spine-demos
.

http://f2.s.qip.ru/f35S7oqV.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS

GameMaker: Studio (1 и 2) на данный момент позволяют работать со скелетной анимацией только в формате Spine, аналогичной программе с ценником в 300 долларов за полную версию. Функционал достигается функциями skeleton_*, прочитать о них можно здесь и здесь.

Как известно, в DragonBones, начиная с версии 4.9.5, появилась возможность официально экспортировать проект в формат Spine, помимо собственного. Использование с GameMaker: Studio возможно, но с определённой подготовкой.


Создание проекта DragonBones

http://f6.s.qip.ru/pyv1OATh.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS

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

http://f3.s.qip.ru/pyv1OATi.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS
http://f4.s.qip.ru/pyv1OATj.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS
http://f6.s.qip.ru/pyv1OATm.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS

По какой-то причине, стандартные примеры анимаций, входящие в комплект с DragonBones, не работают в GameMaker, поэтому для теста мы будем создавать проект с нуля. Вдаваться в подробности не буду, укажу лишь, что я загрузил изображение, создал меш, добавил костей, привязал меш к костям и добавил инверсную кинематику. Флаг далее был анимирован.

Экспорт проекта DragonBones

http://f4.s.qip.ru/pyv1OATw.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS

Отправляемся в File > Export... и в левой части появившегося окна экспорта выбираем Type > Spine. Там можно настроить текстурные атласы и масштабирование, но я оставил всё как есть.

Совместимость Data Version:

  • GameMaker: Studio 1.4 — следует выбирать версию 3.3
  • GameMaker: Studio Early Acces — следует выбирать версию 3.3
  • GameMaker: Studio 2 — следует выбирать версию 3.3

Подготовка проекта к импорту

http://f2.s.qip.ru/pyv1OATq.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS

В папке, которую мы указали при импорте, теперь будет лежать три файла, как и положено — основной .json с анимацией и всеми установками, .png с текстурой и файл .atlas для "раскройки" этой текстуры. Однако, в текущем состоянии анимации не смогут загрузится ни во одну версию GMS, для этого необходимо сделать некоторые корректировки.

Прежде всего, имя файла .atlas должен совпадать с именем файла .json, то есть необходимо переименовать файл .atlas, убрав из его имени постфикс _tex. В итоге, файлы должны выглядеть так:



Следующим шагом будет редактирование файла .json. Необходимо найти ключ "skeleton" и полностью удалить его содержимое. Это сделает возможным использование файлов в GMS.

Для автоматизации этого процесса можно воспользоваться моей утилитой. Консольное приложение необходимо класть в папку с экспортированным проектом. Скачать: https://yadi.sk/d/KVMBY_m-3L2w7b.


Импорт в GameMaker: Studio

http://f4.s.qip.ru/pyv1OATr.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS

Загрузка в GameMaker: Studio — необходимо создать новый спрайт, нажать Load Sprite и загрузить .json файл из папки проекта.

Загрузка в GameMaker: Studio 2 — необходимо создать новый спрайт, нажать Import и загрузить .json файл из папки проекта.

Далее установить этот спрайт для объекта и теперь проект можно протестировать. Вам станут доступны все skeleton_* функции. Обратите внимание на совместимость Data Version с различными версиями GMS из раздела "Экспорт проекта"!


http://f2.s.qip.ru/pyv1OATs.png
Бесплатный Spine! или как пользоваться экспортером DragonBones в GMS

Весь функционал, использовавшийся при создании анимации, работает, а конкретно: меши, анимация меша, привязка меша к костям и инверсная кинематика.



Полезные ресурсы:
« Последнее редактирование: Июль 13, 2017, 17:18:16 от MusNik » Записан

Jesus_3k
GM Pro user
*

Репутация: 100
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]2 место в конкурсе 2 место в конкурсе
API: GameMaker Studio Pro
Сообщений: 221


hey


« Ответ #1 : Март 11, 2017, 08:08:22 »

Спасибо за труд, мюсник.
Записан
SilentPhil
Norland
GM Pro user
*

Репутация: 479
Offline Offline

Пол: Мужской
Награды:
Первое место на HellRoom Jam #7 [Hell in Your Fridge]500 сообщений!За постоянность! [50 дней на форуме]За лояльность! [+150 репутации]Настоящий игродел!Второе место на HellRoom Jam #6 [По следам Артакса]...
API: GameMaker Studio 2
Деятельность: GML, Pixel Art
Сообщений: 1363



WWW
« Ответ #2 : Март 11, 2017, 08:22:49 »

Ох, нужно поковыряться в этих костях, может к пиксель арту получится их прикрутить по красивому.
Записан

         
Да, на них можно кликать.
Jesus_3k
GM Pro user
*

Репутация: 100
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]2 место в конкурсе 2 место в конкурсе
API: GameMaker Studio Pro
Сообщений: 221


hey


« Ответ #3 : Март 11, 2017, 08:51:00 »

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

Например в твоем платформере на конкурс, можно сделать процедурный шарфик будет задорно и приятно.
« Последнее редактирование: Март 11, 2017, 08:59:09 от Jesus_3k » Записан
Gamedel
GM Pro user
*

Репутация: 78
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]Добавление и перевод новостей о Game Maker!
API: GameMaker Studio Master
Деятельность: Прогер GML, C#, PHP, HTML и тп.
Сообщений: 331



« Ответ #4 : Март 11, 2017, 08:59:46 »

Молодец)
Записан
SilentPhil
Norland
GM Pro user
*

Репутация: 479
Offline Offline

Пол: Мужской
Награды:
Первое место на HellRoom Jam #7 [Hell in Your Fridge]500 сообщений!За постоянность! [50 дней на форуме]За лояльность! [+150 репутации]Настоящий игродел!Второе место на HellRoom Jam #6 [По следам Артакса]...
API: GameMaker Studio 2
Деятельность: GML, Pixel Art
Сообщений: 1363



WWW
« Ответ #5 : Март 11, 2017, 09:08:40 »

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

Например в твоем платформере на конкурс, можно сделать процедурный шарфик будет задорно и приятно.

Ну на этот проект уже вряд ли успею таки украшательства навесить, но на заметку возьму, спасибо :)
Гифка здоровская (тоже так хочу :D)
Записан

         
Да, на них можно кликать.
AlexBel
Участник
****

Репутация: 24
Offline Offline

Пол: Мужской
API: GameMaker Studio 2
Деятельность: Квест
Сообщений: 220



WWW
« Ответ #6 : Апрель 09, 2017, 12:41:47 »

Всем привет.

Скачал с сайта разработчика демонстрационный проект "Dragon", проэкспортировал согласно инструкции для GMS 1.4 (использовал 1.4.1763). Для того, чтобы скачать демо, пришлось пройти регистрацию, что было нелегко, учитывая надписи иероглифами. После экспорта и применения утилиты spineheal.exe результат был проимпортирован в GMS - отлично работает. К сообщению прикрепил архивы со скачанным демо и проект GMS (кнопки 1, 2, 3, 4 переключают анимацию).
Оказалось, что для экспорта требуется соединение с Интернет и авторизация. Без Интернет-соединения при экспорте не формируется файл *.json

MusNik, большое спасибо! Я как раз искал альтернативу Spine для использования в GMS скелетной анимации.

P.S. Прикрепил ещё один проект со скачанной анимацией

* Bones_Test.gmz (161.55 Кб - загружено 627 раз.)
* Dragon.rar (150.74 Кб - загружено 696 раз.)
* NewDragon.gmz (848.23 Кб - загружено 648 раз.)
« Последнее редактирование: Апрель 09, 2017, 15:20:20 от AlexBel » Записан

Goo
ну типа
GM Pro user
*

Репутация: 163
Offline Offline

Пол: Мужской
Награды:
3 место в HellRoom Jam XВторое место на HellRoom Jam #9 [Антибиотик]
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345



« Ответ #7 : Апрель 09, 2017, 19:12:41 »

Хорошая статья. Почему не закрепил тему?
Записан

AndrewVideoGames
Главный Модератор
*

Репутация: 821
Offline Offline

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #8 : Апрель 09, 2017, 20:06:30 »

Хорошая статья. Почему не закрепил тему?
Закрепил, полезная статья.
Записан
AlexBel
Участник
****

Репутация: 24
Offline Offline

Пол: Мужской
API: GameMaker Studio 2
Деятельность: Квест
Сообщений: 220



WWW
« Ответ #9 : Апрель 25, 2017, 18:47:17 »

Если кто-нибудь найдёт способ проэкспортировать анимацию в формат Spine без подключения к Интернет - сообщите, пожалуйста, как это можно сделать.
Записан

luden
GM Pro user
*

Репутация: 151
Offline Offline

Награды:
500 сообщений!За постоянность! [200 дней на форуме]
API: GameMaker Studio Master
Сообщений: 704


« Ответ #10 : Июнь 16, 2017, 17:08:22 »

Что-то не пашет. Утилита отрабатывает вроде без ошибок, по крайней мере я вижу как она сносит _tex. Но при попытке загрузить результат, пишет. что не валидная анимация.
Записан
MusNik
KeeVee Games
GM Pro user
*

Репутация: 733
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+500 репутации]За отличную игру Rock painting story!За помощь в развитии форума!За отличные статьи по Game Maker!...
API: GameMaker Studio 2
Сообщений: 3241



WWW
« Ответ #11 : Июнь 16, 2017, 19:18:12 »

Какая версия гма? Скинь анимацию.
Записан

AlexBel
Участник
****

Репутация: 24
Offline Offline

Пол: Мужской
API: GameMaker Studio 2
Деятельность: Квест
Сообщений: 220



WWW
« Ответ #12 : Июль 06, 2017, 16:26:53 »

Dragon Bones Pro обновился до версии 5.3.0, в экспорте Spine 2.1 и 3.3. Пытаюсь сделать импорт в GMS2 версии 2.0.7, появляется сообщение:

Код:
Importing files to a sprite is not an undoable action. Do you want to continue?

После согласия на продолжение сообщение:

Код:
The file '../sprites/sprite0/6ca83099-06f1-440e-a8bc-dbfd315bcf0c.json' is not supported. See Compile Errors window.

У кого такие версии - попробуйте экспорт-импорт. В GMS 1.4 нормально было, а сейчас попробовал с второй версией - никак... :(
Записан

sib_dip
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker Studio Pro
Сообщений: 1


« Ответ #13 : Июль 06, 2017, 17:53:16 »

Господа, возникала проблемка при импорте в GMS 1.4 - случаем, никто не сталкивался? 

Записан
Timoxx
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker Studio Pro
Сообщений: 7


« Ответ #14 : Июль 11, 2017, 04:12:03 »

Экспортирую анимацию в формате Spine 2.1 , использую утилиту на файлах, загружаю спрайт в GMS 1.4.1763 , при загрузке выдает ошибку:

????? ???? ????????? ? ????.
ERROR: json file is not a valid Spine animation...
       json data is malformed

В чем может быть дело?
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.238 секунд. Запросов: 36.