Форум

Странности прокси объектов

19 октября 2016 21:00
Как вчера помню, прозвучала фраза, что не хватает тестеров со стороны комьюнити и я начал писать все что начал находить.
Мы стараемся находить и фиксить все баги, но что-то от нас, бывает, ускользает. И нам важна помощь в тестировании от коммюнити - тех, что тоже заинтересован в хорошей работе B4W.


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



Если же сделать экшен и логическую анимацию, то получается еще страннее. Анимируется сначала прокси объект своим экшеном, а по его окончании он остается в конечно точке экшена, появляется его копия, которая анимируется логикой.

На скрине видно 2 площадки, одна влево двигается, клон вверх по скрину.

И еще момент. В списках логики выпадают все объекты, даже линкованные, даже при линковке группы в списке видно названия объектов входящих в группу, но если попытаться использовать объект из линка, то логика напрочь стопорится и не идет дальше по цепочке.
Еще интересно можно ли юзать линкованную камеру? Вроде проект стартует из вида линкованной камеры, но логика на ней так же не работает и стопорится все.
Baasis - vk.com/baasis - vk.com/pro_blender
OS: Mint 18 Sarah x86_64 Linux 4.4.0-21-generic, DE Cinnamon, CPU: Intel Core i7-2600K CPU @ 6.3GHz, GPU: GeForce GTX 680, GeForce GTX 650 Ti, RAM 16Gb
Браузеры: неадекватный FireFox v49, не люблю но тестирую все на Google Chrome v54, вроде сойдет Vivaldi 1.4.589.38
20 октября 2016 16:56
Добрый день!

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

И еще момент. В списках логики выпадают все объекты, даже линкованные, даже при линковке группы в списке видно названия объектов входящих в группу, но если попытаться использовать объект из линка, то логика напрочь стопорится и не идет дальше по цепочке.
Пожеланиями убрать объекты из линкованных групп в списках выбора уже высказывались. Задача в todo листе.

В общем я залинковал и сделал прокси объект из половины площадки, все здорово и круто пока не начал изголяться.
Если проанимировать объект экшеном, то все работает и правильно отображается.
Если проанимировать объект нодовой логикой, то при запуске сцены появляется анимированный клон прокси объекта, т.е. прокси объект стоит на своей линк точке, а его копия рядом анимируется. Причем если изначально сдвинуть прокси объект, то оригинал будет стоять именно в точке линковки, а копия начинать двигаться откуда выставил. Копия появляется сама, её нет в сцене и я её отдельно не создаю.
Ранее в качестве прокси использовались в оcновном скелеты, использование в качестве прокси объектов плотно не тестировалась, так что, действительно, могут встречаться баги.
В таких ситуациях (да и вообще в баг репортах) очень желательно прикладывать минимальные blend файлы с примером проблемы, как говорится "дороже тысячи слов"
Команда Blend4Web - разработчик
Twitter
LinkedIn
21 октября 2016 00:59
прикладывать минимальные blend файлы
Спасибо, что отписались
Хорошо буду прикладывать файлики. Здесь вроде ничего сложного в восприятии, но сделаю.
Baasis - vk.com/baasis - vk.com/pro_blender
OS: Mint 18 Sarah x86_64 Linux 4.4.0-21-generic, DE Cinnamon, CPU: Intel Core i7-2600K CPU @ 6.3GHz, GPU: GeForce GTX 680, GeForce GTX 650 Ti, RAM 16Gb
Браузеры: неадекватный FireFox v49, не люблю но тестирую все на Google Chrome v54, вроде сойдет Vivaldi 1.4.589.38
21 октября 2016 18:39
минимальные blend файлы с примером проблемы

В архиве 4 файла.

Suzanne.blend - просто файл для линка, линкуется группа объектов с последующим созданием прокси объекта.

main_scene_1.blend - залинкована группа из файла выше, прокси объект сдвинут из своей изначальной точки, создан экшен и его NLA стрип из одного ключа по оси Z. Ошибка - не учитывается новое положение прокси объекта и он двигается из своего нового положения в старое как если бы мы не сдвигали прокси объект и просто проанимировали Z.

main_scene_2.blend - залинкована группа из линк файла, прокси объект сдвинут из своей изначальной точки, создана логическая анимация нодой transform object по оси Z. Ошибка - как и в предыдущем файле прокси объект двигается по диагонали не учитывая свое новое положение, а так же добавляется клон объекта с точке где должен находится линк объект до превращения его в прокси.

