论坛

由用户创建的信息 Roman_Sementsov
29 April 2016 15:22
Это моя ошибка, копипастнул вам из одного проекта код и недосмотрел. Приношу извинения
function set_quality_config() {
    var quality = m_storage.get("quality");
    switch (quality) {
    case "ULTRA":
        var qual = m_cfg.P_ULTRA;
        break;
    case "HIGH":
        var qual = m_cfg.P_HIGH;
        break;
    case "LOW":
        var qual = m_cfg.P_LOW;
        break;
    case "CUSTOM":
        var qual = m_cfg.P_CUSTOM;
        break;
   default:
       var qual = m_cfg.P_ULTRA;
       break;
    }
    m_cfg.set("quality", qual);
}


Надо удалить
 if (!quality)
        return;
29 April 2016 14:35
Забыл уточнить, добавили перезагрузку страницы по нажатию на интерфейсную кнопку после выставления качества? Кстати, если вы используете SDK, то там в разделе /app_dev/ лежат исходные коды приложений
29 April 2016 14:29
Модифицируйте функцию выставления качества следующим образом, чтобы посмотреть, что передаётся внутрь:
function set_quality_config() {
    var quality = m_storage.get("quality");

    if (!quality)
        return;

    switch (quality) {
    case "ULTRA":
        var qual = m_cfg.P_ULTRA;
        break;
    case "HIGH":
        var qual = m_cfg.P_HIGH;
        break;
    case "LOW":
        var qual = m_cfg.P_LOW;
        break;
    case "CUSTOM":
        var qual = m_cfg.P_CUSTOM;
        break;
   default:
       var qual = m_cfg.P_ULTRA;
       break;
    }
    console.log("!!!!!!!!!!!", qual)
    m_cfg.set("quality", qual);
}


В консоль браузера будет выведено значение, проверьте его. Они равны следующим значениям:
exports.P_LOW    = 1;  // maximize performance
exports.P_HIGH   = 2;  // use all requested features
exports.P_ULTRA  = 3;  // use all requested features and maximize quality
exports.P_CUSTOM = 4;  // use exports.defaults
29 April 2016 13:53

Факир был пьян, фокус не удался. Что-то мне кажется где-то я чего-то упускаю.

А что не так? Что именно не получается? Если что-то ломается, попробуйте открыть консоль браузера (обычно вызывается нажитием на F12) и посмотреть что он сообщает
29 April 2016 10:09

Добрый день.

Добрый день.

Если вы изменили профиль качества, вам потребуется перезагрузка приложения. Так вот. Допустим, у вас есть два HTML-элемента в DOM-дереве, каждый из которых изменяет профиль качества. Я бы применил следующую схему:
var m_storage  = require("storage");

exports.init = function() {
    set_quality_config();
    m_app.init({
        canvas_container_id: "main_canvas_container",
        callback: init_cb,
        autoresize: true,
        physics_enabled: false
    });
}

/**
 * callback executed when the app is initialized 
 */
function init_cb(canvas_elem, success) {

    if (!success) {
        console.log("b4w init failure");
        return;
    }

    load();
}

/**
 * load the scene data
 */
function load() {
    m_data.load(APP_ASSETS_PATH + "example.json", load_cb);
}

/**
 * callback executed when the scene is loaded
 */
function load_cb(data_id, success) {

    if (!success) {
        console.log("b4w load failure");
        return;
    }
    init_interface();
    m_app.enable_camera_controls();

}

function set_quality_config() {
    var quality = m_storage.get("quality");

    if (!quality)
        return;

    switch (quality) {
    case "ULTRA":
        var qual = m_cfg.P_ULTRA;
        break;
    case "HIGH":
        var qual = m_cfg.P_HIGH;
        break;
    case "LOW":
        var qual = m_cfg.P_LOW;
        break;
    case "CUSTOM":
        var qual = m_cfg.P_CUSTOM;
        break;
   default:
       var qual = m_cfg.P_LOW;
       break;
    }

    m_cfg.set("quality", qual);
}

function init_interface() {
    var set_low_q_btn = document.getElementById("low_q_button");
    var set_ultra_q_btn = document.getElementById("ultra_q_button");

    set_low_q_btn.onclick = function() {
        m_storage.set("quality", "LOW");
        window.location.reload(); // reload page
    }
    set_ultra_q_btn.onclick = function() {
        m_storage.set("quality", "ULTRA");
        window.location.reload(); // reload page
    }
}
28 April 2016 18:44
Hello and welcome to the forum.

If I just put two different m_anim.play(obj) functions one after another they will play in same time. Even with m_anim.play(obj, finish_callback, slot) its seems to call that finish_callback() funktion right in start (not in the end like I assumed).

It's a strange behavior. Could you show me your code? It should look like this:
var obj1 = m_scenes.get_object_by_name("Obj1");
var obj2 = m_scenes.get_object_by_name("Obj2");

m_anim.apply(obj1, "action1");
m_anim.apply(obj2, "action2");

m_anim.set_behavior(obj1, m_anim.AB_FINISH_STOP);
m_anim.set_behavior(obj2, m_anim.AB_FINISH_STOP);

m_anim.play(obj1, function() {m_anim.play(obj2)})
28 April 2016 15:55
Hello.

I noticed, that you write your own application. You can disable zooming using m_app.enable_camera_controls. Please, take a look at the third parameter.
28 April 2016 15:50

HI! It will be compatible with cardboard?

Hello.
Yes, the engine allows us to use these devices. We have append new interface button in Webplayer to enable the split screen mode. It works on mobile devices.
26 April 2016 14:13
А вам приглянулись некоторые модели? Многие из них доступны в нашем SDK. Если это вам интересно, .blend-файлы лежат в разделе /blender
26 April 2016 14:12

А, ну тоесть в ХТМЛ экспортировать можно, а выдрать из ХТМЛ-кода в OBJ нельзя. Так?

Да, обратной совместимости нету. Т.е. нельзя