Spine — это формат и инструмент для создания 2D-игр, позволяющий анимировать персонажей и объекты с помощью технологии скелетной анимации. Он позволяет разработчикам эффективно управлять анимациями, создавая плавные и сложные движения без необходимости перерисовки каждого кадра.
С использованием Spine можно оптимизировать процесс разработки игр, получая высококачественные графические элементы и анимации, которые легко интегрируются в различные игровые движки, такие как Unity и Cocos2d. Это делает его популярным выбором среди инди-разработчиков и крупных студий.
Spine — первые шаги

Относительно недавно на кикстартере завершился сбор денег на новый инструмент для игроделов, но на Хабре это не было освещено. Spine —программа для создания скелетной 2d анимации. Этот инструмент будет интересен не только инди-разработчикам и начинающим гейм дизайнерам, но также опытным игрокам рынка. Простота в использовании и притягательный дизайн создают впечатление творящегося на экране волшебства.
Всех заинтересовавшихся прошу под кат (много картинок). Зачем я написал этот тюториал, если на официальном сайте уже есть подробные обучающие видео? В основном, чтобы увеличить сообщество Spine за счет русскоязычной аудитории, ведь чем больше сообщество тем динамичнее развивается проект и быстрее решаются проблемы. Ну и конечно хочется поделиться маленькими хитростями и трюками при создании анимации и интеграции ее в код игры.
1. Подготовка к работе
Качаем и устанавливаем пробную версию. Здесь нам доступны все функции, кроме экспорта проектов, но для составления впечатления нам и этого более чем достаточно. Конечно же мы не станем повторять здесь уже готовые примеры из сборки, а лучше изваяем собственного Франкенштейна для души.
Откройте свой любимый графический редактор и нарисуйте то, что в последствии должно ходить, прыгать и выполнять прочие телодвижения. Формат файла PNG с прозрачным фоном. Художник я от слова худо, но это не помешало мне намалевать одно милое, очаровательное создание.

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

Таким образом у нас есть папка где лежат рисунки частей тела — плоть нашего чудовища, а также исходное изображение. А вот теперь начинается самое интересное.
2. Готовим сборочный стол
Запускаем Spine. В главном меню выполняем команду New project. В окне иерархии выбираем пункт Images и с помощью кнопки Browse выбираем нашу папку с картинками.

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

4. Собираем скелет

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

а затем инструмент Create new bones
Старшей костью после root выберем кость таза (pelvis), и создаем ее простым нажатием на нужное место изображения. Вокруг этой кости будут вращаться все остальные. Другие кости создаем путем протягивания курсора (Drag-and-drop) от конца старшей кости до необходимого размера. Желательно, но не критично, чтобы кость соответствовала по длине размеру части тела. Иерархия костей получаеться следующая.

5. Пришиваем мясо к костям —монстр уже почти готов
Теперь каждой кости нужно поставить в соответствие изображение части тела. Выбираем файл изображения и нажимаем на кнопку Set Parent.

Курсор приобретает новое очертание и мы можем кликнуть на ту кость к которой будет приложено данное изображение. Мы можем поворачивать (Rotate), перемещать (Translate) и масштабировать (Scale) наши изображения и кости, добиваясь правильного расположения согласно шаблону.

А выглядеть все должно в конечном итоге примерно так:

Теперь когда кости и мясо на своих местах, наш Франкенштейн готов ожить. Вы наверное уже замечали, что поворачивая родительские кости поворачиваются и дочерние, пора применить это в анимации.
6. Оживление —IT’S ALIVE
Нажимаем на переключатель
и переходим в режим анимации
. Каждый уважающий себя Франкенштейн должен уметь ходить. Выбираем в окне иерархии строку Animations, нажимаем на кнопку New Animation и создаем анимацию с именем walk.

Теперь пришло время творческих экспериментов. Ни Вы ни я не являемся аниматорами профи (им этот пост не нужен, у них своих чудовищ полно), но нам нужно сделать четыре ключевых кадра нашей анимации. Призывайте ктулху, пытайте гугл — любые средства для расширения сознания хороши. Поворачивая и передвигая кости, установите тело в начальное положение с которого будет начинаться движение. Выделите все кости и зафиксируйте изменения нажимая на желтые ключики рядом с кнопками поворота, перемещения, масштабирования.

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

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

