Форум

Нодовая логика. Некоторые шероховатости

06 июня 2016 14:30
Здравствуйте.

Чувствуется некоторая недоинтегрированность. В любом поле выбора (объектов, материалов, анимации и т.д.) в Блендере есть выпадающий список элементов, если отсутствует прописанный объект (например отсутствует текстура), то поле помечается красным. Но если исправить зависимость, то всё само встаёт на место. В Блендфовебовской логике есть некоторая недоработанность.

Я создал проект, всё делал в одном бленд файле и по мере проработки выкидываю объекты в отдельные бленд-файлы. Случилось так, что я начал выкидывать объекты, которые уже были прописаны в нодах логики. После очистки главного файла я начал связывать объекты обратно из вынесеных файлов. Тоесть, теперь я имею главный файл с логикой, со связанными объектами из внешних файлов, которые когда-то были в этом самом файле и прописаны в логике (в основном ноды запуска анимации). И что происходит в нодах логики - даже после перезарузки проекта они кричат, мол, нет объекта. Я снова выбираю объект, убеждаюсь что он на месте, привязан, анимация (Action) присутствует, перезабиваю название анимации, на всякий случай, но при экспорте или быстром просмотре анимация не воспроизводится, логика вся ломается. В консоли браузера выдаётся следующее
TypeError: node.objects.ta is null
и бежит какое-то число, очевидно количество ошибок. Что за node.objects.ta такой?
Мне теперь приходится пересоздавать всю логику. Ноды не умеют, как родные, блендеровские, восстанавливать связи.

Надеюсь хоть что-то понятно? Файл не прилагаю, так как не подумав понаисправлял, теперь поздно.

И небольшое пожелание - выпадающий список для выбора анимаций в ноде активации анимации. Без него муторно.
07 июня 2016 10:48
Здравствуйте!

Давайте разбираться, что за ошибка такая заявилась

Уточним еще раз ваш порядок действий:
- Все объекты в одном файле. Написали нодовую логику, выбирая объекты
- Объект экспортируем/копируем(??) в новый файл.
- Удаляем объект из исходного файла (через дупли группу??)
- Линкуем объект из внешнего файла
- Получаем ошибку при экспорте Х_Х

Все так?
Команда Blend4Web - разработчик
Twitter
LinkedIn
07 июня 2016 12:47
Странное дело. Я сегодня попытался воспроизвести это в новом файле и не получается. Мало того, при линковке объекта с таким именем, ноды логики сразу его подхватывают.

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

Логика работы примерно такая:
  • Создал главный файл, два куба, одному создал анимацию.
  • В нодовой логике поставил выбор объекта на один куб для активации анимации второго.
  • Создал два новых файла (в той же папке) Присоединил (как оно по английски) свой куб в каждый файл из оригинального файла. Сохранил, закрыл.
  • Удалил кубы в главном файле, сохранил, переоткрыл. Накидал ещё объектов, материалов и т.д. всё с оригинальными именами, пересечений быть не может.
  • Слинковал первые кубы из вынесенных файлов.
И тут обычно начинался цирк - их ноды не подхватывали. А когда я перезабивал имя объекта, отметка о том, что такого объекта нет, пропадала. Но при быстром просмотре ничего не работало, а в консоли видел вышеуказанное сообщение. Пересохранения и переоткрытия проекта не помогали, пришлось тупо пересоздавать точно такую же ноду с такими же свойствами. Было это ещё и на Панде, но тогда я думал, что просто чего-то не понял.

Самое интересное, что с одним объектом было так :
  • создал часы с маятником, в этом самом проекте с кучей всего.
  • Потом вынес маятник в отдельный объект(в том же файле, никаких переносов), проанимировал, чтобы он качался.
  • повесил ноду, чтобы он постоянно качался в игре, ноду поставил первой.
  • Потом объединил часы и маятник обратно в один меш, нужно было кое что доделать.
  • После этого снова разделил, опять назвал тем же именем, создал новую анимацию с таким же именем (старой не осталось после сохранений/пререоткрытий)
  • А нода всё равно не довольна. перезабил этот маятник в ноду, переписал название анимации, запустил быстрый просмотр - опять не работает. И логика застревает именно на этом месте.
  • Создал новую ноду, задал тот же объект, ту же анимацию, удалил старую ноду - всё работает.

Я не знаю, может ли это быть продуктом моего воспалённого мозга? Но сегодня у меня не получается воспроизвести ошибку. Если в процессе работы выскачет снова - сразу заархивирую проект и выложу.

Вот.
07 июня 2016 13:04

Пока оставлю это на свою безалаберность. Простите, если это моя вина и я вас заставил впустую потратить время выискивая несуществующий баг. Но вчера мне несколько раз пришлось перелопачивать ноды, удаляя и заменяя такими же, с теми же названиями.
Не стоит извиняться
Самим очень трудно воспроизводить такие ситуации. Для этого нужна или большая команда проф тестировщиков, которой у нас нет на данный момент, либо, как раз, ответственное комьюнити. Так что спасибо за обратную связь!

Проверим в чем проблема могла возникнуть.


И небольшое пожелание - выпадающий список для выбора анимаций в ноде активации анимации. Без него муторно.
Задача не такая тривиальная с технической точки зрения, как кажется на первый взгляд. Посмотрим повнимательнее по возможности
Команда Blend4Web - разработчик
Twitter
LinkedIn
07 июня 2016 13:14

Задача не такая тривиальная с технической точки зрения, как кажется на первый взгляд. Посмотрим повнимательнее по возможности
Да, я понимаю, что тут может возникнуть обратная проблема, что будет невозможно ввести анимацию, которой пока нет, или она как-то подгружается отдельно.
15 июня 2016 19:01
Ну вот опять. Просто переименовал объект, а он не подхватился в ноде. И опять я забыл выложить…
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.