Тестирование на попадание в WebXR: поддерживается только тестирование на попадание в модель головы - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь внедрить тестирование на попадание в моем приложении webXR.В функции onSessionStarted я устанавливаю систему координат, но я вынужден делать это в «модели головы».Когда я пытаюсь установить его на уровне глаз, я получаю эту ошибку:

Необработанный отказ от обещания: поддерживается только проверка попадания модели головы

Это моеФункция onSessionStarted:

onSessionStarted = async () => {
    this.setState({ isARSessionStarted: true, arMessage: 'session started' });
    this.renderer = new THREE.WebGLRenderer({
        alpha: true,
        preserveDrawingBuffer: true,
    });
    this.scene = new THREE.Scene();

    this.renderer.autoClear = false;
    this.renderer.shadowMap.enabled = true;
    this.renderer.shadowMap.type = THREE.PCFSoftShadowMap;
this.gl = this.renderer.getContext();

await this.gl.setCompatibleXRDevice(this.session.device);
this.session.baseLayer = new window.XRWebGLLayer(this.session, this.gl);

const framebuffer = this.session.baseLayer.framebuffer;
this.renderer.setFramebuffer(framebuffer);       

 // this.camera.matrixAutoUpdate = false;
//  this.camera.position.z = 100;
this.camera = new THREE.PerspectiveCamera();


this.frameOfRef = await this.session.requestFrameOfReference('head-model');
this.session.requestAnimationFrame(this.onXRFrame);

};

Так что поведение моего приложения странное.Когда я хочу добавить объект на поверхность, он вместо этого «прилипает к дисплею» и перемещается вместе с камерой.Это вызвано «моделью головы»?Есть ли способ это исправить?Я нахожусь на iOS в браузере XRViewer.

Спасибо!

...