Форум

Плавная процедурная анимация

03 марта 2017 18:04
Добрый день! Подскажите, как создать плавную процедурную анимацию? Например, для перемещения объекта из точки А в точку Б, но не мгноменно, а постепенно.

Единственный вариант, который приходит в голову, это при помощи рекурсивной функции обернутой в setTimeout перемещать объект небольшими шагами.

Пример:
var object = m_scenes.get_object_by_name('myObject');

function smoothAnimation(_object, target) {
  var current_position = m_transform.get_translation(_object);
  if (current_position !== target) {
    var newHeight =  current_position[2] + 0.1;
    m_transform.set_translation(_object, current_position[0], current_position[1], newHeight)
    setTImeout(function() {
      smoothAnimation(_object, target);
    }, 10);
  }
}

smoothAnimation(object, [0, 0, 5])


Есть ли еще варианты создания плавной процедурной анимации? Вроде бы где-то на форуме уже была такая тема… Не могу её найти
03 марта 2017 18:44
можно сделать как в этом примере
Команда Blend4Web
https://twitter.com/AlexKowel
04 марта 2017 01:32
еще думаю можно запустить нодовую логику и отдельной веткой сделать вход из процедуры(вызов) и там просто анимация на нужное к-во секунд) то же перемещение.. должно получиться как нужно в примере выше
Денис
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.