Форум

Функция m_scs.remove_object

13 апреля 2015 19:22
Функция m_scs.remove_object() удаляет не тот объект и портит физику соседнего копированного объекта.

На click событие мыши у меня назначена функция shoot();

function shoot(character){
    if (!character)
        character = m_scs.get_active_camera();

    var date = new Date();
    var pula = m_scs.get_object_by_name("Pula");
    var new_name =  "pula"+date.getTime().toString();
    var pula_new = m_obj.copy(pula, new_name);

    var rotation = m_trans.get_rotation(character);
    
    m_trans.set_translation_rel(pula_new, 0, -1, 0, character);

    m_scs.append_object(pula_new);
    
    m_trans.set_rotation(pula_new, rotation[0], rotation[1], rotation[2], rotation[3]);
    m_phy.apply_velocity(pula_new, 0, -10, 0);

    remove_pula(new_name, 5000);
}

function remove_pula(pula,delay){

    console.log("add "+pula);

    setTimeout(function(){
        console.log("del "+pula);
        m_scs.remove_object(m_scs.get_object_by_name(pula))
    }, delay);
}


Вот видео работы функции с консолью https://youtu.be/-J5dThovcBg на котором видно как удаляются не те объекты и ковыркается эмуляция физики.

UPD: Залил на сервер
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
14 апреля 2015 09:34
Добрый день.
Попробуйте сделать вызов функции копирования следующим образом:

var pula_new = m_obj.copy(pula, new_name, true);


Только проставьте предварительно галочку "Dynamic geometry" на объекте "Pula" в Blender'e и произведите заново экспорт сцены
14 апреля 2015 10:21
UPD: Залил на сервер

Бомба на "B"
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
14 апреля 2015 10:33
recoshet Вы не против, если мы напишем про эту работу в соц сетях?
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
14 апреля 2015 11:37
Я не против. Оставлю эту ссылку постоянной
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
14 апреля 2015 12:04
Попробуйте еще сделать collision на ступеньках плоскостью. Чтобы не приходилось запрыгивать на ступеньки
14 апреля 2015 18:55

Функция m_scs.remove_object() удаляет не тот объект и портит физику соседнего копированного объекта.

Привет, к сожалению это баг. Будет исправлен в ближайшем релизе. Спасибо за обратную связь.
14 апреля 2015 19:24
Ответ на сообщение пользователя Семенцов Роман
Добрый день.
Попробуйте сделать вызов функции копирования следующим образом:

var pula_new = m_obj.copy(pula, new_name, true);

Попробовал так изменить код. Пока что это ничего не дало. Буду ждать следующего релиза…

Ответ на сообщение пользователя Семенцов Роман
Попробуйте еще сделать collision на ступеньках плоскостью.
Над collision ещё поработаю. Спасибо
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
15 апреля 2015 09:55
Написал в англ. форуме https://www.blend4web.com/en/forums/topic/453/
Руководитель проекта | VK | Twitter | Facebook | Linkedin
15 апреля 2015 11:12
Ув. топикстартер, скажите пожалуйста как вы вынули геометрию с уровня сохранив материалы (назначенные текстуры) и UV? И есть ли у вас возможность сделать это для другой карты (HLDM)? Спасибо.

 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.