* Как? Вращение источника света типа SPOT вокруг объекта в сцене с данными от гироскопа (как гиро-камера)?
27 июля 2016 01:34
пробую реализовать привязку к гиро и етсь вопросы:
что то не пойму , а что будет ДОМ элементом ?
т.к. - "TypeError: m_input.get_device_by_type is not a function"
АПИ : "get_device_by_type_element(type, element)"
_____________________________
а вот тут может етсь где пример использования с углами?
а чточто то не пойму сразу как подобраться к резульатту ((
Думаю, что вы можете воспользоваться модулем input и transform для своих целей.
// получаем объект, соответствующий гироскопу
var gyro_device = m_input.get_device_by_type(m_input.DEVICE_GYRO)
что то не пойму , а что будет ДОМ элементом ?
т.к. - "TypeError: m_input.get_device_by_type is not a function"
АПИ : "get_device_by_type_element(type, element)"
_____________________________
можно ещё m_input.GYRO_ORIENTATION_QUAT заменить на m_input.GYRO_ORIENTATION_ANGLES, тогда в обработчик будут приходить эйлеровские углы, смотря, что удобнее
а вот тут может етсь где пример использования с углами?
а чточто то не пойму сразу как подобраться к резульатту ((
Денис
27 июля 2016 10:45
что то не пойму , а что будет ДОМ элементом ?да, get_device_by_type - опечатка, должно быть get_device_by_type_element;
т.к. - "TypeError: m_input.get_device_by_type is not a function"
АПИ : "get_device_by_type_element(type, element)"
вообще, это элемент, на котором должны отслеживаться события, для гироскопа это не актуально, поэтому не нужно ничего подавать; в документации, правда, это не отражено - поправим
а вот тут может етсь где пример использования с углами?код будет такой:
а чточто то не пойму сразу как подобраться к резульатту ((
var gyro_device = m_input.get_device_by_type_element(m_input.DEVICE_GYRO);
m_input.attach_param_cb(gyro_device, m_input.GYRO_ORIENTATION_ANGLES, function(angles) {
var alpha = angles[0];
var beta = angles[1];
var gamma = angles[2];
})
углы альфа, бета, гамма из стандарта:
DeviceOrientation Event Specification
27 июля 2016 12:16
Ответ на сообщение пользователя Иван Любовников
…..
код будет такой:var gyro_device = m_input.get_device_by_type_element(m_input.DEVICE_GYRO);
m_input.attach_param_cb(gyro_device, m_input.GYRO_ORIENTATION_ANGLES, function(angles) {
var alpha = angles[0];
var beta = angles[1];
var gamma = angles[2];
})
…………….
спасибо большое, сегодня попробую добить нужно еше придумать математику как вычислить координаты положения истоника на полусфере перемещения вокруг объекта..
Денис
28 июля 2016 18:15
пробую, но пока безрезультатно вроде как не заходит в процедуру почему то… может быть так, что такое событие не поддерживается?
код засунут в load_cb()
без b4w я прямо стучался туда так и все работало :
window.addEventListener("devicemotion", function(e) {
deviceMotionCallbackHandler(e);
}, true);
function deviceMotionCallbackHandler(e) {
signX=-Math.round(e.accelerationIncludingGravity.x);
signY=Math.round(e.accelerationIncludingGravity.y);
signAngleNew=get_angle({x:0,y:0},{x:signX,y:signY});
}
код засунут в load_cb()
m_input.attach_param_cb(gyro_device, m_input.GYRO_ORIENTATION_ANGLES, function(angles) {
var alpha = angles[0]; //X
var beta = angles[1]; //Y
var gamma = angles[2]; //Z
без b4w я прямо стучался туда так и все работало :
window.addEventListener("devicemotion", function(e) {
deviceMotionCallbackHandler(e);
}, true);
function deviceMotionCallbackHandler(e) {
signX=-Math.round(e.accelerationIncludingGravity.x);
signY=Math.round(e.accelerationIncludingGravity.y);
signAngleNew=get_angle({x:0,y:0},{x:signX,y:signY});
}
Денис
29 июля 2016 18:29
пробую, но пока безрезультатно вроде как не заходит в процедуру почему то… может быть так, что такое событие не поддерживается?проблема, определенно, в той ошибке
29 июля 2016 20:16
Ответ на сообщение пользователя Иван Любовников
проблема, определенно, в той ошибке
да я как раз приделываю пока свой старый метод из тизена прямой доступ к гироскопу
посомтрю если исчезнет ошибка то ок.
т.к. 1й вообще не срабатывал
Денис