Допустим, у меня есть класс персонажа с разными статами для RPG. Я хочу, чтобы уровень персонажа увеличивался по мере получения опыта. Но я не хочу, чтобы количество необходимого опыта менялось линейно, потому что, как я уже говорил раннее, это скучно и ощущается не очень хорошо. Я хочу, чтобы по ходу прокачки, игроку требовалось всё больше и больше опыта, чтобы поднимать уровень персонажа.
Видел это видео ранее и... Твой пример с щупальцем единственный адекватный, и вообще отличный.
Все остальное, за исключением разве что отображения кривой - делается твинами. Зачем для движения камеры использовать анимационную кривую если есть отличный инструмент Cinemachine со всем встроенным функционалом - непонятно. Из разряда "строем свой велосипед разобрав готовый".
Анимационная кривая для кривой опыта - невероятная костыльная дичь. У автора в видео видно что цифровые значения рандомные, вместо какого-нибудь четкого инкремента +25%. И самое главное даже по гифке в статье видно что значения бешено скачут при малейшем движении тангенса. Хрен ты что таким образом настроишь.
Согласен, что пример с прогрессией не самый удачный, но, как говорится, из песни слов не выкинешь :) Я лично предпочитаю подобные вещи делать формулами в экселе.
По поводу твинов тоже от части согласен. Но я часто слышал жалобы от художников, что им тяжело работать с твинами, потому что они не наглядные и им тяжело, например, представить разницу между InOutQuad и InOutQuart. Так что для них анимационные кривые могут быть более наглядным и удобным инструментом.
В целом посыл в том, что в Юнити есть такой тип переменных, о которых не все знают и что их можно использовать не только для анимации. Если подумать и применить смекалочку, то в некоторых ситуациях они могут сильно облегчить жизнь, как с тем же щупальцем.
Люблю эту штуку. Последнее, что на ней сделал - это скорость разгона мотоцикла (чтоб в начале разгоняется быстро, но чем быстрее едет, тем меньше ускорение) и имитация качания деревьев на ветру. Дёшево и сердито: зацикленный поворот по одной оси по кастомному закону.
Добавлял это видео в прошлую подборку. Инструмент удобный. Но вот для других вещей (прогрессия, например), если и использовать, то как промежуточное звено. На выходе должен быть формат, который можно экспортнуть/импортнуть: json, csv и т. д. Это же часть баланса, а его обычно в каких-нить спредшитах заводят.
Дико плюсую, обожаю кривые. Был у меня клиент из разряда, "пусть персонаж бежит быстро, через две секунды медленно, птом рывок, потом опять медленно и если не добежал до финиша, то пусть всё в обратном порядке".
Если анимация не персонажная использую только кривые и управляю из кода, гораздо удобнее чем хуева туча аниматоров в проекте.
Так же их можно использовать вместо масивов или таблиц. И когда тебе клиент скажет что "а вот между вторым и третьем элементом нужно сделать плавный переход" кривые позволяют не послать заказчика на хуй.
Тема функций движения всегда актуальна. Недавно наткнулся на один пример