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

29 апреля 2015 01:03 #2193
Сегодня попробовал копировать объект по сложнее пули и заметил что дочерние элементы не копируются.
Подскажите как поступить если нужно скопировать mesh и дочернюю коллизию внутри него для физики?
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
29 апреля 2015 09:47 #2194
Добрый день.
Попробуйте следующее решение:
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 #2198
Лучше будет уточнить сложившуюся ситуацию.
Этот объект mesh не физический? Если да, то для приведенного выше решения потребуется колизия со статическим типом физики.
Не могли бы вы описать подробнее объекты и их назначение?
Разработчик Blend4Web
29 апреля 2015 12:11 #2199
В случае если у вас оба объекта физические (да и еще динамические) - то можно использовать compound-объект (можно посмотреть демо-пример из SDK. Сам .blend-файл доступен по SDK/blender/dev_physics/compound.blend). Только его надо будет вновь "собрать" перед добавлением на сцену
Разработчик Blend4Web
29 апреля 2015 22:57 #2214
Спасибо за ответ. У меня 2 объекта видимый mesh и коллизия.
Я поступлю так пока что: скопирую 2 объекта и установлю связь между ними, используя append_stiff
Коллизия пока что статичная.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.