10 марта 2016 11:41
Приветствую. Столкнулся с проблемой настройки/перенастройки коллизии. Пример такой: имеется плоскость, созданная в blender, в настройках материала указана галочка в чекбоксе коллизии, в настройках физики указан тип физики - неподвижно, в настройках объекта указаны галки в чекбоксах форсированный объект и динамическая геометрия. При помощи API изменяю размер плоскости в большую/меньшую сторону (не принципиально) разнося вертексы в пространстве:
var old_v3_positions = m_geometry.extract_vertex_array(plane, 'material_plane', 'a_position');
var new_v3_positions = old_v3_positions.map(function(element){
return element*2;
});
m_geometry.update_vertex_array(plane, "material_plane", 'a_position', new_v3_positions);
m_scenes.update_scene_materials_params();
m_objects.update_boundings(plane);
Визуально плоскость увеличивается/уменьшается, но поверхность коллизии остаётся прежней
Я попробовал пойти путём глубокого копирования, и менять уже геометрию производных плоскостей. Результат повторяется: визуально копированная плоскость отображается, но столкновения с ней экспериментального динамического объекта не происходит.
![]()
Я схематично изобразил полученный результат. Слева изображен первый случай. Зелёным указана область коллизии, синим - визуальная плоскость. Справа изображен второй случай. Красным указан объект-родитель с работающей коллизией, оранжевым указан объект-потомок, который визуально присутствует на сцене, но для которого не работает коллизия.
var old_v3_positions = m_geometry.extract_vertex_array(plane, 'material_plane', 'a_position');
var new_v3_positions = old_v3_positions.map(function(element){
return element*2;
});
m_geometry.update_vertex_array(plane, "material_plane", 'a_position', new_v3_positions);
m_scenes.update_scene_materials_params();
m_objects.update_boundings(plane);
Визуально плоскость увеличивается/уменьшается, но поверхность коллизии остаётся прежней
Я попробовал пойти путём глубокого копирования, и менять уже геометрию производных плоскостей. Результат повторяется: визуально копированная плоскость отображается, но столкновения с ней экспериментального динамического объекта не происходит.

Я схематично изобразил полученный результат. Слева изображен первый случай. Зелёным указана область коллизии, синим - визуальная плоскость. Справа изображен второй случай. Красным указан объект-родитель с работающей коллизией, оранжевым указан объект-потомок, который визуально присутствует на сцене, но для которого не работает коллизия.