Форум

Анимация персонажа останавливается на маркерах таймлайна

12 сентября 2017 09:02
Добрый день! Столкнулся с таким моментом. Анимация перса запускается сразу после старта сцены из node editor с кадра F_00. Если на таймлайне есть маркер или несколько, анимация останавливается на них, хотя в логике этого не задано. После нажатия кнопок Pause Play анимация проигрывается дальше, но на каждом маркере встает на паузу
Задан перезапуск анимации первого кадра таймлайна кнопками Pause Play, который срабатывает после достижении последнего кадра таймлайна.
Помогите пожалуйста разобраться в чем косяк. Неправильно построена логика или здесь есть баг? В настройках сцены есть галочка Cyclic NLA, когда нужно ее включать?
Скрин дерева нодов прилагаю.
12 сентября 2017 09:05
Node Tree
12 сентября 2017 09:19
Если анимация запускается не сразу после загрузки сцены, а после нажатия кнопки Play, то в первый раз происходит только скрытие этой кнопки и отображение Pause, если нажать ее, опять отображается Play и при втором ее нажатии анимация начинает проигрываться. При этом на маркерах она также стопится, даже если выпилить проверку последнего кадра и запуск сначала. Почему так??
12 сентября 2017 11:08
Здравствуйте!
Заметили недочеты в документации, поправим.
Не совсем правильно расписано поведение ноды в случаях отсутствия маркеров.
  • Если отсутствует стартовый маркер, то воспроизведение происходит с последней точки останова (либо с начала, если воспроизведение еще не запускали).
  • Если отсутствует конечный маркер, то воспроизведение будет остановлено на первом встречном маркере.

Более подробно можете ознакомиться с поведением в вложенном файле, где реализован простенький плеер. advanced_nla_anim.blend
Александр (команда Blend4Web)
12 сентября 2017 11:29
Большое спасибо за оперативную помощь!
Если я правильно понял из примера, после ноды Play Timeline нужно ставить Stop Timeline, даже если в Play Timeline указан конечный маркер, а выход miss зацикливать на Previouse через Delay со значением 0,00?
12 сентября 2017 11:34
А понял Stop Timeline после Play Timeline это при перемотке.
12 сентября 2017 18:02
Большое спасибо за оперативную помощь!
Если я правильно понял из примера, после ноды Play Timeline нужно ставить Stop Timeline, даже если в Play Timeline указан конечный маркер, а выход miss зацикливать на Previouse через Delay со значением 0,00?


Нода Delay там использована просто чтоб собрать выходы в пучок(пример делался когда не было ноды Empty). Она в добавок замьючена (клавиша 'M'), т.е. не имеет никакого влияния.
Александр (команда Blend4Web)
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.