Odin_KG писал(а):Но тогда возникает вопрос, что делать, если пользователь сначала настроил кадры, а потом стал эту "частоту" менять ?
Перестраивать кривую. Такое требуется и сейчас при некоторых изменениях. Например нужно перестраивать кривые в частицах при сменен некоторых параметров эмиттера. Это не проблема софта, это проблема понимания работы софта. Т.е. если человек пользует какую-то фичу продолжительное время - то у него ещё при изначальном построении не возникнет подобных проблем. Но это, естественно, касается процесса создания эффекта без излишнего экспериментаторства "на ходу". Применимо к игровым эффектам. Когда нужен конкретный результат.
Odin_KG писал(а):Далее у частицы заранее неизвестно время существования, так как оно может быть случайным. Как определить суммарное количество кадров в этом "видео" ? У вас же должен где-то быть "конец" анимации по оси X.
Ну, я так понимаю, так же как и сейчас это работает для других параметров. Х отвечает за время. т.е. кол-во кадров будет фиксированным. Изменится скорость смены кадров.
Я и говорю, что это применимо тогда, когда у частицы выставлено "смена кадров по ходу жизни частицы".
Odin_KG писал(а):Для чего нужны эти функции ? По сути, вы сейчас можете кадры секвенции сделать любыми, например, 5 раз повторить один и тот же кадр. Это почти то же самое, что просите вы, только расстановка кадров делается заранее. Одинаковые кадры всё равно в API не дублируются. Хотя в редакторе... тут будут.
Тут я вчера ещё не знал, что кадры не дублируются в атласе. Вечером подсказали, а вы вот подтвердили, спасибо.
В таком случае - да, но нельзя в таком случае заносить их в хранилище сразу секвенцией ( так как, по-сути, нужнр будет делать много разных секвенций, а не оперировать одной основной)
Но через графики редактировать смену кадров быстрее чем ручной рассчёт сколько раз какой кадр мне нужно повторить.
И в графике с двумя кривыми можно было бы рандомизировать бОльшее кол-во параметров, что было бы удобно для создания взрывов, огоньков, всполохов, дымков состоящих из секвенций.
Ну вот условно: для создания анимации типа пинг-понг (движение от первого кадра к последнему и обратно) мне нужно загрузить секвенцию от 1го к последнему кадру. Потом загрузить от предпоследнего к первому. И это для одного прохода за лайфтайм частицы. Для двух - ещё раз, и так далее. А в кривых мне надо всего лишь сделать /\. Для прогона нескольких циклов от первого к последнему - /I.
Или делаю я взрыв. У меня в хранилище секвенция всего взрыва (рендер симуляции маленького взрывного всполоха в каком-нибудь 3д редакторе). Делаю систему частиц, беру секвенцию из хранилища. Провожу первоначальную настройку движения. Копирую систему 3 раза и далее просто двумя движениями делаю из них первоначальный всполох, взрыв и дым после взрыва. Только лишь поменяв пару пару значений в лайфтайме и кривой анимации. Так чтобы всполох брал первые, условно 10 кадров. Взрыв все 30, а дымок только последние 10. Быстро, легко подстраивается.
Или вот у меня была проблема с каменными шипами вырывающимися из земли. Во время вылета они, к примеру, находятся в размытии. это 1 кадр. Вылетают быстро и далее становятся чёткими. 1 точка на кривой. Но сейчас мне нужно 1 раз загрузить текстуру в размытии и 9 раз без неё.
Это не жизненно необходимо. Просто было бы удобно, как минимум, для игровых эффектов.
Возможно можно было бы всё, что я тут своим нездоровым мозгом напредлагал - заменить на редактор секвенций. Чтоб можно было дублировать и передвигать кадры (развернули окошко, выделили кадры, копирнули, отразили, передвинули. Получили пинг-понг анимацию. Выделили всё, копирнули, получили второй проход). Не такая гибкая настройка, но тоже было бы удобно.
З.Ы.
А как МП определяет, что я использую ту же самую картинку дублем, если она не занесена в хранилище? Если не секрет. Явно не просто по имени и разрешению.