A 帧退出 vr 模式功能
A-frame exit vr mode on function
我想知道如何使用 A 帧 (https://aframe.io) 让用户退出 vr 模式 如果他们在调用函数时处于 vr 模式myFunction()
发生。只是为了澄清。当调用 myFunction()
的函数发生时,如果用户不在 vr 模式,我们不会有任何效果,但如果用户在 vr 模式,他们将从 vr 模式退出。如何做到这一点?
假设您有对渲染器的引用,您应该能够执行以下操作:
async function exitXR( renderer ) {
const session = renderer.xr.getSession();
if ( session !== null ) {
await session.end();
// execute optional code after WebXR shutdown
}
}
这段代码对我有用,
import {useThree} from "@react-three/fiber";
const ABC = ({ x, y, x}) => {
const { gl } = useThree();
const exitXR = async (gl) => {
const session = gl.xr.getSession();
if ( session !== null ) {
await session.end();
}
}
return (
<group>
<Html>
<div onClick={()=>exitXR(gl)}> EXIT </div>
</Html>
</group>
)
}
在 A-Frame 中,您可以检测用户是否在虚拟现实中:
sceneEl.is('vr-mode')
https://aframe.io/docs/1.3.0/core/scene.html#states
然后使用 exitVR() 方法退出 vr :
sceneEl.exitVR()
https://aframe.io/docs/1.3.0/core/scene.html#methods
您可以通过以下方式获取 sceneEl:
const sceneEl = document.querySelector('a-scene');
总之,只要做:
const sceneEl = document.querySelector('a-scene');
if (sceneEl.is('vr-mode')) sceneEl.exitVR();
我想知道如何使用 A 帧 (https://aframe.io) 让用户退出 vr 模式 如果他们在调用函数时处于 vr 模式myFunction()
发生。只是为了澄清。当调用 myFunction()
的函数发生时,如果用户不在 vr 模式,我们不会有任何效果,但如果用户在 vr 模式,他们将从 vr 模式退出。如何做到这一点?
假设您有对渲染器的引用,您应该能够执行以下操作:
async function exitXR( renderer ) {
const session = renderer.xr.getSession();
if ( session !== null ) {
await session.end();
// execute optional code after WebXR shutdown
}
}
这段代码对我有用,
import {useThree} from "@react-three/fiber";
const ABC = ({ x, y, x}) => {
const { gl } = useThree();
const exitXR = async (gl) => {
const session = gl.xr.getSession();
if ( session !== null ) {
await session.end();
}
}
return (
<group>
<Html>
<div onClick={()=>exitXR(gl)}> EXIT </div>
</Html>
</group>
)
}
在 A-Frame 中,您可以检测用户是否在虚拟现实中:
sceneEl.is('vr-mode')
https://aframe.io/docs/1.3.0/core/scene.html#states
然后使用 exitVR() 方法退出 vr :
sceneEl.exitVR()
https://aframe.io/docs/1.3.0/core/scene.html#methods
您可以通过以下方式获取 sceneEl:
const sceneEl = document.querySelector('a-scene');
总之,只要做:
const sceneEl = document.querySelector('a-scene');
if (sceneEl.is('vr-mode')) sceneEl.exitVR();