Как клонировать EMPTY объект

06 февраля 2018 21:18
Здравствуйте, есть необходимость клонировать EMPTY объект.
Сам он является парентом для других объектов, среди которых также есть EMPTY или уже MESH объекты.

При попытке использовать m_obj.copy пишет что может это только с мешами делать… Какие есть варианты?
08 февраля 2018 15:14
Здравствуйте!
Не могли бы вы уточнить, какой результат вам нужен? Должны ли быть скопированы припэрэнченные объекты? В данный момент в этой области архитектура движка довольно слаба, поэтому желательно знать что конкретно вы хотите сделать, чтобы мы придумали наиболее эффективный путь.
Александр (команда Blend4Web)
twitter
09 февраля 2018 11:11
Ну вообще ад.
У него есть дети и хотелось бы клонировать всю ветку, от главного, до детей.
Сейчас временно отказались от EMPTY, взяли простой hidden MESH, но приходится теперь его помечать отдельными параметрами, что это не настоящий меш…
09 февраля 2018 12:30
Требуется ли вам возможность создавать дочерние элементы динамически? Или все объекты приходят из экспортированного файла?
Александр (команда Blend4Web)
twitter
09 февраля 2018 14:44
Ответ на сообщение пользователя Александр Романов
Требуется ли вам возможность создавать дочерние элементы динамически? Или все объекты приходят из экспортированного файла?

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

Все данные структурированы и я из API имею доступ к родительским объектам каждой нужной группы.
На данном этапе я сделал родителя мешем, далее я копирую его и копирую всех его детей. Система сделана так, что я гарантирую ,что не будет 3его уровня вложенности, поэтому могу не копировать рекурсивно.

Сейчас того что есть хватает, но хотелось бы научиться работать с EMPTY объектами, хотя бы ради интереса, т.к. если один из них закрадется в список детей - то беда. Сейчас проверку на то что объект не EMPTY я не делал, пока лишнее.



Также пока с утра это делал появилась новая проблема. Еще не до конца разобрали её с дизайнерами, но расскажите, как работают отражения мира? Ребята сделали окна, в которых тип отражения PLANE. В основной сцене всё ок. А если переносить это окно с этим объектом к которому привязан PLANE в догружаемую сцену, то не работает…. Ну и отсюда сразу вытекает ,а как тогда мне скопировать такое окно с таким привязанным объектом для отражения PLANE?



Ну и последнее, не до конца понял, какие преимущества даёт deep_copy флаг при копировании)
09 февраля 2018 20:24
Не, это уже жестко)))
Почему не работают отражения на объектах, которые загружаются позже с ассетами, а не с основной сценой?)
12 февраля 2018 11:21
Почему не работают отражения на объектах, которые загружаются позже с ассетами, а не с основной сценой?)
Какого типа отражения?
Команда Blend4Web - разработчик
Twitter
LinkedIn
12 февраля 2018 14:20
Сейчас того что есть хватает, но хотелось бы научиться работать с EMPTY объектами, хотя бы ради интереса, т.к. если один из них закрадется в список детей - то беда. Сейчас проверку на то что объект не EMPTY я не делал, пока лишнее.
В следующем релизе в API будет добавлен метод создания empty-объекта, а также копирование при помощи m_obj.copy empty-объекта будет работать.
Сейчас мы ведем работу по реорганизации внутреннего представления объектов и сцен, поэтому большинство ограничений, связанных с созданием/копированием/изменением объектов в процессе работы приложения должны уйти. Результаты появятся скорее всего не раньше чем через релиз.
Александр (команда Blend4Web)
twitter
12 февраля 2018 18:08
Ответ на сообщение пользователя Константин Хомяков
Какого типа отражения?

Самые обычные отражения PLANE, пример на скрине:



Комментарий к сцене:

Слева картинка которая является основной сценой (3 объекта с отражениями и шар), справа та что подгрузилась через JS позже. Та же самая сцена, те же самые объекты, но немного смещенные вбок…. Отражения нет.
12 февраля 2018 18:10
Ответ на сообщение пользователя Александр Романов
В следующем релизе в API будет добавлен метод создания empty-объекта, а также копирование при помощи m_obj.copy empty-объекта будет работать.
Сейчас мы ведем работу по реорганизации внутреннего представления объектов и сцен, поэтому большинство ограничений, связанных с созданием/копированием/изменением объектов в процессе работы приложения должны уйти. Результаты появятся скорее всего не раньше чем через релиз.

Ну так то я уже готов написать функцию создания пустого объекта с копированием его матрицы трансформации (копирование эмпти объекта). Так что уже не пригодится это. Я просто не понимал, почему более сложные объекты - мэши - копируются, а базовый простой EMPTY - нет….
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.