4

我想尝试使用 webxr 并设置了一个打字稿项目。根据WebXR

我应该执行以下操作:

const supported = await navigator.xr.isSessionSupported('immersive-vr');

我的打字稿设置navigator.xr显示为错误。 在此处输入图像描述 在此处输入图像描述

我想知道如何为webxr. 我的tsconfig样子是这样的:

{
    "compilerOptions": {
        "outDir": "./dist/",
        "noImplicitAny": true,
        "module": "esNext",
        "target": "es6",
        "allowJs": true,
        "moduleResolution": "node"
    },
    "exclude": [
        "./node_modules"
    ],
}
4

2 回答 2

6

您需要为 WebXR添加定义,例如这些。像运行:npm install --save-dev @types/webxr然后导入类型:

import type { Navigator } from 'webxr';

有关的:

于 2021-01-18T09:21:24.193 回答
3

在命令行中为webxrwith安装类型。npm i -D @types/webxr

然后在你的ts文件中导入XRSystem import type { XRSystem } from 'webxr';(注意type导入中的单词)。

然后调用 xr :

const xr = (navigator as any)?.xr as XRSystem;
xr.requestSession('immersive-vr', {optionalFeatures: ['hand-tracking']})
于 2021-07-17T19:55:10.040 回答