XRInterfaceExtension

继承: XRInterface < RefCounted < Object

XR接口扩展(插件)的基类。

描述

外部XR接口插件应该继承自此类。

方法

void

_end_frame() virtual

bool

_get_anchor_detection_is_enabled() virtual const

int

_get_camera_feed_id() virtual const

Transform3D

_get_camera_transform() virtual

int

_get_capabilities() virtual const

RID

_get_color_texture() virtual

RID

_get_depth_texture() virtual

StringName

_get_name() virtual const

PackedVector3Array

_get_play_area() virtual const

PlayAreaMode

_get_play_area_mode() virtual const

PackedFloat64Array

_get_projection_for_view(view: int, aspect: float, z_near: float, z_far: float) virtual

Vector2

_get_render_target_size() virtual

PackedStringArray

_get_suggested_pose_names(tracker_name: StringName) virtual const

PackedStringArray

_get_suggested_tracker_names() virtual const

Dictionary

_get_system_info() virtual const

TrackingStatus

_get_tracking_status() virtual const

Transform3D

_get_transform_for_view(view: int, cam_transform: Transform3D) virtual

RID

_get_velocity_texture() virtual

int

_get_view_count() virtual

RID

_get_vrs_texture() virtual

bool

_initialize() virtual

bool

_is_initialized() virtual const

void

_post_draw_viewport(render_target: RID, screen_rect: Rect2) virtual

bool

_pre_draw_viewport(render_target: RID) virtual

void

_pre_render() virtual

void

_process() virtual

void

_set_anchor_detection_is_enabled(enabled: bool) virtual

bool

_set_play_area_mode(mode: PlayAreaMode) virtual const

bool

_supports_play_area_mode(mode: PlayAreaMode) virtual const

void

_trigger_haptic_pulse(action_name: String, tracker_name: StringName, frequency: float, amplitude: float, duration_sec: float, delay_sec: float) virtual

void

_uninitialize() virtual

void

add_blit(render_target: RID, src_rect: Rect2, dst_rect: Rect2i, use_layer: bool, layer: int, apply_lens_distortion: bool, eye_center: Vector2, k1: float, k2: float, upscale: float, aspect_ratio: float)

RID

get_color_texture()

RID

get_depth_texture()

RID

get_render_target_texture(render_target: RID)

RID

get_velocity_texture()


方法说明

void _end_frame() virtual 🔗

如果接口处于活动状态并且已提交队列,则调用。


bool _get_anchor_detection_is_enabled() virtual const 🔗

如果为此接口启用了锚检测,则返回true


int _get_camera_feed_id() virtual const 🔗

返回向CameraFeed注册的CameraServer的摄像机源ID,该ID应作为支持AR的设备(如果适用)上的背景呈现。


Transform3D _get_camera_transform() virtual 🔗

返回在世界中定位Transform3DTransform3D


int _get_capabilities() virtual const 🔗

返回此接口的功能。


RID _get_color_texture() virtual 🔗

返回要渲染的颜色纹理(如果适用)。


RID _get_depth_texture() virtual 🔗

返回要渲染的深度纹理(如果适用)。


StringName _get_name() virtual const 🔗

返回此接口的名称。


PackedVector3Array _get_play_area() virtual const 🔗

返回表示游戏区域边界的PackedVector3Array(如果适用)。


PlayAreaMode _get_play_area_mode() virtual const 🔗

返回设置游戏区域的游戏区域模式。


PackedFloat64Array _get_projection_for_view(view: int, aspect: float, z_near: float, z_far: float) virtual 🔗

PackedFloat64Array的形式返回给定视图的投影矩阵。


Vector2 _get_render_target_size() virtual 🔗

返回此界面的渲染目标的大小,这会覆盖标记为xr视口的Viewport的大小。


PackedStringArray _get_suggested_pose_names(tracker_name: StringName) virtual const 🔗

返回带有此接口配置的姿势名称的PackedStringArray。请注意,用户配置可以覆盖此列表。


PackedStringArray _get_suggested_tracker_names() virtual const 🔗

返回带有此接口配置的跟踪器名称的PackedStringArray。请注意,用户配置可以覆盖此列表。


Dictionary _get_system_info() virtual const 🔗

返回包含与此接口相关的系统信息的Dictionary


TrackingStatus _get_tracking_status() virtual const 🔗

返回一个TrackingStatus,指定我们跟踪的当前状态。


Transform3D _get_transform_for_view(view: int, cam_transform: Transform3D) virtual 🔗

返回给定视图的Transform3D


RID _get_velocity_texture() virtual 🔗

返回要渲染的速度纹理(如果适用)。


int _get_view_count() virtual 🔗

返回此界面所需的视图数,1表示单声道,2表示立体。


RID _get_vrs_texture() virtual 🔗


bool _initialize() virtual 🔗

初始化接口,成功时返回true


bool _is_initialized() virtual const 🔗

如果此接口已初始化,则返回true


void _post_draw_viewport(render_target: RID, screen_rect: Rect2) virtual 🔗

在XRViewport绘制逻辑完成后调用。


bool _pre_draw_viewport(render_target: RID) virtual 🔗

如果这是我们开始处理每个活动XRViewportViewport之前的主要XRInterfaceExtension,则调用,如果该视口应该呈现,则返回true。如果用户摘下耳机并且我们可以暂停渲染,XR界面可能会返回false


void _pre_render() virtual 🔗

如果此XRInterfaceExtension在渲染开始前处于活动状态,则调用。大多数XR接口将在此时同步跟踪。


void _process() virtual 🔗

如果此XRInterfaceExtension在我们的物理和应用进程调用之前处于活动状态,则调用。大多数XR接口将在此时更新其XRPositionalTracker


void _set_anchor_detection_is_enabled(enabled: bool) virtual 🔗

如果支持,在此接口上启用锚点检测。


bool _set_play_area_mode(mode: PlayAreaMode) virtual const 🔗

设置此界面的游戏区域模式。


bool _supports_play_area_mode(mode: PlayAreaMode) virtual const 🔗

如果此界面支持此游戏区域模式,则返回true


void _trigger_haptic_pulse(action_name: String, tracker_name: StringName, frequency: float, amplitude: float, duration_sec: float, delay_sec: float) virtual 🔗

触发要在指定跟踪器上发出的触觉脉冲。


void _uninitialize() virtual 🔗

取消初始化接口。


void add_blit(render_target: RID, src_rect: Rect2, dst_rect: Rect2i, use_layer: bool, layer: int, apply_lens_distortion: bool, eye_center: Vector2, k1: float, k2: float, upscale: float, aspect_ratio: float) 🔗

将我们的渲染结果混合到屏幕上,可选地应用镜头失真。这只能在处理_commit_views时调用。


RID get_color_texture() 🔗


RID get_depth_texture() 🔗


RID get_render_target_texture(render_target: RID) 🔗

返回纹理的有效RID,如果接口支持,我们应该向其呈现当前帧。


RID get_velocity_texture() 🔗