Теперь когда мы зафиксировали новые изменения Spine сам будет плавно перемещать изображения от первого кадра ко второму. Эти перемещения показаны серыми горизонтальными линиями на временной шкале. Скопируем эти два кадра и вставим их на 20 и 28 деления соответственно. Теперь нужно лишь поменять местами правые и левые конечности.
Там где была правая нога стала левая нога, там где была левая рука стала правая рука и наоборот. На 40 деление просто скопируем самый первый кадр, для того чтобы сделать анимацию цикличной.

Нажимаем на кнопку play (дергаем рубильник) и вот наш монстр оживает. Это еще не Disney но к уровню Машиных сказок мы уже приближаемся. В свойствах воспроизведения можно установить скорость и способ воспроизведения.
Теперь анимация готова, осталось только экспортировать ее в нужный нам формат. Есть три типа экспорта: данные, изображения и видео. Первый тип включает в себя json и bin. В таком виде наша анимация передается в игровой проект с использованием Spine runtime — специального API для работы с анимацией Spine.
Для любителей хардкорной покадровой или gif анимации можно экспортировать проект, как последовательность кадров (jpeg, png) или записать все в формате gif. Также есть возможность представить анимацию, как видеозапись avi или QuickTime. Но все эти функции увы, только в полной платной версии (60$).
6. Управляем нашим монстром
Какой прок от нашего чудовища, если оно тупо идет прямо не обращая ни на кого внимания. Пора интегрировать нашу анимацию с игровым проектом. Здесь нужно приводить примеры кода, рассказывать что откуда и куда, на новую статью наберется. Напишу, если будет кому интересно.
В программе вы можете управлять любыми аспектами анимации, костями, изображениями. В Spine runtime заложена масса полезных функции, например смешивания анимации. Чтобы после одной анимации не начиналась внезапно другая, они смешиваются определенным образом и переходят плавно друг в друга.
К каждой кости можно приложить физическое тело, которое будет двигаться вместе с костью и взаимодействовать с миром игры. Я и сам еще не знаю всех возможностей этого волшебного инструмента, но надеюсь узнать. Нельзя не упомянуть красивый и понятный исходный код Spine runtime, который при желании можно немного изменить под себя.
Чтобы не быть голословным представляю свою зверушку на суд людской: (.jar и .exe). Запускать лучше из командной строки, играть стрелками.
- Spine
- анимация
- игры
- инди всех стран соединяйтесь
- Разработка игр
Вопросы для проведения собеседования с 2D аниматором (Spine)

