Вопрос - ответ

02 февраля 2016 11:00
Здравствуйте!
Давайте просто переименуем вехнюю load_cb в load, она как раз и грузит .json с настройками сцены. Будет выглядеть примерно так:
Поправила, все так-же не грузит.


Я в процессе отладки приложения использую консоль браузера. В самом обычном случае ее можно вызвать, назав F12
Мозиле не понравились только стили, которые я прописала под разные браузеры, с -webkit- и т.д.
02 февраля 2016 11:09
CSS проверим после того, как увидим трёхмерную сцену.
У меня в css ничего к геометрии не относится, кроме этого:

#contactFrameWrap {
height: 60%;
width: 50%;
position: absolute;
z-index: 1;
margin-top: 10%;
margin-left: 25%;
border-radius: 0 60%;
-webkit-border-radius: 0 60%;
-moz-border-radius: 0 60%;
}


2 сцены делала, одна с нод логикой, вторая просто selectable (даже выкладывать стыдно, 5тиминутка из сферок )
contact.rar
contactMenu.rar
02 февраля 2016 14:10
Вам надо было написать свой .html-файл, а у вас там лежал файл из HTML-экспорта. При HTML-экспорте получается самодостаточный html-файл, который является не связан с JSON-экспортом.
Я написал файл и чуть поправил скрипты.
Просто разарзивируйте этот архив, и запустите html-файл

02 февраля 2016 21:17

Вам надо было написать свой .html-файл, а у вас там лежал файл из HTML-экспорта. При HTML-экспорте получается самодостаточный html-файл, который является не связан с JSON-экспортом.
Поняла свою ошибку!
Большое, человеческое, Вам, СПАСИБО!
05 февраля 2016 13:00
Добрый день!
Посмотрел документацию
Быстрое создание приложений:
1. Экспортировл дефолтную сцену с кубиком из blendera в json
2. В той же директории создал html по примеру в документации
3. Стартую. Вроде js отрабатывает, но на выходе в браузере пустая страница.
Где кубик?
На всякий случай пример в прицепе.
05 февраля 2016 13:14
Добрый день.


Где кубик?

Модифицировал ваш html - файл.
<!DOCTYPE html>
<html>
<head>
<script src="b4w.min.js"></script>
<script>
function start_3d() {

    var m_app = b4w.require("app");
    var m_data = b4w.require("data");

    m_app.init({
        canvas_container_id: "container_id",
        physics_enabled: false,
        callback: load_cb
    })

    function load_cb() {
        m_data.load("some_scene.json", loaded_cb);
    }

    function loaded_cb() {
        m_app.enable_controls();
        m_app.enable_camera_controls();
    }
}

document.addEventListener("DOMContentLoaded", function(){
    start_3d()}, false);

</script>
</head>

<body>
    <div id="container_id" style="width: 500px; height: 300px;"></div>
</body>

</html>

Надо было указать
physics_enabled: false,
чтобы движок не пытался грузить физику
05 февраля 2016 13:53
Модифицировал ваш html - файл.
Спасибо, Роман. Еще интересно, возможно ли как-то самому понимать что не так?
Может есть какой-то режим при котором пишется лог или в целом какая-то методика?
Или как-то смотреть в отладчике браузера, используя не сжатую библиотеку b4w?
Или почему бы не выводить соответствующий эксепшн?
То есть на примере данной ситуации, как можно было понять/догадаться, что надо было выставить значение этого свойства или вообще в чем проблема?
05 февраля 2016 13:57
Ну я открыл консоль на F12 и увидел, что не получилось загрузить физику (uranium.js). Не нашёл её среди файлов, не нашел её использование в коде и понял, что она не нужна. Далее отключил её в конфигах
05 февраля 2016 14:15
Ну я открыл консоль на F12 и увидел, что не получилось загрузить физику (uranium.js).
Спасибо. Тоже посмотрел по F12, в консоли пишет:
XMLHttpRequest cannot load file:///D:/Blender/test/some_scene.json?t=22122015200224. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.p @ b4w.min.js:489
b4w.min.js:324 B4W ERROR: empty responce when trying to get some_scene.json?t=22122015200224d @ b4w.min.js:324
b4w.min.js:324 B4W ERROR: No active scened @ b4w.min.js:324
b4w.min.js:324 B4W ERROR: get_move_style(): Wrong camera objectd @ b4w.min.js:324
b4w.min.js:324 B4W ERROR: get_velocities(): Wrong camera objectd @ b4w.min.js:324
b4w.min.js:507 Uncaught TypeError: Cannot read property 'shift' of null
Про uranium вроде ничего.
Или некое свойство shift как раз и есть в этом модуле?
(Если да, то как это понять, т.к. в документации по API не нашел возможности отыскать что за свойство shift,
зашел непосредственно в physics, там тоже про shift ничего) Или неправильно смотрю? Наверно тупые вопросы, но просто охота понять, чтобы впредь не дергать по таким мелочам.
05 февраля 2016 14:20
Эм. У вас браузер думает, что вы делаете кроссдоменный запрос, когда грузите сцену.

XMLHttpRequest cannot load file:///D:/Blender/test/some_scene.json?t=22122015200224. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.p @

Вы держите .json сцены и ваше приложение на разных разделах?

У вас проблема в том, что json не загрузился. Отсюда пошли-поехали все следующие ошибки
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.