Странности прокси объектов
19 октября 2016 21:00
Как вчера помню, прозвучала фраза, что не хватает тестеров со стороны комьюнити и я начал писать все что начал находить.
В общем я залинковал и сделал прокси объект из половины площадки, все здорово и круто пока не начал изголяться.
Если проанимировать объект экшеном, то все работает и правильно отображается.
Если проанимировать объект нодовой логикой, то при запуске сцены появляется анимированный клон прокси объекта, т.е. прокси объект стоит на своей линк точке, а его копия рядом анимируется. Причем если изначально сдвинуть прокси объект, то оригинал будет стоять именно в точке линковки, а копия начинать двигаться откуда выставил. Копия появляется сама, её нет в сцене и я её отдельно не создаю.
![]()
![]()
Если же сделать экшен и логическую анимацию, то получается еще страннее. Анимируется сначала прокси объект своим экшеном, а по его окончании он остается в конечно точке экшена, появляется его копия, которая анимируется логикой.
![]()
На скрине видно 2 площадки, одна влево двигается, клон вверх по скрину.
И еще момент. В списках логики выпадают все объекты, даже линкованные, даже при линковке группы в списке видно названия объектов входящих в группу, но если попытаться использовать объект из линка, то логика напрочь стопорится и не идет дальше по цепочке.
Еще интересно можно ли юзать линкованную камеру? Вроде проект стартует из вида линкованной камеры, но логика на ней так же не работает и стопорится все.
Мы стараемся находить и фиксить все баги, но что-то от нас, бывает, ускользает. И нам важна помощь в тестировании от коммюнити - тех, что тоже заинтересован в хорошей работе B4W.
В общем я залинковал и сделал прокси объект из половины площадки, все здорово и круто пока не начал изголяться.
Если проанимировать объект экшеном, то все работает и правильно отображается.
Если проанимировать объект нодовой логикой, то при запуске сцены появляется анимированный клон прокси объекта, т.е. прокси объект стоит на своей линк точке, а его копия рядом анимируется. Причем если изначально сдвинуть прокси объект, то оригинал будет стоять именно в точке линковки, а копия начинать двигаться откуда выставил. Копия появляется сама, её нет в сцене и я её отдельно не создаю.
![](https://www.blend4web.com/media/uploads/ebd0da5d-ee22-4bc6-9f1b-fa844b3d1f97/node.jpg)
![](https://www.blend4web.com/media/uploads/af864ea9-64ce-41db-bd7f-fa6de2c98669/clone.jpg)
Если же сделать экшен и логическую анимацию, то получается еще страннее. Анимируется сначала прокси объект своим экшеном, а по его окончании он остается в конечно точке экшена, появляется его копия, которая анимируется логикой.
![](https://www.blend4web.com/media/uploads/9243bd06-8b7a-4c14-ace2-f9d7d4459b14/actionlogic.jpg)
На скрине видно 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
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
Добрый день!
В таких ситуациях (да и вообще в баг репортах) очень желательно прикладывать минимальные blend файлы с примером проблемы, как говорится "дороже тысячи слов"
Еще интересно можно ли юзать линкованную камеру? Вроде проект стартует из вида линкованной камеры, но логика на ней так же не работает и стопорится все.Нет
И еще момент. В списках логики выпадают все объекты, даже линкованные, даже при линковке группы в списке видно названия объектов входящих в группу, но если попытаться использовать объект из линка, то логика напрочь стопорится и не идет дальше по цепочке.Пожеланиями убрать объекты из линкованных групп в списках выбора уже высказывались. Задача в todo листе.
В общем я залинковал и сделал прокси объект из половины площадки, все здорово и круто пока не начал изголяться.Ранее в качестве прокси использовались в оcновном скелеты, использование в качестве прокси объектов плотно не тестировалась, так что, действительно, могут встречаться баги.
Если проанимировать объект экшеном, то все работает и правильно отображается.
Если проанимировать объект нодовой логикой, то при запуске сцены появляется анимированный клон прокси объекта, т.е. прокси объект стоит на своей линк точке, а его копия рядом анимируется. Причем если изначально сдвинуть прокси объект, то оригинал будет стоять именно в точке линковки, а копия начинать двигаться откуда выставил. Копия появляется сама, её нет в сцене и я её отдельно не создаю.
В таких ситуациях (да и вообще в баг репортах) очень желательно прикладывать минимальные blend файлы с примером проблемы, как говорится "дороже тысячи слов"
![smiling](/static/pybb/emoticons/smiling.png)
21 октября 2016 00:59
прикладывать минимальные blend файлыСпасибо, что отписались
![smiling-eyes](/static/pybb/emoticons/smiling-eyes.png)
Хорошо буду прикладывать файлики. Здесь вроде ничего сложного в восприятии, но сделаю.
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
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
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
23 октября 2016 22:33
Ответ на сообщение пользователя Константин Хомяков
Отлично! Будем разбираться
Еще одну штуку заметил.
Если в ноде Move Camera в Look at указать линкованный либо прокси объект, то браузер выдает
Uncaught TypeError: Cannot read property 'render' of null(…)
как только натыкается логикой на это место. Это сообщение плодит само себя штук по 50 в секунду.
Причем Destination адекватно реагирует на прокси и линк объекты.
![](https://www.blend4web.com/media/uploads/5416a588-3d4d-46f8-9bb7-153b779cc858/err.jpg)
UPD: Из-за моего эксперимента случилась бяка. Пустышки даже после удаления из сцены остаются в выпадающем списке у логических нод и естественно браузер виснет, когда доходит до логики с несуществующим объектом. Я уже наглым образом создаю новую пустышку и называю её так же как и объект из выпадающего списка Empty_Target и как вы думаете что происходит? Да именно в списке выпадает две строки, которые названы абсолютно одинаково Empty_Target.
И я не могу избавить от них, захломился проект названиями линкованных объектов.
UPD2: Перебрал все варианты и заметил закономерность. После этого глюка с мистической пустышкой я попытался сделать не линк группы пустышек, а Append, но группа появляется без пустышки Empty_Target и тогда сделал Append самой пустышки как объекта и тут вместо этого появилась линкованная пустышка, т.е. она где то потерялась в файлы, в мусоре небытия и после аппента появилась в сцене как линкованная. Очень странно все это.
И вот после удаления этой всплывшей из небытия пустышки в списке её больше нет.
В итоге: как точку координат в Destination можно использовать линкованные объекты, а вот если их использовать в Look at, то происходят неадекватности с самими линкованными объектами.
![](https://www.blend4web.com/media/uploads/7696aa4b-0c63-413e-b065-c0f625ee9c68/err2.jpg)
Эхх и все таки даже в 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
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.
![](https://www.blend4web.com/media/uploads/e1eddd34-809e-4b74-9b09-0a63d37472b4/Screenshot_from_2016-12-28_17-25-59.png)
По остальным вопросам (в т.ч. появлением дубликатов прокси объектов) продолжаем работать над выяснением/устранением причин.