Если вы ищете 2D аниматора, специализирующегося на Spine, то вы попали в нужное место. В этой статье я представлю вам список вопросов, которые помогут вам провести эффективное собеседование с потенциальным кандидатом. 2D анимация является важной частью разработки игр, мультфильмов и других медиа-проектов, поэтому важно найти аниматора, который обладает не только техническими навыками, но и творческим мышлением. Давайте рассмотрим вопросы, которые помогут вам оценить профессионализм и опыт кандидата.
Вопросы о знании Spine
Что такое Spine и для чего он используется?
Spine — это программа для создания анимации 2D-персонажей. Она позволяет аниматорам создавать сложные и гибкие анимации, которые могут быть легко интегрированы в игры, мультфильмы и другие медиа-проекты. Spine предоставляет аниматорам возможность создавать скелетные анимации, что означает, что они могут управлять движением персонажей, задавая скелетные точки и соединения.
Какие основные компоненты включает Spine?
Spine состоит из нескольких ключевых компонентов:
- Иерархия костей: Аниматоры могут создавать сложные иерархии костей для управления движениями персонажей. Это позволяет им создавать реалистичные и гибкие анимации.
- Слоты: Слоты представляют собой контейнеры для отдельных частей персонажа, таких как руки, ноги или голова. Аниматоры могут изменять содержимое слотов, чтобы создавать различные состояния персонажей.
- Анимации: Spine позволяет создавать различные анимации, управляя перемещением и трансформацией костей. Аниматоры могут создавать анимацию, которая сочетает движения костей с изменением текстур и прозрачности.
- События: Аниматоры могут включать события в анимацию, такие как звуки или смена состояния персонажа. Это позволяет им создавать интерактивные анимации, которые реагируют на пользовательские действия.
Какие форматы файлов поддерживает Spine?
Spine поддерживает несколько форматов файлов для экспорта анимаций. Некоторые из поддерживаемых форматов включают JSON, PNG, GIF и видеоформаты, такие как AVI и QuickTime. Это позволяет аниматорам легко интегрировать анимации, созданные в Spine, в различные медиа-платформы и игровые движки.
Каким образом Spine интегрируется с игровыми движками?
Spine может быть интегрирован с различными игровыми движками, такими как Unity, Unreal Engine и Cocos2d. Существуют специальные плагины и расширения для каждого из этих движков, которые позволяют импортировать и использовать анимации, созданные в Spine. Это дает аниматорам большую гибкость и возможность создавать высококачественные анимации в контексте своих проектов.
Вопросы о профессиональном опыте
Сколько лет вы уже работаете в области 2D анимации?
Этот вопрос поможет вам оценить опыт кандидата и его знакомство с индустрией. Ответ на этот вопрос также может дать представление о том, сколько времени кандидат потратил на развитие своих навыков и опыта.
Какие проекты вы уже завершили с использованием Spine?
Узнайте, какие проекты кандидат уже выполнил, используя Spine. Это может быть игра, мультфильм или другой медиа-проект. Запросите ссылки или портфолио, чтобы вы могли оценить качество его работ и его стиль анимации.
Какие роли вы выполняли в предыдущих проектах?
Кандидат мог занимать различные роли в предыдущих проектах, такие как аниматор персонажей, редактор анимации или дизайнер анимаций. Узнайте, какие именно обязанности и ответственность он нес на проектах, чтобы убедиться, что его опыт соответствует вашим потребностям.
Какие программы и инструменты, помимо Spine, вы использовали для создания анимации?
Этот вопрос поможет вам понять, насколько разнообразными и глубокими навыки кандидата в области 2D анимации. Хороший аниматор обычно имеет опыт работы с различными программами и инструментами, такими как Adobe After Effects, Toon Boom Harmony, Flash и другие.
Как вы решаете технические проблемы, возникающие во время создания анимации?
Вопрос о техническом подходе кандидата позволит вам оценить его способность решать проблемы и справляться с техническими сложностями. Хороший аниматор должен быть способен анализировать и исправлять ошибки в анимации, оптимизировать производительность и обеспечивать соответствие требованиям проекта.
Какую роль играет анимация в контексте разработки игр или мультфильмов?
Этот вопрос поможет вам оценить понимание кандидатом значения анимации в играх или мультфильмах. Хороший аниматор должен понимать, как анимация влияет на игровой процесс или настроение зрителей в мультфильмах, и иметь способность создавать анимацию, которая соответствует заданным целям.
Вопросы о творческом мышлении
Как вы обычно получаете вдохновение для создания анимации?
Этот вопрос поможет вам понять, откуда черпает вдохновение кандидат и как он подходит к творческому процессу. Хороший аниматор должен быть в состоянии получать вдохновение из различных источников, таких как фильмы, музыка, искусство и природа.
Как вы подходите к созданию уникального стиля анимации?
Уникальный стиль анимации является важным аспектом профессионализма аниматора. Узнайте, как кандидат разрабатывает свой собственный стиль анимации и как он стремится сделать свою работу узнаваемой и оригинальной.
Как вы решаете творческие задачи, связанные с анимацией?
Хороший аниматор должен иметь способность решать творческие задачи и находить нестандартные решения. Запросите кандидата о его предыдущих творческих вызовах и способах, которыми он их преодолел.
Как вы принимаете критику своей работы?
Принятие критики является важным аспектом профессионального роста. Узнайте, как кандидат относится к критике своей работы и как он использует ее для улучшения своих навыков и творческого процесса.
Как вы работаете в команде с другими участниками проекта?
Вопрос о работе в команде поможет вам понять, насколько кандидат сможет эффективно взаимодействовать с другими членами команды, такими как дизайнеры, программисты и продюсеры. Хороший аниматор должен быть гибким и способным адаптироваться к различным рабочим стилям и требованиям проекта.
Вопросы о специализированных навыках
Как вы создаете плавные переходы между анимационными состояниями?
Переходы между анимационными состояниями играют важную роль в создании плавных и реалистичных анимаций. Узнайте, как кандидат работает с временными кривыми и другими инструментами для создания плавных переходов между различными состояниями персонажей.
Как вы создаете эффекты частиц и специальные эффекты?
Вопрос о специальных эффектах поможет вам оценить способность кандидата создавать впечатляющие визуальные эффекты в анимации. Запросите у кандидата примеры его работы с частицами, такими как дым, огонь или взрывы, и его подход к созданию специальных эффектов.
Как вы работаете с текстурами и их анимацией?
Анимация текстур может добавить дополнительную глубину и детализацию к анимации персонажей. Узнайте, как кандидат работает с текстурами и создает их анимацию в контексте анимации Spine.
Как вы создаете анимацию фоновых элементов и декораций?
Фоновые элементы и декорации играют важную роль в создании атмосферы и мира анимации. Запросите у кандидата примеры его работы с фоновыми элементами и декорациями и способы, которыми он придает им жизнь и движение.
Как вы создаете анимацию персонажей с использованием разных материалов, таких как жидкости или ткани?
Работа с различными материалами, такими как жидкости или ткани, требует особых навыков и техник анимации. Узнайте, как кандидат создает анимацию персонажей с использованием различных материалов и как он достигает реалистичности и убедительности в своей работе.
Часто задаваемые вопросы (FAQs)
Вопрос 1: Какие навыки должен иметь 2D аниматор, работающий с Spine?
2D аниматор, работающий с Spine, должен обладать навыками в области анимации персонажей, знанием принципов анимации, умением работать с иерархическими костями, слотами и анимациями в Spine. Он также должен иметь хорошее владение программами и инструментами, связанными с анимацией, и творческое мышление.
Вопрос 2: Можно ли использовать Spine для создания анимации для веб-сайтов?
Да, Spine может быть использован для создания анимации для веб-сайтов. Анимированные персонажи, интерактивные элементы и специальные эффекты могут добавить живости и привлекательности к веб-сайтам. Spine позволяет создавать анимацию, которая может быть экспортирована в форматы, поддерживаемые веб-браузерами.
Вопрос 3: Какие игровые движки поддерживают Spine?
Spine может быть интегрирован с различными игровыми движками, такими как Unity, Unreal Engine, Cocos2d и другими. Каждый из этих движков предоставляет плагины и расширения, которые позволяют импортировать и использовать анимации, созданные в Spine, в игровых проектах.
Вопрос 4: Какие языки программирования часто используются с Spine?
Spine не является языком программирования, а программой для создания анимации. Однако, анимации, созданные в Spine, могут быть интегрированы с игровыми движками, которые поддерживают различные языки программирования, такие как C#, C++, Java, JavaScript и другие.
Вопрос 5: Может ли Spine быть использован для создания анимации для мобильных приложений?
Да, Spine может быть использован для создания анимации для мобильных приложений. Анимированные персонажи, пользовательские интерфейсы и эффекты могут быть созданы в Spine и интегрированы в мобильные приложения с использованием соответствующих инструментов и плагинов.
Вопрос 6: Какие примеры анимации можно создать с использованием Spine?
С помощью Spine можно создавать разнообразные типы анимации, включая анимацию персонажей, анимацию интерфейсов, анимацию фоновых элементов, анимацию эффектов частиц и многие другие. Spine предоставляет аниматорам инструменты для создания практически любых видов анимации, которые могут быть использованы в играх, мультфильмах и других медиа-проектах.




