Тестирование на попадание в WebXR: поддерживается только тестирование на попадание в модель головы
Я пытаюсь внедрить в свое приложение 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.
Спасибо!