OpenXRInteractionProfileMetadata

继承: Object

在 OpenXR 中注册受支持设备的元类。

描述

该类允许 OpenXR 核心和扩展注册与受支持的交互设备(例如控制器、跟踪器、触觉设备等)相关的元数据。它主要由动作映射编辑器使用,并在适用时通过移除依赖于扩展的条目来清理任何动作映射。

方法

void

register_interaction_profile(display_name: String, openxr_path: String, openxr_extension_names: String)

void

register_io_path(interaction_profile: String, display_name: String, toplevel_path: String, openxr_path: String, openxr_extension_names: String, action_type: ActionType)

void

register_path_rename(old_name: String, new_name: String)

void

register_profile_rename(old_name: String, new_name: String)

void

register_top_level_path(display_name: String, openxr_path: String, openxr_extension_names: String)


方法说明

void register_interaction_profile(display_name: String, openxr_path: String, openxr_extension_names: String) 🔗

Registers an interaction profile using its OpenXR designation (e.g. /interaction_profiles/khr/simple_controller is the profile for OpenXR's simple controller profile).

display_name is the description shown to the user. openxr_path is the interaction profile path being registered. openxr_extension_names optionally restricts this profile to the given extension being enabled/available. If the extension is not available, the profile and all related entries used in an action map are filtered out.


void register_io_path(interaction_profile: String, display_name: String, toplevel_path: String, openxr_path: String, openxr_extension_names: String, action_type: ActionType) 🔗

Registers an input/output path for the given interaction_profile. The profile should previously have been registered using register_interaction_profile(). display_name is the description shown to the user. toplevel_path specifies the bind path this input/output can be bound to (e.g. /user/hand/left or /user/hand/right). openxr_path is the action input/output being registered (e.g. /user/hand/left/input/aim/pose). openxr_extension_names restricts this input/output to an enabled/available extension, this doesn't need to repeat the extension on the profile but relates to overlapping extension (e.g. XR_EXT_palm_pose that introduces …/input/palm_ext/pose input paths). action_type defines the type of input or output provided by OpenXR.


void register_path_rename(old_name: String, new_name: String) 🔗

Allows for renaming old input/output paths to new paths in order to load and process older action maps.


void register_profile_rename(old_name: String, new_name: String) 🔗

Allows for renaming old interaction profile paths to new paths in order to load and process older action maps.


void register_top_level_path(display_name: String, openxr_path: String, openxr_extension_names: String) 🔗

Registers a top level path to which profiles can be bound. For instance /user/hand/left refers to the bind point for the player's left hand. Extensions can register additional top level paths, for instance a haptic vest extension might register /user/body/vest.

display_name is the name shown to the user. openxr_path is the top level path being registered. openxr_extension_names is optional and ensures the top level path is only used if the specified extension is available/enabled.

When a top level path ends up being bound by OpenXR, an XRPositionalTracker is instantiated to manage the state of the device.