论坛

由用户创建的信息 stilist
16 November 2016 15:41
Еще хотелось бы разрушение конструкций, но это когда я разберусь как s_vars вызывать через калбэк и более-менее пойму всю эту науку.
16 November 2016 15:39
Зашёл в дом, поднялся на 2ой этаж, выпрыгнул в окно на нижний ярус крыши, бегал вокруг и с разбегу таки получилось

Подумываю десматч сделать в качестве фичи для клиентов - кто победит, возможность выбора цвета стен или комплект зимней резины к минивену).
16 November 2016 15:35
function upd_objs() {
    var excl_objs = ['Character'];
    var _objs = [];
    m_scs.get_all_objects('MESH').forEach(function(i){
        var name = m_scs.get_object_name(i);
        if (!excl_objs.includes(name) && name.indexOf('%meta') != 0) {
        console.log(name);
        _objs.push = i
            };    
        });
    s_vars.objs = _objs;
    };
    
});


Никак не могу "поймать мыша" - определив один раз s_vars и в нем objs нулевой длины, хочу обновить этот массив калбэк функций, приведенной выше, но в консоль ругается на s_vars, что понятно. Подскажите, как для калбэк функции определить s_vars. Начал мучать калбэк функцию такими строками, но понятно, что не заработало. m_data.load(APP_ASSETS_PATH + "AmAve_2100_rest.json", upd_objs(b4w.require("vars").objs));
16 November 2016 14:59
Там еще звук должен быть, но он работает только на хроме, на сафари, айпад и телефоне звук не загружается. Здесь что может быть? Я просто хочу использовать активную звуковую картину с сенсорами и сменой звукового окружения в зависимости от местоположения камеры.
16 November 2016 14:57
ну вот гляньте, если интересно amave.valpo.ru
16 November 2016 13:14
.name, i.type и i.bpy_origin - не стоит так брать, поэтому их можно заменить проверкам: "MESH" - параметр функции
get_all_objects, name - результат вызова m_scs.get_object_name, только с bpy_origin заминка - сейчас специального метода нет (добавим к этому релизу), поэтому можно проверить, что имя начинается не с "%meta" как у побочных объектов.


А это все потому-что самому приходится ковырять js. Не нашел исполнителя на эту, в принципе, не сложную задачу)) Ну ничего, в жизни пригодится и этот навык, учитывая современные тенденции…
16 November 2016 13:04
Я так полагаю, что заминка на этапе сбора перечня объектов. У меня есть файл, в котором я заранее собираю все переменные и там есть определение объектов. Так как load_cb вызывается после первого json, то vars не получает весь список объектов. Вместе с тем и растаскивать схожие функции по разным файлам я не хочу.
Вот думаю, если сделать отдельную функцию, которую вызвать callback после загрузки последнего json. А Вы такого рода объекты с перечнем чего-либо меняющегося динамически предусматриваете или каждый раз вызываете подбор объектов? Или делаете переменную с перечнем имен ключевых объектов, а потом их каждый раз собираете?

Ответ на сообщение пользователя Иван Любовников
А ошибки в консоли есть? Текстуры меняете после загрузки 2-го json'а?
16 November 2016 12:42
В продолжении темы: разница возникает между advanced и simple оптимизацией. Переключил на simple - заработали пути к текстурам.

При разделении на разные json для ускорения загрузки картинки текстур переключаются только для первого json. Что делать?
16 November 2016 12:42
В продолжении темы: разница возникает между advanced и simple оптимизацией. Переключил на simple - заработали пути к текстурам.

При разделении на разные json для ускорения загрузки картинки текстур переключаются только для первого json. Что делать?
16 November 2016 03:54
Какая-то прямо скажем ООЧЕНЬ большая разница между работой dev версии и build. В build часть функций вообще перестала работать, в частности все что касается object.anim_slots[N].текущие_параметры_анимации - кадры, векторы и т.д - в консоли писала, что такого объекта просто не существует.

Не работает перечень объектов по этой функции в отдельном модуле.
    var objs = [];
    var excl_objs = ['Character'];
    
    m_scs.get_all_objects().forEach(function(i){
    if (i.type == 'MESH' && i.bpy_origin && !excl_objs.includes(i.name)) {
        console.log(i.name);
        objs[objs.length] = i
        };    
    });

    exports.objs = objs;

А в консоли по билд версии такая надпись начала красоваться:
objs = b4w.scenes.get_all_objects()
VM41769:1 Uncaught TypeError: Cannot read property 'get_all_objects' of undefined(…)

Перечень объектов должен экспортироваться и участвовать в замене текстур, а по факту массив пустой, никаких ошибок в консоли даже не пишет.

Как можно получить список объектов в виде массива и чего делать с этими ограничениями билд версии?