osa

Как сделать сквош и стретч в Spine
Смотреть оригинальный пост
Алексей Ольферт предложил в спайне придумать конструкцию, дабы реализовать что когда мы тянем объект он вытягивался и становился тоньше и наоборот, сдавливая по высоте - становился шире. Так скажем по классике:)
Условие - это должно работать чисто за счет рига в режиме сетапа.
1.gif

Решения:

  • Первый вариант - конструкция на парных кинетических парах. Просто пара по две кости с общим констреинтом вверху. Для удобства внизу добавляем общую кость точку куда кладем текстуру и эти "ноги". Текстура завязывается через веса на 4-ре кости. Верхний констреинт, нижняя кость-основание и две боковые - это либо по одной кости из кинетических пар - либо на "колене" кинетической пары создаем кость и выключаем ей ротейт и завязываем весами. Развесовка - по 50% каждой стороны прилегающих костей. первый вариант видео
2020-05-31 14.44.42.jpg


  • Второй вариант - это использование двух ТК. Мы создаем родительскую кость, для нее дочернюю кость повернутую на 90 градусов относительно родительской кости. И кладем текстуру в дочернюю кость. Далее в этом варианте - мы создаем еще одну кость которая будет контролировать эти две кости посредством трансформируемого констреинта. Для родительской кости назначаем например зависимость в 90, а для дочерней -90 по масштабированию. Тут есть два момента которые могут все поломать - первое это то что необходимо перевести настройку дочерней кости (та что с отрицательным значением) в режим local - чтобы ее ориентация основывалась не на мировых координатах, а на локальных по кости. Второй момент это порядок констреинтов - дочерний констреин должен быть в списке констреинтов ниже настройки констреинта родительской кости. В видео я показываю что меняется когда любой из этих параметров нарушен. Все после этого маштабируем по одной из осей наш "контролер" и он передает разные значения на разные кости, а они в свою очередь расположены так что меняют разные направления второй вариант видео
2var.png


  • Третья версия выплывает из второй, но являет собой объединение и ИК и ТК:) 50 на 50:) Мы создаем такую же пару из родительской кости и к ней под 90 градусов дочернюю кость. Кладем в дочернюю кость слот с текстурой. Далее берем дочернюю кость и через трансформируемый констреинт задаем ей зависимость от родительской кости, хехе, дико я знаю:) ставим -90 и локал. Теперь удлиняя родительскую уже будет наблюдается этот эффект и в системе будет всего две кости и один констреинт. Но сделаем преобразование перемещения в скейл в этой схеме. Для этого для родительской кости создаем жесткий ограничитель для одной кости и включаем функцию сжатия и растяжения. Теперь отдаляя или приближая этот констреинт - он изменяет длину родительской кости и происходит преобразование:)) третий вариант видео
3var.png


В последних двух вариантах меш и веса не нужны, слот просто кладется на дочернюю кость.
4.png


  • Пятый вариант на транслейтах, мы связываем два IK контроллера с помощью TK по локальным координатам. Для этого мы делаем родительскую кость, развернутую на 90 градусов. Для TK исползуется отриацтельный 100%-й transform, а для IK ставится compress&stretch.
5.jpg


Если у Вас есть свои варианты - пишите!

Спасибо всем участникам нашего чата
您没有权限查看这个主题的附件。
头像
osa
  • 帖子: 3


回到 Русскоязычные пользователи Spine