Создал 2D-голема с анимациями и готовым контроллером для Unity. Отдаю демо-версию бесплатно
Привет, DTF! Хочу показать вам своего нового персонажа и рассказать, как я настраивал его анимации и физику в Unity, а заодно поделиться полезными хаками, с которыми столкнулся в процессе.
Знакомьтесь, это Пиксельный Голем-Библиотекарь (Librarian Golem).
Я продаю его на Unity Asset Store, Itch.io и Boosty в двух форматах:
-бесплатно(демо)
-платный на itch io, boosty, patreon(3$)
Мой ассет упакован как чистые спрайт-шиты (для тех, кто хочет крутить анимации сам) и как готовый Unity Package. При открытии пакета у вас сразу запускается полностью настроенная сцена с рабочей физикой — закинул и играй.
Как выглядит голем в unityhttps://www.youtube.com/watch?v=zSidOJWdryAпроцесс создания рисования и анимации этого големаhttps://www.youtube.com/watch?v=o0lmn0yTub0
🛠 Боль в Photoshop и экспорт спрайтов
Я рисовал голема в Фотошопе в 10 FPS [10 фпс]. И тут же поймал первую проблему — анимация наотрез отказывалась нормально экспортироваться в покадровую последовательность.
Как решил: Если у вас возникнет такая же беда, не паникуйте. Нужно нажимать не обычный экспорт слоев, а «Экспорт видео» (Render Video). Фотошоп выдаст вам кучу кадров, из которых потом останется просто вручную удалить лишние дубликаты.
Создание спрайтшита.
Я использую texture packer чтобы на основе моих спрайтов из фотошопа создать спрайтшит для каждой анимации.Импортируем спрайты в эту программу и ставим параметры:autosize- включаем чтобы разрешние спратшита было динамическим под наши спрайты
Sort by -Сортировку важно ставим по имени (name). чтобы наши спрайты шли по порядку.trim - галочку снимаем, как в моем случае, чтобы ширина и высота каждого спрайта были одинаковыми и центр в unity был не смещен. Этот параметр trim имеет смысл включать когда вы делаете atlas спрайтов графики, чтобы все было тесно и оптимизировано по разрешению, но не для анимации.Дальше выбираем куда сохраним файл и жмем экспорт.
📐 Импорт в Unity и магия Pivot Point
Когда покадровые .png готовы, мы импортируем их в Unity. Вот три настройки, которые я выставил, чтобы пиксель-арт выглядел сочно:
- Filter Mode: Обязательно ставим No Filter (Point), чтобы наш пиксель-арт не размывался и оставался четким [тип no filter].
- Pixels Per Unit (PPU): Я поставил значение 20, чтобы персонаж в сцене выглядел побольше.
- Нарезка (Sprite Editor): Указываем нужное количество колонок и строк для нарезки спрайтшита.
Важный хак с точкой опоры (Pivot Point): Для каждого кадра анимации голема нужно выставить центральную точку строго у стопы. Чтобы не двигать её руками на сотне кадров, я открыл блокнот, сохранил туда точные координаты по X и Y, а затем просто вставил эти цифры в настройки инструмента Slice. Так точка применилась ко всем спрайтам идеально ровно.
Здесь же подкручиваем частоту кадров (Sample Rate), чтобы анимация играла с нужной скоростью.
🧠 Как я свайбкодил скрипт через ИИ (Gemini)
Когда графика была готова, мне захотелось сделать не просто картинки, а готовый пакет для Itch.io. Для этого нужен был скрипт управления.
Я не вижу смысла использовать сложных ИИ-агентов ради одного файла, поэтому просто закинул задачу в бесплатный текстовый генератор Gemini.Он быстро выдал мне базу, я вручную поправил косяки генерации кода, которые мне не понравились, и всё заработало!
⚔ Пофазовая комбо-атака, рывки и анимационные эвенты
Голем ходит на WASD и стрелочки, автоматически переключаясь между ходьбой и дыханием (Idle), когда стоит. Но самое интересное — это его атака по клику мышки.
Анимация атаки — это один общий длинный трек, но проигрывается она по фазам. То есть при клике анимация не играет до конца, а только оперделная часть из анимации атаки. На таймлайне анимации атаки (в окне Animation) я расставил специальные эвенты-функции (Animation Events). Когда фаза удара завершается, срабатывает эвент, персонаж на мгновение замирает, и анимация дальше не идет, пока игрок не кликнет мышкой снова. Благодаря этому вы сами можете решать, сколько фаз атаки сделать игроку. А если игрок не кликнет мышкой в момент ожидания новой фазы атаки, то просто дальше проиграется idle анимация.
Плюс ко всему, атака завязана на физику Rigidbody:
- 1 фаза (Обычный удар): Физика толкает голема вперед, и он делает резкий рывок.
- 2 фаза (Апперкот): Срабатывает импульс вверх, и голем подлетает в воздух!
Чтобы персонаж не улетал за экран, я немного отдалил камеру, создал землю (обычный 2D-прямоугольник), накинул на нее коллизию, отключил у земли гравитацию, а голему добавил BoxCollider и Rigidbody, чтобы после своего апперкота он красиво и честно падал обратно на землю.
🎁 Забирайте демо-версию!
В паке всего 3 ключевые анимации (Idle, Walk, Combo Attack). Я разделяю проект по схеме «демо и платная версия»:
- 🎁 БЕСПЛАТНОЕ ДЕМО (Анимация покоя Idle): Голем стоит и дышит. Внутри архива лежит и спрайт-шит. Идеально для тестирования этого персонажа в вашей игре.
👉 https://karasindiedev22.itch.io/free-librarian-golem-complete-animation-pack-3-animations-2d-sprites-unity-cont🛒 ПОЛНЫЙ ПАК (Все 3 анимации + скрипт unity-контроллера): Доступен на всех удобных площадках.
👉 https://karasindiedev22.itch.io/librarian-golem-complete-animation-pack-3-animations-2d-sprites-unity-controlle
❤ Для подписчиков на Boosty и Patreon:
👉 boosty
👉 patreon
🔮 Планы на будущее и голосование
Я хочу добавить этому голему еще парочку анимаций. На своих страницах Boosty и Patreon я создал шкалу накопления (цель). Как только сумма соберется, я сразу сажусь рисовать новые кадры.
Давайте проголосуем прямо в комментариях: какую анимацию добавить следующей? Бег? Особый магический скилл? Или еще один вид атаки? Напишите свои идеи, я всё читаю!Пак можно купить в удобном для вас месте в зависимости как удобнее вам оплатить
#геймдев #инди #разработкаигр #unity #itchio #ассеты #личныйопыт #анимация #pixelart