由用户创建的信息 stilist
16 November 2016 15:41
16 November 2016 15:39
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 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. А Вы такого рода объекты с перечнем чего-либо меняющегося динамически предусматриваете или каждый раз вызываете подбор объектов? Или делаете переменную с перечнем имен ключевых объектов, а потом их каждый раз собираете?
Вот думаю, если сделать отдельную функцию, которую вызвать callback после загрузки последнего json. А Вы такого рода объекты с перечнем чего-либо меняющегося динамически предусматриваете или каждый раз вызываете подбор объектов? Или делаете переменную с перечнем имен ключевых объектов, а потом их каждый раз собираете?
Ответ на сообщение пользователя Иван Любовников
А ошибки в консоли есть? Текстуры меняете после загрузки 2-го json'а?
16 November 2016 12:42
16 November 2016 12:42
16 November 2016 03:54
Какая-то прямо скажем ООЧЕНЬ большая разница между работой dev версии и build. В build часть функций вообще перестала работать, в частности все что касается object.anim_slots[N].текущие_параметры_анимации - кадры, векторы и т.д - в консоли писала, что такого объекта просто не существует.
Не работает перечень объектов по этой функции в отдельном модуле.
А в консоли по билд версии такая надпись начала красоваться:
objs = b4w.scenes.get_all_objects()
VM41769:1 Uncaught TypeError: Cannot read property 'get_all_objects' of undefined(…)
Перечень объектов должен экспортироваться и участвовать в замене текстур, а по факту массив пустой, никаких ошибок в консоли даже не пишет.
Как можно получить список объектов в виде массива и чего делать с этими ограничениями билд версии?
Не работает перечень объектов по этой функции в отдельном модуле.
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(…)
Перечень объектов должен экспортироваться и участвовать в замене текстур, а по факту массив пустой, никаких ошибок в консоли даже не пишет.
Как можно получить список объектов в виде массива и чего делать с этими ограничениями билд версии?