Forum

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, например можно заменить следующие строчки кода на :
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
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
Hello!

We've added a new add-on - fps.js. It can help you to create VR first person application with one function calling. Also we've modified firstperson tutorial. It'll be available in the upcoming release (16.11).
22 November 2016 18:03
Коллеги, а у Вас вообще какие-нибудь слеты и сходки проводятся? Хочется познакомится, пообщаться и посмотреть чем народ занимается.

Вообще было бы самому интересно. В мае мы устраивали конференцию, как раз чем-то подобным и занимались :)
Надеюсь, в скором времени повторим
22 November 2016 18:01
Сейчас вы можете использовать следующую схему:
var m_obj_util = require("__obj_util");
....
m_obj_util.is_dynamic(obj);
22 November 2016 18:00
релиз 16.10

Извиняюсь, некорректно написал свою мысль. В будущем релизе, который будет доступен через неделю