reckfellENGINE

OpenXRDpadBindingModifier

Настройки D-pad для двухосевого ввода в профиле OpenXR.

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

OpenXRDpadBindingModifier относится к BindingModifiers профиля OpenXRInteractionProfile. ActionSet выбирает набор, InputPath — исходный двухосевой ввод, например /user/hand/right/input/thumbstick. Это не автоматически готовые игровые действия: направления D-pad должны быть привязаны в карте, а runtime должен поддерживать XR_EXT_dpad_binding и XR_KHR_binding_modification. Включение запрашивается через xr/openxr/binding_modifiers/dpad_binding.

Значения по умолчанию: Threshold=0.6, ThresholdReleased=0.4, CenterRegion=0.1, WedgeAngle=π/2, IsSticky=false. ActionSet=null, InputPath пуст, haptic-ссылки null. Setter диапазона допускает больше, чем контракт runtime: требуются конечные 0<ThresholdReleased≤Threshold≤1, 0<CenterRegion<1 и 0≤WedgeAngle<π. Эти ограничения, включая порядок порогов, проверяйте заранее. Контракт расширения OpenXR.

WedgeAngle в C# — радианы. Для 90° задайте Mathf.DegToRad(90); Inspector отображает градусы, но это не единицы API. Не вводите 90 в setter как готовое радианное значение.

ActionSet меняется без Changed. Остальные восемь setter испускают Changed даже при повторе. Ресурс набора и haptic-ресурсы остаются общими ссылками. Редактирование параметров не перестраивает модификатор уже подключённого XR-сеанса.

Начальные значения, радианы, события, ссылки и отсутствие проверки порядка порогов проверены без гарнитуры. Физические направления, липкость, расширения, вибрация и применение карты runtime не проверялись.

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

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

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

Создаёт D-pad ресурс: Threshold=0.6, ThresholdReleased=0.4, CenterRegion=0.1, WedgeAngle=π/2, IsSticky=false, ActionSet=null, пустой InputPath и haptic-ссылки null. Не подключает модификатор к профилю.

Свойства9

ActionSetСвойство
# ActionSet
C#
public OpenXRActionSet ActionSet { get; set; }

Ресурс набора, для которого задаётся D-pad, изначально null. Setter сохраняет ссылку без Changed, включая новое значение. Набор должен существовать в карте и быть создан в runtime до применения модификации. Назначение не включает набор и не добавляет модификатор в профиль.

CenterRegionСвойство
# CenterRegion
C#
public float CenterRegion { get; set; }

Радиус центральной области в пространстве значений ввода, изначально 0.1. Setter проверяет 0…1 включительно; допустимые runtime-границы уже, см. введение. Задавайте конечное значение. Changed испускается даже при повторе.

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

Полный путь исходного двухосевого ввода, изначально пустой; например /user/hand/right/input/thumbstick. Это не путь отдельного направления D-pad и не имя действия. Setter хранит строку и испускает Changed даже при повторе; допустимость пути требует проверки профиля/runtime.

IsStickyСвойство
# IsSticky
C#
public bool IsSticky { get; set; }

Флаг фиксации первого активированного направления до отпускания исходного ввода; изначально false. Это параметр runtime, не локальный вычислитель направлений. Setter испускает Changed даже при повторе. Поведение на контроллере этим прогоном не проверялось.

OffHapticСвойство
# OffHaptic
C#
public OpenXRHapticBase OffHaptic { get; set; }

Ресурс обратной связи для выключения модифицированного ввода, изначально null. Ссылка общая; setter испускает Changed даже при повторе. null снимает запрос. Это данные для поддерживающего модификатор runtime, не немедленный вызов вибрации.

OnHapticСвойство
# OnHaptic
C#
public OpenXRHapticBase OnHaptic { get; set; }

Ресурс обратной связи для включения модифицированного ввода, изначально null. Getter возвращает тот же ресурс; setter испускает Changed даже при повторе. null отключает этот запрос обратной связи. Назначение не посылает импульс немедленно и не подтверждает поддержку устройства.

ThresholdСвойство
# Threshold
C#
public float Threshold { get; set; }

Порог включения D-pad, изначально 0.6. Setter допускает числовой диапазон 0…1, но полные требования runtime строже: смотрите введение. Конечность и порядок с ThresholdReleased проверяйте сами. Changed испускается даже при повторе.

ThresholdReleasedСвойство
# ThresholdReleased
C#
public float ThresholdReleased { get; set; }

Порог выключения D-pad, изначально 0.4. Setter допускает числовой диапазон 0…1 без проверки порядка с Threshold. Проверяйте контракт runtime, конечность и согласованность пары; Changed испускается при повторе.

WedgeAngleСвойство
# WedgeAngle
C#
public float WedgeAngle { get; set; }

Угол сектора в радианах, изначально π/2. Inspector отображает градусы, но C# setter/getter используют радианы: для 90° передайте Mathf.DegToRad(90). Setter не проверяет диапазон и испускает Changed даже при повторе. Валидные runtime-границы приведены во введении.

Методы18

GetActionSetOpenXRActionSet
# GetActionSet
C#
public OpenXRActionSet GetActionSet();

Та же ссылка на набор действия либо null; не runtime handle.

Возвращает OpenXRActionSet

Та же ссылка на набор действия либо null; не runtime handle.

GetCenterRegionfloat
# GetCenterRegion
C#
public float GetCenterRegion();

Сохранённый радиус центральной области в единицах ввода, изначально 0.1.

Возвращает float

Сохранённый радиус центральной области в единицах ввода, изначально 0.1.

GetInputPathstring
# GetInputPath
C#
public string GetInputPath();

Сохранённый полный путь исходного ввода, изначально пустой.

