OpenXRAnalogThresholdModifier
Аналоговые пороги и обратная связь отдельной привязки.
OpenXRAnalogThresholdModifier настраивает преобразование аналогового ввода в логическое состояние для конкретной OpenXRIPBinding. Помещайте его в BindingModifiers этой привязки, не в список модификаторов профиля. Требуются xr/openxr/binding_modifiers/analog_threshold, XR_VALVE_analog_threshold и XR_KHR_binding_modification на целевом runtime. Создание ресурса расширения не включает.
По умолчанию OnThreshold=0.6, OffThreshold=0.4; ссылки OnHaptic/OffHaptic пусты. Для конечных значений используйте 0≤OffThreshold≤OnThreshold≤1, а для гистерезиса — строго меньший OffThreshold. Setter проверяет отдельный диапазон, но допускает обратный порядок. Это не делает комбинацию корректной для runtime. Контракт описан в OpenXR.
Все четыре setter испускают Changed даже при повторном значении. Haptic-ссылки указывают на общие ресурсы; null снимает запрос. Назначение не посылает импульс немедленно и не перестраивает уже подключённый сеанс.
Проверены начальные значения, события, ссылки и отсутствие проверки порядка в установленном движке без гарнитуры. Срабатывание порогов, принятие расширений и физическая обратная связь не проверялись. Пример карты и порядок подключения: карта действий.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OpenXRAnalogThresholdModifierКонструктор
public OpenXRAnalogThresholdModifier();Создаёт ресурс аналогового порога: OnThreshold=0.6, OffThreshold=0.4, оба haptic-ресурса null. Не добавляет себя в OpenXRIPBinding и не включает расширения.
Свойства4
OffHapticСвойство
public OpenXRHapticBase OffHaptic { get; set; }Ресурс обратной связи для выключения модифицированного ввода, изначально null. Ссылка общая; setter испускает Changed даже при повторе. null снимает запрос. Это данные для поддерживающего модификатор runtime, не немедленный вызов вибрации.
OffThresholdСвойство
public float OffThreshold { get; set; }Порог выключения, изначально 0.4. Setter проверяет числовой диапазон 0…1, но не OnThreshold≥OffThreshold; проверяйте обе величины вместе и их конечность. Changed испускается и при повторе. Это настройка преобразования, не текущее значение аналогового ввода.
OnHapticСвойство
public OpenXRHapticBase OnHaptic { get; set; }Ресурс обратной связи для включения модифицированного ввода, изначально null. Getter возвращает тот же ресурс; setter испускает Changed даже при повторе. null отключает этот запрос обратной связи. Назначение не посылает импульс немедленно и не подтверждает поддержку устройства.
OnThresholdСвойство
public float OnThreshold { get; set; }Порог включения, изначально 0.6. Setter отклоняет числа вне 0…1 и испускает Changed даже при повторе, но не проверяет отношение к OffThreshold или все нечисловые входы. Задавайте конечный OnThreshold≥OffThreshold; для гистерезиса используйте строгое неравенство. Изменение ресурса не перестраивает подключённый сеанс.
Методы8
GetOffHapticOpenXRHapticBase
public OpenXRHapticBase GetOffHaptic();Та же ссылка на ресурс импульса выключения либо null.
OpenXRHapticBaseТа же ссылка на ресурс импульса выключения либо null.
GetOffThresholdfloat
public float GetOffThreshold();Сохранённый порог выключения, изначально 0.4.
floatСохранённый порог выключения, изначально 0.4.
GetOnHapticOpenXRHapticBase
public OpenXRHapticBase GetOnHaptic();Та же ссылка на ресурс импульса включения либо null.
OpenXRHapticBaseТа же ссылка на ресурс импульса включения либо null.
GetOnThresholdfloat
public float GetOnThreshold();Сохранённый порог включения, изначально 0.6; не текущее состояние ввода.
floatСохранённый порог включения, изначально 0.6; не текущее состояние ввода.
SetOffHapticvoid
public void SetOffHaptic(OpenXRHapticBase haptic);Ресурс обратной связи для выключения модифицированного ввода, изначально null. Ссылка общая; setter испускает Changed даже при повторе. null снимает запрос. Это данные для поддерживающего модификатор runtime, не немедленный вызов вибрации.
| Имя | Тип | По умолчанию |
|---|---|---|
haptic | OpenXRHapticBase | — |
hapticРесурс OpenXRHapticBase, например OpenXRHapticVibration, либо null для отключения этого запроса.
SetOffThresholdvoid
public void SetOffThreshold(float offThreshold);Порог выключения, изначально 0.4. Setter проверяет числовой диапазон 0…1, но не OnThreshold≥OffThreshold; проверяйте обе величины вместе и их конечность. Changed испускается и при повторе. Это настройка преобразования, не текущее значение аналогового ввода.
| Имя | Тип | По умолчанию |
|---|---|---|
offThreshold | float | — |
offThresholdКонечный порог выключения в 0…1, не выше OnThreshold.
SetOnHapticvoid
public void SetOnHaptic(OpenXRHapticBase haptic);Ресурс обратной связи для включения модифицированного ввода, изначально null. Getter возвращает тот же ресурс; setter испускает Changed даже при повторе. null отключает этот запрос обратной связи. Назначение не посылает импульс немедленно и не подтверждает поддержку устройства.
| Имя | Тип | По умолчанию |
|---|---|---|
haptic | OpenXRHapticBase | — |
hapticРесурс OpenXRHapticBase, например OpenXRHapticVibration, либо null для отключения этого запроса.
SetOnThresholdvoid
public void SetOnThreshold(float onThreshold);Порог включения, изначально 0.6. Setter отклоняет числа вне 0…1 и испускает Changed даже при повторе, но не проверяет отношение к OffThreshold или все нечисловые входы. Задавайте конечный OnThreshold≥OffThreshold; для гистерезиса используйте строгое неравенство. Изменение ресурса не перестраивает подключённый сеанс.
| Имя | Тип | По умолчанию |
|---|---|---|
onThreshold | float | — |
onThresholdКонечный порог включения в 0…1, не ниже OffThreshold.