reckfellENGINE

OpenXRAction

Имя, тип и устройства одного действия OpenXR.

На этой странице
class OpenXRActionReckfellSharpНаследует Resource

OpenXRAction описывает действие, например select или move, а не текущее нажатие. ResourceName — внутренний ключ; LocalizedName — подпись. Новый ресурс имеет ActionType=Float, пустые подпись и ToplevelPaths. Подготовьте параметры, добавьте ресурс в набор и свяжите его с отдельными BindingPath профиля.

ToplevelPaths содержит пути устройств, например /user/hand/left и /user/hand/right. Это не пути кнопок. Для одной логической команды обеих рук используется один ресурс действия и две привязки. C# string[] здесь копируется: изменение входного массива или getter-результата не меняет ресурс. Для обновления назначьте массив обратно. Перегрузка ReadOnlySpan также копирует данные в native-ресурс.

Именованные типы текущего SDK: Bool, Float, Vector2, Pose. В native-коде и редакторе есть Haptic, но именованного ActionTypeEnum.Haptic в установленном SDK нет. Не используйте несуществующий член или числовую подстановку.

Все три setter испускают Changed даже при повторе значения. Это сигнал редактирования ресурса, а не событие ввода. Изменение ресурса не перестраивает действие подключённого XR-сеанса. Добавление одного экземпляра во второй набор переносит его из первого.

Проверены начальные значения, setter, события, обе перегрузки путей, копирование и сохранение карты с привязками в текущем runtime. Получение ввода от устройства, pose tracking, haptics и runtime-валидация путей не проверялись. Полный пример и диагностика: карта действий.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

OpenXRActionКонструктор
# OpenXRAction
C#
public OpenXRAction();

Создаёт действие типа Float с пустыми LocalizedName и ToplevelPaths. Назначьте ResourceName, подпись, нужный тип и устройства, затем добавьте действие в набор.

Свойства3

ActionTypeСвойство
# ActionType
C#
public OpenXRAction.ActionTypeEnum ActionType { get; set; }

Тип значения действия, изначально Float. Именованные значения текущего C# SDK: Bool, Float, Vector2, Pose. Native-код и редактор также имеют Haptic, но именованный член Haptic в этом SDK отсутствует. Setter испускает Changed даже при повторе и не меняет тип уже созданного runtime-действия. Не используйте числовой cast как замену отсутствующему API.

LocalizedNameСвойство
# LocalizedName
C#
public string LocalizedName { get; set; }

Человекочитаемая подпись, изначально пустая. Внутренний ключ хранится отдельно в ResourceName. Setter сохраняет строку и испускает Changed даже при повторе; сам не выполняет полную проверку требований OpenXR. Перед подключением к сеансу задайте непустую уникальную подпись в нужной области имён. Изменение ресурса не переименовывает уже созданный runtime action/set.

ToplevelPathsСвойство
# ToplevelPaths
C#
public string[] ToplevelPaths { get; set; }

Top-level пути устройств для действия, изначально пустой массив; например /user/hand/left и /user/hand/right. Это не полные пути кнопок и не имена tracker left_hand/right_hand. C# массив копируется при передаче и чтении; ReadOnlySpan также передаёт копию native-данных. Setter испускает Changed даже при повторе. Проверку допустимости путей выполняйте до подключения; сохранение ресурса не подтверждает поддержку runtime.

Методы7

GetActionTypeOpenXRAction.ActionTypeEnum
# GetActionType
C#
public OpenXRAction.ActionTypeEnum GetActionType();

Текущий тип ресурса, изначально Float. Это тип значения действия, не тип контроллера или текущий ввод.

Возвращает OpenXRAction.ActionTypeEnum

Текущий тип действия; новый ресурс возвращает Float.

GetLocalizedNamestring
# GetLocalizedName
C#
public string GetLocalizedName();

Сохранённая человекочитаемая подпись действия. Для опроса используйте внутренний ResourceName, а не эту строку.

