Форум

Функция m_scs.remove_object

13 апреля 2015 19:22 #2027
Функция 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 #2028
Добрый день.
Попробуйте сделать вызов функции копирования следующим образом:

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


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

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

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

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

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

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

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

https://sketchfab.com/engine9/models
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.