Поверните VrPanoramaView вручную на X градусов - PullRequest
0 голосов
/ 09 ноября 2018

Я сделал много 360 фотографий, и на каждой фотографии я знаю, где находится север (это всегда середина). Например: если ширина изображения 4096, то север равен 2048.

Загрузка изображения в VrPanoramaView загружает середину изображения по умолчанию. Так север на картинке, находится в середине экрана. Что приятно.

Моя цель:

  • для загрузки изображения
  • поверните его на север
  • отключить сенсорный ввод и положиться на гироскоп, чтобы держать вращение вправо

VrWidgetRenderer имеет метод панорамирования:

public void onPanningEvent(float translationPixelX, float translationPixelY) {
    if (this.nativeRenderer != 0L) {
        this.nativeOnPanningEvent(this.nativeRenderer, translationPixelX, translationPixelY);
    }    
}

Используя датчики (только датчики, без GPS), я могу получить значение азимута для севера.

Теперь я бы хотел перевести эту разницу в градусах на север, в событие панорамирования в пикселях.

translationPixelX недокументирован, поэтому я не знаю, что это такое или что происходит в nativeOnPanningEvent.

Если я назову его со значением translationPixelX 1, или 4096, или 1080 (ширина экрана), оно не будет работать так, как мне кажется.

  • 4096 (ширина изображения) не поворачивается на 360 градусов. Это меньше.
  • 1080 (ширина экрана) не поворачивается на 90 градусов. Это меньше.

С каким значением я должен вызывать onPanningEvent для поворота на 360 градусов?

...