Форум

Видео: Смартфон+Gamepad+Blend4Web

19 апреля 2016 11:22 #8934
Управление с gamepad в приложении Blend4Web
https://www.youtube.com/watch?v=3Gptsj9x2_E
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
19 апреля 2016 11:57 #8936
Классно! А живого примера не найдётся? Хочу сам попробовать погонять на геймпаде
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
19 апреля 2016 18:51 #8944
Круто. Этого как раз не хватало мне.
Надеюсь на простую настройку Gamepad-а или небольшой пример.
19 апреля 2016 23:57 #8950
Повторил https://youtu.be/orWjnTWgZB8

Код такой:
function load_cb(data_id) {
    m_app.enable_controls();
    m_app.enable_camera_controls();

    // place your code here
    _obj = m_scs.get_object_by_name('Cube');

    m_main.append_loop_cb(set_pos_obj);

}

function set_pos_obj(){
    var gamepad = navigator.getGamepads();
    _x_anim += gamepad[0].axes[0].toFixed(2)/10;
    _y_anim += gamepad[0].axes[1].toFixed(2)/10;
    m_trans.set_translation(_obj, _x_anim, 0, _y_anim);
}

Хотя это вообще не правильно, так как без подключённого геймпада поползут ошибки и скорость перемещения объекта зависит от FPS . Но работает.
Я думаю в следующей версии уже будет поддержка геймпадов
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
20 апреля 2016 09:53 #8953

скорость перемещения объекта зависит от FPS

Да, этот девайс синхронный. Для избежания подобного поведения умножайте перемещение на время межкадровой задержки. Его можно получить создав обычный ellapsed сенсор или использовать из модуля main функцию append_loop_cb, куда передается callback, вызываемый каждый кадр. Вторым параметром в callback будет передаваться межкадровая задержка
Разработчик Blend4Web
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.