Хотелки.

Обсуждение программы Magic Particles.

Re: Хотелки.

Сообщение Pag1iaccio » Ср окт 25, 2017 2:01 pm

Здравствуйте.
Вопрос - а планируется ли, в теории, добавление графиков для анимации (секвенций). Чтоб можно было стопать эти секвенции по ходу жизни частицы, ускорять\замедлять или проигрывать в обратном порядке без необходимости выбирать их (картинки) в окне подгрузки спрайтов в обратном порядке?
Pag1iaccio
 
Сообщения: 11
Зарегистрирован: Ср сен 27, 2017 6:57 pm

Re: Хотелки.

Сообщение Odin_KG » Ср окт 25, 2017 2:39 pm

Здравстуйте

Пока я такого не планировал - это, скорее, из области видео (вы хотите конкретные кадры выбирать в любой момент, как я понимаю).
Вы можете написать, как вы себе это представляете ? Просто я уже не вижу куда что-то подобное можно впихнуть. Если дадите описание, то я как минимум смогу в фоновом режиме подумать над этим.
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Re: Хотелки.

Сообщение Pag1iaccio » Ср окт 25, 2017 5:40 pm

Мы внесли в частицу секвенцию:
Сейчас она умеет либо случайно выбирать кадр, либо проигрывать анимацию по ходу жизни частицы.

Можно создать дополнительный график, где по оси Х, стандартно, - лайфтайм частицы, а по оси Y - порядковый номер кадра ( к примеру с динамически меняющейся шкалой...в зависимости от кол-ва кадров в секвенции).
Как итог- можно ускорять, замедлять, проигрывать в обратном порядке, пинг-понгом, лупить определённое кол-во раз за лайфтайм, стопорить кадры и перескакивать через них.

График коэффициента не нужен даже, наверное.

Это, соответственно, только в том случае, если у нас частица в режиме проигрывания анимации, а не выбора случайного кадра.
Pag1iaccio
 
Сообщения: 11
Зарегистрирован: Ср сен 27, 2017 6:57 pm

Re: Хотелки.

Сообщение Odin_KG » Ср окт 25, 2017 8:44 pm

Можно создать дополнительный график, где по оси Х, стандартно, - лайфтайм частицы, а по оси Y - порядковый номер кадра

У меня нет понятия "номер кадра", есть только "время". Правда, там есть настройка "Скорость смены текстур", что может служить частотой, что в сочетании с временем позволяет вычислить текущий кадр. Но тогда возникает вопрос, что делать, если пользователь сначала настроил кадры, а потом стал эту "частоту" менять ?

Далее у частицы заранее неизвестно время существования, так как оно может быть случайным. Как определить суммарное количество кадров в этом "видео" ? У вас же должен где-то быть "конец" анимации по оси X.

Как итог- можно ускорять, замедлять, проигрывать в обратном порядке, пинг-понгом, лупить определённое кол-во раз за лайфтайм, стопорить кадры и перескакивать через них.

Для чего нужны эти функции ? По сути, вы сейчас можете кадры секвенции сделать любыми, например, 5 раз повторить один и тот же кадр. Это почти то же самое, что просите вы, только расстановка кадров делается заранее. Одинаковые кадры всё равно в API не дублируются. Хотя в редакторе... тут будут.
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Re: Хотелки.

Сообщение Pag1iaccio » Чт окт 26, 2017 12:59 pm

Odin_KG писал(а):Но тогда возникает вопрос, что делать, если пользователь сначала настроил кадры, а потом стал эту "частоту" менять ?

Перестраивать кривую. Такое требуется и сейчас при некоторых изменениях. Например нужно перестраивать кривые в частицах при сменен некоторых параметров эмиттера. Это не проблема софта, это проблема понимания работы софта. Т.е. если человек пользует какую-то фичу продолжительное время - то у него ещё при изначальном построении не возникнет подобных проблем. Но это, естественно, касается процесса создания эффекта без излишнего экспериментаторства "на ходу". Применимо к игровым эффектам. Когда нужен конкретный результат.

Odin_KG писал(а):Далее у частицы заранее неизвестно время существования, так как оно может быть случайным. Как определить суммарное количество кадров в этом "видео" ? У вас же должен где-то быть "конец" анимации по оси X.

Ну, я так понимаю, так же как и сейчас это работает для других параметров. Х отвечает за время. т.е. кол-во кадров будет фиксированным. Изменится скорость смены кадров.
Я и говорю, что это применимо тогда, когда у частицы выставлено "смена кадров по ходу жизни частицы".

Odin_KG писал(а):Для чего нужны эти функции ? По сути, вы сейчас можете кадры секвенции сделать любыми, например, 5 раз повторить один и тот же кадр. Это почти то же самое, что просите вы, только расстановка кадров делается заранее. Одинаковые кадры всё равно в API не дублируются. Хотя в редакторе... тут будут.


Тут я вчера ещё не знал, что кадры не дублируются в атласе. Вечером подсказали, а вы вот подтвердили, спасибо.

