XRInterfaceExtension
继承: XRInterface < RefCounted < Object
XR 接口扩展(插件)的基类。
描述
外部 XR 接口插件应继承自这个类。
教程
方法
void | _end_frame() virtual |
_get_anchor_detection_is_enabled() virtual const | |
_get_camera_feed_id() virtual const | |
_get_camera_transform() virtual | |
_get_capabilities() virtual const | |
_get_color_texture() virtual | |
_get_depth_texture() virtual | |
_get_name() virtual const | |
_get_play_area() virtual const | |
_get_play_area_mode() virtual const | |
_get_projection_for_view(view: int, aspect: float, z_near: float, z_far: float) virtual | |
_get_render_target_size() virtual | |
_get_suggested_pose_names(tracker_name: StringName) virtual const | |
_get_suggested_tracker_names() virtual const | |
_get_system_info() virtual const | |
_get_tracking_status() virtual const | |
_get_transform_for_view(view: int, cam_transform: Transform3D) virtual | |
_get_velocity_texture() virtual | |
_get_view_count() virtual | |
_get_vrs_texture() virtual | |
_initialize() virtual | |
_is_initialized() virtual const | |
void | _post_draw_viewport(render_target: RID, screen_rect: Rect2) virtual |
_pre_draw_viewport(render_target: RID) virtual | |
void | _pre_render() virtual |
void | _process() virtual |
void | _set_anchor_detection_is_enabled(enabled: bool) virtual |
_set_play_area_mode(mode: PlayAreaMode) virtual const | |
_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) |
get_render_target_texture(render_target: RID) | |
方法说明
void _end_frame() virtual 🔗
如果该接口处于活动状态,并且已提交队列,则调用此方法。
bool _get_anchor_detection_is_enabled() virtual const 🔗
如果此接口启用了锚点检测,则返回 true
。
int _get_camera_feed_id() virtual const 🔗
返回在 CameraServer 上注册的 CameraFeed 的相机源 ID,该 ID 应在支持 AR 的设备(如果适用)上显示为背景。
Transform3D _get_camera_transform() virtual 🔗
返回将 XRCamera3D 放置在世界中的 Transform3D。
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 🔗
该方法目前没有描述,请帮我们贡献一个吧!
初始化该接口,成功时返回 true
。
bool _is_initialized() virtual const 🔗
如果这个接口已初始化,则返回 true
。
void _post_draw_viewport(render_target: RID, screen_rect: Rect2) virtual 🔗
在 XR Viewport 绘制逻辑完成后调用。
bool _pre_draw_viewport(render_target: RID) virtual 🔗
如果这是我们的主要 XRInterfaceExtension,则在我们开始为每个活动的 XR Viewport 处理 Viewport 之前调用,如果该视口应该被渲染,则返回 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_render_target_texture(render_target: RID) 🔗
如果接口支持,则返回一个纹理的有效 RID,我们应更将当前帧渲染至该纹理。
该方法目前没有描述,请帮我们贡献一个吧!