Страница 1 из 1

Как установить позицию анимации?

СообщениеДобавлено: 12 апр 2023, 22:00
EIvanov
Анимирую игрока в Spine pro. Экспортирую в юнити покадрово - png картинками.
Пример
На первой анимации игрок стоит в полный рост. Его высота 100 пикселей. Соответственно все png изображения для анимации 100 пикселей.
На второй анимации тот же игрок стоит немного наклонившись вперед. Теперь его высота 90 пикселей. Соответственно все png изображения для анимации 90 пикселей.

Добавил в юнити 2 анимации. Проигрываю первую - игрок стоит на земле. Проигрываю вторую - игрок стоит наклонившись, но над землей на высоте около 10 пикселей.
Скорее всего спрайт рендерер имеет фиксированный размер под первую анимацию и анимации как бы прикрепляются сверху.

Как это исправить?

Re: Как установить позицию анимации?

СообщениеДобавлено: 13 апр 2023, 06:08
1max1
Попробуй изменить пивот спрайта в bottom.

Re: Как установить позицию анимации?

СообщениеДобавлено: 13 апр 2023, 09:50
EIvanov
Попробуй изменить пивот спрайта в bottom.

Спасибо за ответ. В общем нашел решение.

Несмотря на почти идеальную анимацию в плане ног-земли (не пересекают определенную черту - буквально идут по черте), Spine pro оставляет внизу пустое место. 0_0
Почему - непонятно т.к. там нет и не будет анимированных объектов. Ни на одном кадре там не будет ноги, например, но Spine всё равно оставляет место, причем для похожих анимаций разное.
Игрок стоит - Spine оставляет место внизу, под ногами игрока 5px. Игрок наклонился - ноги не движутся, ничего не изменилось - только верх - Spine оставляет место внизу, под ногами игрока 8px.
???

Загружая анимацию в юнити, подгружая в спрайт рендер игрока, первая анимация над землей на расстоянии игрока 5px, вторая 8px.

Решение такое - для всех наборов png изображений анимации, выставить привязку Pivot в Custom. И сместить спрайт/спрайты анимации на нужное значение вниз. В моем примере - для первой анимации 5px, для второй 8px.
Можно смещать каждый кадр анимации, если Spine что то там начудил. И всё хорошо - игрок бежит ровно по земле, стоит на земле.