m_obj.copy и дочерние элементы

29 апреля 2015 01:03
Сегодня попробовал копировать объект по сложнее пули и заметил что дочерние элементы не копируются.
Подскажите как поступить если нужно скопировать mesh и дочернюю коллизию внутри него для физики?
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
29 апреля 2015 09:47
Добрый день.
Попробуйте следующее решение:
1) скопируйте и добавьте объект на сцену
2) скопируйте коллизию и добавьте ее на сцену
3) установите связь между объектом и колизией через функцию append_stiff из модуля constraints
Должно выглядеть примерно так:
var m_obj      = require("objects");
var m_cons     = require("constraints");
var m_scs      = require("scenes");

var OFFSET = new Float32Array([0, 0, 1]);
// . . .
var obj_2 = m_obj.copy(obj, "Object_2");
var col_2 = m_obj.copy(col, "Collision_2");

m_scs.append_object(obj_2);
m_scs.append_object(col_2);

m_cons.append_stiff(col_2, obj_2, OFFSET);
// . . .
Разработчик Blend4Web
29 апреля 2015 11:13
Лучше будет уточнить сложившуюся ситуацию.
Этот объект mesh не физический? Если да, то для приведенного выше решения потребуется колизия со статическим типом физики.
Не могли бы вы описать подробнее объекты и их назначение?
Разработчик Blend4Web
29 апреля 2015 12:11
В случае если у вас оба объекта физические (да и еще динамические) - то можно использовать compound-объект (можно посмотреть демо-пример из SDK. Сам .blend-файл доступен по SDK/blender/dev_physics/compound.blend). Только его надо будет вновь "собрать" перед добавлением на сцену
Разработчик Blend4Web
29 апреля 2015 22:57
Спасибо за ответ. У меня 2 объекта видимый mesh и коллизия.
Я поступлю так пока что: скопирую 2 объекта и установлю связь между ними, используя append_stiff
Коллизия пока что статичная.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.