Возвращает string

Сохранённый полный путь исходного ввода, изначально пустой.

GetIsStickybool
# GetIsSticky
C#
public bool GetIsSticky();

Сохранённый флаг фиксации направления, изначально false.

Возвращает bool

Сохранённый флаг фиксации направления, изначально false.

GetOffHapticOpenXRHapticBase
# GetOffHaptic
C#
public OpenXRHapticBase GetOffHaptic();

Та же ссылка на ресурс импульса выключения либо null.

Возвращает OpenXRHapticBase

Та же ссылка на ресурс импульса выключения либо null.

GetOnHapticOpenXRHapticBase
# GetOnHaptic
C#
public OpenXRHapticBase GetOnHaptic();

Та же ссылка на ресурс импульса включения либо null.

Возвращает OpenXRHapticBase

Та же ссылка на ресурс импульса включения либо null.

GetThresholdfloat
# GetThreshold
C#
public float GetThreshold();

Сохранённый порог включения D-pad, изначально 0.6.

Возвращает float

Сохранённый порог включения D-pad, изначально 0.6.

GetThresholdReleasedfloat
# GetThresholdReleased
C#
public float GetThresholdReleased();

Сохранённый порог выключения D-pad, изначально 0.4.

Возвращает float

Сохранённый порог выключения D-pad, изначально 0.4.

GetWedgeAnglefloat
# GetWedgeAngle
C#
public float GetWedgeAngle();

Сохранённый угол в радианах, изначально π/2. Не градусы Inspector.

Возвращает float

Сохранённый угол в радианах, изначально π/2. Не градусы Inspector.

SetActionSetvoid
# SetActionSet
C#
public void SetActionSet(OpenXRActionSet actionSet);

Ресурс набора, для которого задаётся D-pad, изначально null. Setter сохраняет ссылку без Changed, включая новое значение. Набор должен существовать в карте и быть создан в runtime до применения модификации. Назначение не включает набор и не добавляет модификатор в профиль.

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

Ресурс набора карты, для которого предназначен D-pad. Не его строковое имя и не RID.

SetCenterRegionvoid
# SetCenterRegion
C#
public void SetCenterRegion(float centerRegion);

Радиус центральной области в пространстве значений ввода, изначально 0.1. Setter проверяет 0…1 включительно; допустимые runtime-границы уже, см. введение. Задавайте конечное значение. Changed испускается даже при повторе.

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

Конечный радиус центральной области в единицах ввода; соблюдайте runtime-границы.

SetInputPathvoid
# SetInputPath
C#
public void SetInputPath(string inputPath);

Полный путь исходного двухосевого ввода, изначально пустой; например /user/hand/right/input/thumbstick. Это не путь отдельного направления D-pad и не имя действия. Setter хранит строку и испускает Changed даже при повторе; допустимость пути требует проверки профиля/runtime.

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

Полный путь поддерживаемого двухосевого ввода, например /user/hand/right/input/thumbstick.

SetIsStickyvoid
# SetIsSticky
C#
public void SetIsSticky(bool isSticky);

Флаг фиксации первого активированного направления до отпускания исходного ввода; изначально false. Это параметр runtime, не локальный вычислитель направлений. Setter испускает Changed даже при повторе. Поведение на контроллере этим прогоном не проверялось.

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

true для фиксации первого направления до отпускания исходного ввода.

SetOffHapticvoid
# SetOffHaptic
C#
public void SetOffHaptic(OpenXRHapticBase haptic);

Ресурс обратной связи для выключения модифицированного ввода, изначально null. Ссылка общая; setter испускает Changed даже при повторе. null снимает запрос. Это данные для поддерживающего модификатор runtime, не немедленный вызов вибрации.

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

Ресурс OpenXRHapticBase, например OpenXRHapticVibration, либо null для отключения этого запроса.

SetOnHapticvoid
# SetOnHaptic
C#
public void SetOnHaptic(OpenXRHapticBase haptic);

Ресурс обратной связи для включения модифицированного ввода, изначально null. Getter возвращает тот же ресурс; setter испускает Changed даже при повторе. null отключает этот запрос обратной связи. Назначение не посылает импульс немедленно и не подтверждает поддержку устройства.

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

Ресурс OpenXRHapticBase, например OpenXRHapticVibration, либо null для отключения этого запроса.

SetThresholdvoid
# SetThreshold
C#
public void SetThreshold(float threshold);

Порог включения D-pad, изначально 0.6. Setter допускает числовой диапазон 0…1, но полные требования runtime строже: смотрите введение. Конечность и порядок с ThresholdReleased проверяйте сами. Changed испускается даже при повторе.

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

Конечный порог включения D-pad; учитывайте более строгий контракт runtime во введении.

SetThresholdReleasedvoid
# SetThresholdReleased
C#
public void SetThresholdReleased(float thresholdReleased);

Порог выключения D-pad, изначально 0.4. Setter допускает числовой диапазон 0…1 без проверки порядка с Threshold. Проверяйте контракт runtime, конечность и согласованность пары; Changed испускается при повторе.

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

Конечный порог выключения, не выше Threshold; учитывайте контракт runtime.

SetWedgeAnglevoid
# SetWedgeAngle
C#
public void SetWedgeAngle(float wedgeAngle);

Угол сектора в радианах, изначально π/2. Inspector отображает градусы, но C# setter/getter используют радианы: для 90° передайте Mathf.DegToRad(90). Setter не проверяет диапазон и испускает Changed даже при повторе. Валидные runtime-границы приведены во введении.

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

Угол в радианах. При исходных градусах сначала вызовите Mathf.DegToRad; допустимые границы см. во введении.

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

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

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

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