Forum

User posts NoxKeini
11 March 2016 09:39
Спасибо за информацию
11 March 2016 09:13
Кирилл, вы бы не могли подробнее изложить свою мысль. Я не эксперт blender, и раньше не слышал об установке blender на сервер, а экспресс просмотр гугла по данному запросу не принёс никаких результатов. Или, возможно, вы имели ввиду генерацию ландшафта вручную в обычном редакторе blender?
10 March 2016 20:06
Жаль, если так и есть. Тогда получается, что на данный момент, не получится организовать генерируемый "неровный" ландшафт, обладающий коллизией.
10 March 2016 14:14
Опробовал предложенный способ: убрал коллизию из настроек материала, поставил галочку в разделе физики - физика объекта. После этого изменения появились столкновения с копированными плоскостями динамического объекта. Однако это не повлияло но перерасчёт поверхности столкновения объекта с изменённой геометрией. Я раздробил плоскость, увеличив количество вертексов и внёс некоторые изменения в создание нового массива координат, сымитировав неровность рандомом и приподняв для лучшей видимости (скриншот далее)

if (element == 0) element+=Math.random()*0.25+2;
return element;



Поверхность плоскости коллизии, которая была экспортирована из блендера по прежнему осталась ровной. Поверхность, которая была получена изменением геометрии отображается материалом зелёного цвета, приподнята на (2 + рандом) высотой над поверхностью коллизии.
10 March 2016 13:00
Спасибо, за быстрый ответ. Суть я понял, попробую изменить настройки исходя из предоставленной информации.
10 March 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);

Визуально плоскость увеличивается/уменьшается, но поверхность коллизии остаётся прежней

Я попробовал пойти путём глубокого копирования, и менять уже геометрию производных плоскостей. Результат повторяется: визуально копированная плоскость отображается, но столкновения с ней экспериментального динамического объекта не происходит.



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