для чего нужны слоты анимации

02 августа 2016 16:29
Здравствуйте, у меня есть несколько объектов, созданных в блендере, они все анимированы, сначала получаю все объекты текущей сцены,анимацию добавляю в цикле для каждогого объекта, хочу получить длину анимации каждого объекта
но либо возвращается -1 неправильный объект либо ошибка что anim_slot является undifined
console.log("dlina="+m_anim.get_anim_length(obj));


для чего нужны слоты анимации ? и как их вообще в данной ситуации использовать ?

по сути мне нужно получить длину всех анимций и перейти к примеру по клику на кнопку на 40 кадр и запустить анимацию с 40 кадра для всех объектов, подскажите пожалуйста
02 августа 2016 18:51
для чего нужны слоты анимации ? и как их вообще в данной ситуации использовать ?

по сути мне нужно получить длину всех анимций и перейти к примеру по клику на кнопку на 40 кадр и запустить анимацию с 40 кадра для всех объектов, подскажите пожалуйста
Здравствуйте и добро пожаловать на форум!

У каждого объекта сцены имеется 8 анимационных слотов. В эти слоты с помощьую метода apply(obj, name, slot_num) из модуля animation можно записывать анимации различных типов (блендеровские экшны, анимации нодовых материалов, вертексные анмиации, системы частиц эмиттер) в указанный слот. Впоследствии с помощью метода play(obj, finish_callbackopt, slot_num) можно запустить анимацию из желаемого слота.

Для анимации записанной в слот можно выставить начальный кадр, скорость проигрывания итд (для установки кадра в указанном анимационном слоте используется метод set_frame).

Итого для вашей задачи необходимо предварительно пройтись по всем объектам, которые нужно анимировать по клику и "заэпплаить" анимации например в нулевой слот. Далее по клику опять пройтись по всем объектам и выставить для нулевых слотов анимации 40-ой кадр и запустить анимации

P.S.
Не забудьте выставить для объектов, которые хотите анимировать свойство "Force Dynamic Object"
Команда Blend4Web - разработчик
Twitter
LinkedIn
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.