Skip to content

XRApi

XRApi提供了运行时对XR的管理接口,用于控制和管理 XR(扩展现实,包含 VR/AR)系统中的各种功能模块,尤其是渲染、输入、凝视点(Gaze)、追踪(Tracking)以及姿态控制(Pose)等。

接口介绍

接口名称返回值接口作用
SetDataSourcevoid批量设置数据来源
ReplaceRenderDataSourcevoid设置渲染数据来源
ReplaceInputDataSourcevoid设置输入数据来源
SetControllerDataSourcevoid设置控制输入数据来源
SetGazeDefaultDistancevoid设置注视点默认距离
SetGazeVisiblevoid设置注视点是否可见
SetEnableNXRGazevoid设置是否开启注视点
GetGazeImageNActorPtr获取注视点图片
GetGazeDistancefloat获取注视点距离
GetTrackingStateEXRTrackingState获取设备追踪状态
SetHmdRayCastEnablevoid设置头控追踪开启
SetControllerRayCastEnablevoid设置手柄追踪开启
SetGazeColorvoid设置注视点颜色
SetGazeSizevoid设置注视点大小
SetTrackingPositionBool设置追踪位置
GetDeviceTransformTransform获取当前设备位置
LockHeadPosevoid锁定头部姿态
UnlockHeadPosevoid解锁头部姿态
RecenterHeadPosevoid重置头部姿态
RecenterControllerPosevoid重置手柄姿态
SetIgnoreSysDismissControllerNvoid设置忽略系统菜单显示时隐藏自身手柄
GetRuntimePlatformEXRRuntimePlatform获取当前运行平台
SetEnableXROverlayModevoid设置开启XR OverLay
IsEnableXROverlayModebool获取XROverLay状态
IsSupportRenderLayerbool设备是否支持RenderLayer
CreateRenderLayerXRLayerRef创建RenderLayer
DestroyRenderLayervoid销毁RenderLayer
DestroyRenderLayerAllvoid销毁所有RenderLayer
GetRenderLayerXRLayerRef获取RenderLayer
GetRenderLayerListstd::vector<XRLayerRef>获取所有RenderLayer
GetXROverlayRenderLayerXRLayerRef获取Overlay模式RenderLayer
GetViewModeXRViewMode获取视图状态
GetTargetViewportScissorByAreaXRTargetViewInfo通过位置获取目标视口
GetTargetViewportScissorByEyeXRTargetViewInfo通过标签获取目标视口
GetHmdPositionconst Vector3&获取头部位置
GetHmdRotationconst Quaternion&获取头部旋转
GetEyeRenderTargetSizeVector2i获取渲染视口尺寸
SetEnableInteractivebool设置是否开启交互
IsEnableInteractivebool获取是否支持交互
IsSupportPassThroughbool获取是否支持PassThrough
SetEnabledPassThroughbool设置是否开启PassThrough
IsEnabledPassThroughbool获取是否开启PassThrough

接口示例

获取当前XR注视点,更大大小,并且更换图片:

cpp
void NewScript1::Start()
{
    auto m_GazeActor =XRApi::GetGazeImage();
    auto imageComp = m_GazeActor->GetImageView();
    auto newTexture = NResources::LoadTextureFromFile("Assets/Textures/ceshi.png");
    imageComp->SetTexture(newTexture);
    XRApi::SetGazeSize(EXRGazeSize::XRGS_LARGE);
}