Форум

Проблемка с нодовой логикой

18 февраля 2017 18:01
Всем добрый день. Возможно кто то сможет помочь мне разобраться с нодами, часть логики взята из сцены coin_flip.blend, если просто проигрывать анимацию без добавления switch_select по ее завершению то все проходит удачно (анимация не останавливается), но если добавить sw_se (в данном случае на зеленую сферу) то цикл анимации прерывается и сцена замирает. Заранее спасибо.
18 февраля 2017 18:04
02 марта 2017 12:27
Нода Switch Select ожидает взаимодействия с пользователем, поэтому все анимации остановлены.
Чтобы лучше понимать работу созданной логики, удобно использовать ноду Debug, при помощи которой можно вывести какие-либо сообщения и значения переменных. Просто откройте консоль браузера, чтобы увидеть эти сообщения (обычно это клавиша F12).

Насколько я понял, вы хотели реализовать игру "угадай шарик". Прикрепляю свой вариант.
Александр (команда Blend4Web)
twitter
16 марта 2017 18:35
Спасибо за ответ. Я хотел чтобы шары прыгали пока пользователь не нажмет на один из них, а после нажатия проигрывалась бы другая анимация на выбранном шаре и затем цикл повторялся, не получается реализовать зацикливание, выход miss, насколько я понимаю срабатывает если не было совершено действия(щелчка мыши), это так, но только пока не был задействован выход Hit, после прохождения по Hit'у, логическая цепь перестает проходить через miss, сцена замирает в ожидании, тем самым разрушая зацикливание, и даже нода variable store сбрасывающая значения переменных на 0 не решает этой проблемы.
17 марта 2017 00:42
Попробуйте воспользоваться переменными примерно как в этом видео https://www.youtube.com/watch?v=itdG0832KAA
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
17 марта 2017 09:04
Спасибо за совет Михаил. Сообщу если появятся новости.
17 марта 2017 16:35
Нода Switch Select может замыкаться через выход (miss) только на саму себя, предшествующие ей ноды выход Miss игнорирует. В таком случае придется искать другие пути реализации моей затеи, например перезапускать сцену по типу victory_day. Надеюсь что в будущем ноду Swith Select подправят, тк данное её поведение существенно ограничивает разнообразие создаваемых логических цепей.
17 марта 2017 16:41
Miss может быть замкнут куда угодно.
Выполнение происходит по пути Miss если из всех выделяемых объектов (флажок "Selectable" у объекта в Blender) выбран тот, что не находится в списке Switch Select. Т.е. если вы будете щелкать там где нет никаких объектов, выполнение не передается никуда, мы находимся все в той же ноде Switch Select.

Поправим в документации, чтобы не путались .

[EDITED]
К выделяемым объектам относятся не только те объекты, которые имеют включенный флаг "Selectable", но еще и те, которые состоят в списках у других нод Switch Select, т.к. для них он выставляется автоматически.
Александр (команда Blend4Web)
twitter
24 марта 2017 00:36
Александр спасибо Вам за помощь, понял что выход Miss работает только в режиме ожидания действия, те сцена покоится пока не нажмем на какой либо объект, а уже после нажатия происходит выполнение того или иного сценария, надеялся что Miss будет выполняться даже пока мы еще ни на что не нажали, но увы.
24 марта 2017 10:48
Если вам нужно выполнять какие-то действия параллельно с ожиданием клика на объекте, вы можете создать дополнительную ветку нодовой логики (еще одна Entry Point), а затем менять значение какой-либо глобальной переменной при клике и проверять его в другой ветке, которая не находится в "замороженном" состоянии.
Александр (команда Blend4Web)
twitter
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.