Как упростить назначение новых спрайтов в анимации?

Общие вопросы о Unity3D

Как упростить назначение новых спрайтов в анимации?

Сообщение Картман 25 июн 2022, 21:44

Добрый день!
Делаю 2D top-down бродилку с 8-ю направлениями движений. Сами модельки сделаны в Blender и рендерят кучу спрайтов в низком разрешении PNGA (как в diablo2 / starcraft 1).
В анимации по кадрам меняется спрайт walk001 на walk002 и тд.
В результате у меня есть на каждого персонажа (игрок, враги, NPC) 8 анимаций по 5-20 кадров для движения, 8 для атаки и 8 для ожидания.

Времени на "закидывание спрайта на каждом кадре" уходит прилично, и это пока лишь несколько основных персонажей. В последствии их будет больше и соответственно сам вопрос:
Есть ли какой то полуавтоматический способ назначить на каждую анимацию в аниматоре, к примеру "все спрайты из папки Walk_UpRight по очереди на SpriteRenderer. количество кадров равно количеству файлов в папке".
Количество кадров в анимации не фиксировано (пока не определился с продолжительностью анимаций и эффектом смены кадра), поэтому проименовать спрайты от нуля до Х и заменять их - не вариант.

А то сегодня поправил модель торговцу и убил пол часа лишь на перетаскивание новых спрайтов
Картман
UNец
 
Сообщения: 4
Зарегистрирован: 25 июн 2022, 21:07

Re: Как упростить назначение новых спрайтов в анимации?

Сообщение waruiyume 25 июн 2022, 22:16

Нажать замок в окне анимации, выделить нужные спрайты через шифт, перетащить их в окно анимации.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как упростить назначение новых спрайтов в анимации?

Сообщение Картман 25 июн 2022, 23:42

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

Я же спрашиваю о том, как в разные анимации перенести спрайты автоматически, так как ручником на это уйдет слишком много времени
Вот одна анимация на которую наложены только нужные спрайты (движение в одну из сторон. одного из персонажей)
Скрытый текст:
Изображение


А вот число этих анимаций
Скрытый текст:
Изображение
Картман
UNец
 
Сообщения: 4
Зарегистрирован: 25 июн 2022, 21:07

Re: Как упростить назначение новых спрайтов в анимации?

Сообщение 1max1 26 июн 2022, 00:29

Там вроде если выделить все картинки и перетащить их мышкой в иерархию сцены создастся анимация автоматически, но это не точно.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как упростить назначение новых спрайтов в анимации?

Сообщение Картман 26 июн 2022, 01:43

1max1 писал(а):Там вроде если выделить все картинки и перетащить их мышкой в иерархию сцены создастся анимация автоматически, но это не точно.

Да, создается. Однако это подразумевает что при каждом изменении в спрайте (цвет шапки поменять захочу), придется на каждое направление анимации и каждое действие по новой перетаскивать спрайты в иерархию, переименовывать их в соотетствие с прошлыми и проверять что нигде и ничто не испорчено ручником.

Попробую перефразировать вопрос. Есть ли какой-то готовый инструмент для привязки сущности типа "анимация" к конкретной папке в проекте? Что бы даже если я добавлю еще один спрайт в конце, он добавился в конце анимации
Картман
UNец
 
Сообщения: 4
Зарегистрирован: 25 июн 2022, 21:07

Re: Как упростить назначение новых спрайтов в анимации?

Сообщение 1max1 26 июн 2022, 02:44

Да, создается. Однако это подразумевает что при каждом изменении в спрайте (цвет шапки поменять захочу), придется на каждое направление анимации и каждое действие по новой перетаскивать спрайты в иерархию, переименовывать их в соотетствие с прошлыми и проверять что нигде и ничто не испорчено ручником.

Если менять спрайт не через юнити, а через папку винды (удалил старый, вставил новый), то спрайт будет заменен без потери ссылки т.к. файл мета не будет удален. После этого действия достаточно будет нажать ctrl + r в юнити.
Попробую перефразировать вопрос. Есть ли какой-то готовый инструмент для привязки сущности типа "анимация" к конкретной папке в проекте? Что бы даже если я добавлю еще один спрайт в конце, он добавился в конце анимации

Ну например загрузка спрайтов через https://docs.unity3d.com/ScriptReferenc ... adAll.html и создание клипа в рантайме через скрипт https://docs.unity3d.com/ScriptReferenc ... Curve.html. Или можно создавать все анимации сразу в редакторе одной кнопкой, но надо будет написать скрипт для редактора.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 14