Возвращает string

Сохранённая подпись, изначально пустая; не ResourceName.

GetToplevelPathsstring[]
# GetToplevelPaths
C#
public string[] GetToplevelPaths();

Независимая C# копия сохранённых top-level путей устройств. Изменение результата не меняет ресурс: назначьте изменённый массив через ToplevelPaths/SetToplevelPaths.

Возвращает string[]

Независимый string[] top-level путей устройств; новый ресурс возвращает пустой массив.

SetActionTypevoid
# SetActionType
C#
public void SetActionType(OpenXRAction.ActionTypeEnum actionType);

Тип значения действия, изначально Float. Именованные значения текущего C# SDK: Bool, Float, Vector2, Pose. Native-код и редактор также имеют Haptic, но именованный член Haptic в этом SDK отсутствует. Setter испускает Changed даже при повторе и не меняет тип уже созданного runtime-действия. Не используйте числовой cast как замену отсутствующему API.

Параметры
ИмяТипПо умолчанию
actionTypeOpenXRAction.ActionTypeEnum—
actionType

Один из именованных типов SDK: Bool, Float, Vector2 или Pose. Не меняет существующий runtime action.

SetLocalizedNamevoid
# SetLocalizedName
C#
public void SetLocalizedName(string localizedName);

Человекочитаемая подпись, изначально пустая. Внутренний ключ хранится отдельно в ResourceName. Setter сохраняет строку и испускает Changed даже при повторе; сам не выполняет полную проверку требований OpenXR. Перед подключением к сеансу задайте непустую уникальную подпись в нужной области имён. Изменение ресурса не переименовывает уже созданный runtime action/set.

Параметры
ИмяТипПо умолчанию
localizedNamestring—
localizedName

Непустая человекочитаемая подпись для подготовленной карты. Не внутреннее имя и не автоматический перевод; задавайте текст нужного языка.

SetToplevelPaths2 перегрузки
# SetToplevelPaths · 1/2
C#
public void SetToplevelPaths(ReadOnlySpan<string> toplevelPaths);

Top-level пути устройств для действия, изначально пустой массив; например /user/hand/left и /user/hand/right. Это не полные пути кнопок и не имена tracker left_hand/right_hand. C# массив копируется при передаче и чтении; ReadOnlySpan также передаёт копию native-данных. Setter испускает Changed даже при повторе. Проверку допустимости путей выполняйте до подключения; сохранение ресурса не подтверждает поддержку runtime.

Параметры
ИмяТипПо умолчанию
toplevelPathsReadOnlySpan<string>—
toplevelPaths

Пути устройств, например /user/hand/left и /user/hand/right. Не полные пути кнопок; данные копируются в ресурс.

# SetToplevelPaths · 2/2
C#
public void SetToplevelPaths(string[] toplevelPaths);

Top-level пути устройств для действия, изначально пустой массив; например /user/hand/left и /user/hand/right. Это не полные пути кнопок и не имена tracker left_hand/right_hand. C# массив копируется при передаче и чтении; ReadOnlySpan также передаёт копию native-данных. Setter испускает Changed даже при повторе. Проверку допустимости путей выполняйте до подключения; сохранение ресурса не подтверждает поддержку runtime.

Параметры
ИмяТипПо умолчанию
toplevelPathsstring[]—
toplevelPaths

Пути устройств, например /user/hand/left и /user/hand/right. Не полные пути кнопок; данные копируются в ресурс.

OpenXRAction.ActionTypeEnum

ЗначениеОписание
Bool = 0

Это действие возвращает логическое значение.

Открой XR_ACT_FLOAT

Float = 1

Эта мера предусматривает следующее: float значение между 0.0 и 1.0 для любого аналогового ввода, такого как спусковые устройства.

Pose = 3
Vector2 = 2

Это действие предоставляет значение Vector2 и может быть привязано к встроенным трекпадам и джойстикам.

Открой XR_Актус

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.