main_scene_3.blend - залинкована группа из линк файла, прокси объект сдвинут из своей изначальной точки, создана логическая анимация нодой transform object по оси Z и добавлен экшен с NLA по оси Z и X наглядности (экшен короче так же для наглядности). Ошибка - воспроизводится анимация экшена, а потом появляется клон анимируемый логикой.

Файлики Link_Proxy_animated.7z

Надеюсь так теперь наглядней.
Baasis - vk.com/baasis - vk.com/pro_blender
OS: Mint 18 Sarah x86_64 Linux 4.4.0-21-generic, DE Cinnamon, CPU: Intel Core i7-2600K CPU @ 6.3GHz, GPU: GeForce GTX 680, GeForce GTX 650 Ti, RAM 16Gb
Браузеры: неадекватный FireFox v49, не люблю но тестирую все на Google Chrome v54, вроде сойдет Vivaldi 1.4.589.38
21 октября 2016 18:43
Файлики Link_Proxy_animated.7z

Надеюсь так теперь наглядней.
Отлично! Будем разбираться
Команда Blend4Web - разработчик
Twitter
LinkedIn
23 октября 2016 22:33
Ответ на сообщение пользователя Константин Хомяков
Отлично! Будем разбираться

Еще одну штуку заметил.
Если в ноде Move Camera в Look at указать линкованный либо прокси объект, то браузер выдает
Uncaught TypeError: Cannot read property 'render' of null(…)

как только натыкается логикой на это место. Это сообщение плодит само себя штук по 50 в секунду.
Причем Destination адекватно реагирует на прокси и линк объекты.



UPD: Из-за моего эксперимента случилась бяка. Пустышки даже после удаления из сцены остаются в выпадающем списке у логических нод и естественно браузер виснет, когда доходит до логики с несуществующим объектом. Я уже наглым образом создаю новую пустышку и называю её так же как и объект из выпадающего списка Empty_Target и как вы думаете что происходит? Да именно в списке выпадает две строки, которые названы абсолютно одинаково Empty_Target.
И я не могу избавить от них, захломился проект названиями линкованных объектов.

UPD2: Перебрал все варианты и заметил закономерность. После этого глюка с мистической пустышкой я попытался сделать не линк группы пустышек, а Append, но группа появляется без пустышки Empty_Target и тогда сделал Append самой пустышки как объекта и тут вместо этого появилась линкованная пустышка, т.е. она где то потерялась в файлы, в мусоре небытия и после аппента появилась в сцене как линкованная. Очень странно все это.
И вот после удаления этой всплывшей из небытия пустышки в списке её больше нет.

В итоге: как точку координат в Destination можно использовать линкованные объекты, а вот если их использовать в Look at, то происходят неадекватности с самими линкованными объектами.


Эхх и все таки даже в destination нежелательно юзать прокси объекты. Какие-то неадекватности периодически вываливаются.
Baasis - vk.com/baasis - vk.com/pro_blender
OS: Mint 18 Sarah x86_64 Linux 4.4.0-21-generic, DE Cinnamon, CPU: Intel Core i7-2600K CPU @ 6.3GHz, GPU: GeForce GTX 680, GeForce GTX 650 Ti, RAM 16Gb
Браузеры: неадекватный FireFox v49, не люблю но тестирую все на Google Chrome v54, вроде сойдет Vivaldi 1.4.589.38
28 декабря 2016 17:27
Добрый день!
Немного обновлений по теме:
main_scene_1.blend - залинкована группа из файла выше, прокси объект сдвинут из своей изначальной точки, создан экшен и его NLA стрип из одного ключа по оси Z. Ошибка - не учитывается новое положение прокси объекта и он двигается из своего нового положения в старое как если бы мы не сдвигали прокси объект и просто проанимировали Z.
Данное поведение не имеет отношение к прокси объектам. В b4w пока не предусмотрено пробитие ключей анимации сдвига или вращения только по одной оси, недостающие оси заполняются нулями что и приводит к прыжку объекта в начало координат. В будущем планируем исправить данный недочет.

main_scene_2.blend - залинкована группа из линк файла, прокси объект сдвинут из своей изначальной точки, создана логическая анимация нодой transform object по оси Z. Ошибка - как и в предыдущем файле прокси объект двигается по диагонали не учитывая свое новое положение, а так же добавляется клон объекта с точке где должен находится линк объект до превращения его в прокси.
Смещение объекта не в ту точку связано с тем, что в ноде Transform Object для параметра пространства координат указано значение World, его необходимо изменить на Local.


По остальным вопросам (в т.ч. появлением дубликатов прокси объектов) продолжаем работать над выяснением/устранением причин.
Команда Blend4Web - разработчик
Twitter
LinkedIn
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.