User posts Roman Sementsov
30 November 2016 10:37
да все ок . консоль не доступна там.. (( к сожалению.
А что если использовать какую-нибудь тулзу для доступа к консоле? например weinre
тсутствующего датчика
Не могли бы вы подробнее рассказать, что за датчик? И опрос. Если это что-то движковое, то оно должно запускаться в load_cb, когда сцена загружена
29 November 2016 10:18
но столкнулся со странным зависанием прелоадера, который останавливается сразу не показав ни одного процента загрузки если убрать опрос датчика света перед запуском загрузки модели итд т.к. в этих часах до него так не добраться но TRY если убрать все виснет , что бы это могло быть?
Добрый день.
Обычно такое происходит при синтаксических ошибках в коде запуска инициализации, либо при отсутствии поддержки WebGL.
Для начала попробуйте зайти на webglreport.com и проверить поддержку WebGL. Ну если всё ок, то надо в консоль смотреть. Вы запускали ваше приложение на другом устройстве?
29 November 2016 10:14
Добрый день.
Можно дать вам совет? Не обращайтесь к внутренним свойствам объектов, они являются внутренними сущностями и подлежат обфускации, что вы и заметили в первом сообщении. Версия b4w.min.js самая глубоко обфусцированная, и соответсвенно самая легковесная.
Внутренние свойства объектов доступны через API, например можно заменить следующие строчки кода на :
Лучше заменить на
Так же можно поступить с
Ну и с
Можно дать вам совет? Не обращайтесь к внутренним свойствам объектов, они являются внутренними сущностями и подлежат обфускации, что вы и заметили в первом сообщении. Версия b4w.min.js самая глубоко обфусцированная, и соответсвенно самая легковесная.
Внутренние свойства объектов доступны через API, например можно заменить следующие строчки кода на :
mas[key].name
Лучше заменить на
m_scs.get_object_name(mas[key]);
Так же можно поступить с
if (mas[key].type == 'Lamp' || mas[key].type == "WORD" || mas[key].type == 'EMPTY')
var m_obj_util = require("__obj_util");
if (m_obj_util.is_lamp(mas[key]) || m_obj_util.is_world(mas[key]) m_obj_util.is_empty(mas[key]))
Ну и с
mas[key].actions
var m_anim = require("animation");
m_anim.get_anim_names(mas[key]);
28 November 2016 15:38
При создании новой сцены отваливается путь к SDK, приходится залезать в аддоны, выключать и заново включать Blend4Web.
…Может путь всё же стоит оставить настройках? Мне так было удобно
Добрый день.
Пытался воспроизвести баг, но у меня не вышло. Удалось получить странное поведение только при подключении SDK и одиночного аддона одновременно. Не могли вы бы рассказать, как вы обновляете версию?
25 November 2016 22:09
Всем привет
Решил в своё свободное время писать обучающие статьи по программированию, чтобы сократить количество вопросов в этом разделе
Выбрал наиболее популярные темы и составил из них список, буду стараться писать по одной в неделю. Сразу скажу, имею мало опыта в этой сфере, поэтому не судите строго
Тема первого урока будет посвящена файлам, которые генерирует Менеджер Проектов. Считаю что эта тема нигде не освещалась, а она является важной
Собственно, начнём
https://studyb4w.blogspot.ru/2016/11/hifolks.html
Решил в своё свободное время писать обучающие статьи по программированию, чтобы сократить количество вопросов в этом разделе
Выбрал наиболее популярные темы и составил из них список, буду стараться писать по одной в неделю. Сразу скажу, имею мало опыта в этой сфере, поэтому не судите строго
Тема первого урока будет посвящена файлам, которые генерирует Менеджер Проектов. Считаю что эта тема нигде не освещалась, а она является важной
Собственно, начнём
https://studyb4w.blogspot.ru/2016/11/hifolks.html
22 November 2016 18:36
Еще вопрос: а можно ли сделать сенсор на объект либо на его боундинг бокс, но чтобы он срабатывал при приближении на определенное расстояние? Сейчас заморачиваюсь с определением массива координат каждого боундинг бокса, но думаю должен быть более изящный способ??
Такая штука называется trigger volume и она очень распространена. Смотрите, можно сделать простую схему:
var _vec3_tmp = new Float32Array(3);
function check_distance(object, dest_point) {
var elapsed = m_ctl.create_elapsed_sensor();
var logic_func = function(s) {return true}
var manifold_cb = function(obj, id, pulse) {
var obj_pos = m_trans.get_translation(obj, _vec3_tmp);
var dist = m_vec3.distance(obj_pos, dest_point);
if (dist < CRIT_DISTANCE)
console.log("!!!!")
}
m_ctl.create_sensor_manifold(object, "DISTANCE_MANIFOLD", m_ctl.CT_CONTINUOUS,
[elapsed], logic_func, manifold_cb);
}
Код писал в браузере сразу, не проверял. могут быть опечатки, надеюсь, я понятно передал смысл
Тут в качестве объема для проверки используется сфера с радиусом CRIT_DISTANCE. У этого метода есть достоинтсво: не надо использовать физику и баундинги для определения нахождения объекта в сфере, но для каждого объекта надо прописывать проверку расстояния
Есть еще вариант использовать физический движок для этого (через сенсор коллизии с физическим объектом типа ghost), но я всячески стараюсь обходить использование физики, поскольку это требует дополнительной памяти
Если вам не подойдет указанный способ, то могу подробнее рассказать про физический сенсор
Вообще, я сейчас понял что надо упростить схему использования триггер волюмов
22 November 2016 18:16
22 November 2016 18:03
22 November 2016 18:01
22 November 2016 18:00