В таком случае - да, но нельзя в таком случае заносить их в хранилище сразу секвенцией ( так как, по-сути, нужнр будет делать много разных секвенций, а не оперировать одной основной)
Но через графики редактировать смену кадров быстрее чем ручной рассчёт сколько раз какой кадр мне нужно повторить.
И в графике с двумя кривыми можно было бы рандомизировать бОльшее кол-во параметров, что было бы удобно для создания взрывов, огоньков, всполохов, дымков состоящих из секвенций.

Ну вот условно: для создания анимации типа пинг-понг (движение от первого кадра к последнему и обратно) мне нужно загрузить секвенцию от 1го к последнему кадру. Потом загрузить от предпоследнего к первому. И это для одного прохода за лайфтайм частицы. Для двух - ещё раз, и так далее. А в кривых мне надо всего лишь сделать /\. Для прогона нескольких циклов от первого к последнему - /I.
Или делаю я взрыв. У меня в хранилище секвенция всего взрыва (рендер симуляции маленького взрывного всполоха в каком-нибудь 3д редакторе). Делаю систему частиц, беру секвенцию из хранилища. Провожу первоначальную настройку движения. Копирую систему 3 раза и далее просто двумя движениями делаю из них первоначальный всполох, взрыв и дым после взрыва. Только лишь поменяв пару пару значений в лайфтайме и кривой анимации. Так чтобы всполох брал первые, условно 10 кадров. Взрыв все 30, а дымок только последние 10. Быстро, легко подстраивается.

Или вот у меня была проблема с каменными шипами вырывающимися из земли. Во время вылета они, к примеру, находятся в размытии. это 1 кадр. Вылетают быстро и далее становятся чёткими. 1 точка на кривой. Но сейчас мне нужно 1 раз загрузить текстуру в размытии и 9 раз без неё.

Это не жизненно необходимо. Просто было бы удобно, как минимум, для игровых эффектов.
Возможно можно было бы всё, что я тут своим нездоровым мозгом напредлагал - заменить на редактор секвенций. Чтоб можно было дублировать и передвигать кадры (развернули окошко, выделили кадры, копирнули, отразили, передвинули. Получили пинг-понг анимацию. Выделили всё, копирнули, получили второй проход). Не такая гибкая настройка, но тоже было бы удобно.

З.Ы.
А как МП определяет, что я использую ту же самую картинку дублем, если она не занесена в хранилище? Если не секрет. Явно не просто по имени и разрешению.
Pag1iaccio
 
Сообщения: 11
Зарегистрирован: Ср сен 27, 2017 6:57 pm

Re: Хотелки.

Сообщение Odin_KG » Чт окт 26, 2017 3:49 pm

Прочитал ваши соображения. Предлагаю такой вариант:

Доступ к редактированию секвенций открывается только в случае, когда включена галочка "Текстуры по жизни частицы" (можно рядом активировать кнопку Edit). В этом случае понятие "частота" не будет иметь значения, так как все имеющиеся кадры надо будет распределить на 100% времени существования частицы. Тогда если у нас при редактировании секвенции выбрано 2 кадра, то 50% времени будет показываться один кадр, а 50% другой.

Визуально это можно выполнить так: появляется новое окно, в котором наверху рисуются все существующие кадры, а внизу показана текущая редактируемая секвенция. Берем мышкой кадр сверху и тащим его вниз в секвенцию в нужное место. Таким образом наполняем секвенцию.
Если пользователь удаляет какие-то текстуры, то эти кадры исключаются из секвенции автоматически.

Как вам такой вариант ?
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Re: Хотелки.

Сообщение Pag1iaccio » Чт окт 26, 2017 3:56 pm

Звучит как план =) Это бы позволило и шире настраивать анимацию и не забивать хранилище. Визуально оно было бы, думаю, даже понятнее чем график.
Было бы просто шикарно :D
Pag1iaccio
 
Сообщения: 11
Зарегистрирован: Ср сен 27, 2017 6:57 pm

Re: Хотелки.

Сообщение Odin_KG » Чт окт 26, 2017 4:21 pm

Ну, я подумаю над этим... когда возьмусь пока не знаю, но буду "вынашивать" :-)

А как МП определяет, что я использую ту же самую картинку дублем, если она не занесена в хранилище? Если не секрет. Явно не просто по имени и разрешению.

Я считаю для картинок что-то типа контрольных сумм. По этим контрольным суммам я сравниваю картинки и выбрасываю дубликаты.
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Re: Хотелки.

Сообщение Pag1iaccio » Чт окт 26, 2017 4:34 pm

Спасибо большое. :) Будем ждать =)

И за пояснения к картинкам тоже - а то дюже интересно было.
Pag1iaccio
 
Сообщения: 11
Зарегистрирован: Ср сен 27, 2017 6:57 pm

Re: Хотелки.

Сообщение Odin_KG » Чт окт 26, 2017 4:42 pm

Спасибо большое. :) Будем ждать =)

Хорошо, буду иметь в виду, что кто-то это ждет :-)

И за пояснения к картинкам тоже - а то дюже интересно было.

Без проблем
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Пред.

Вернуться в Magic Particles

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron