reckfellENGINE

OpenXRIPBinding

Одна связь ресурса действия с полным путём компонента OpenXR.

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

OpenXRIPBinding связывает Action с одним BindingPath. Например, select привязывается к /user/hand/right/input/select/click. Для левой руки создайте вторую запись. Новый ресурс пуст: Action=null, путь пуст, модификаторов нет. Само создание записи не добавляет её в профиль или сеанс.

Action возвращает тот же ресурс действия. BindingPath — один путь, не список и не InteractionProfilePath. Их setter испускают Changed даже при повторных значениях. Это уведомление о редактировании ресурса, не сигнал нажатия.

BindingModifiers относится к этой записи, например содержит аналоговый порог. Getter копирует контейнер, но не ресурсы. Изменение копии списка не меняет привязку, пока вы не назначите её обратно. Модификатор переносится при назначении другой привязке. Пустой Array снимает модификаторы с обслуживанием связей владения.

Paths, AddPath, RemovePath, HasPath и GetPathCount относятся к устаревшему подходу. SetPaths не испускает Changed и способен записать строку с запятыми. GetPathCount вернёт 1 для такой непустой строки, даже если GetPaths вернёт два элемента. HasPath сравнивает всю строку. Не стройте новый код вокруг этих методов, даже если SetPaths/GetPaths не помечены Obsolete в SDK.

Подтверждённый дефект: RemovePath с совпадающим аргументом не удаляет путь, а оставляет его прежним и испускает Changed. Проверка фактического удаления не прошла; движок не исправлен. Чтобы удалить запись из профиля, используйте отдельный список без неё; проверенный помощник приведён в OpenXRInteractionProfile.

Проверены текущие setter/getter, массивы модификаторов, владение и наблюдаемое поведение устаревших методов без гарнитуры. Физический ввод, runtime-валидация сочетания типов/путей, haptics и XR-сеанс не проверялись.

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

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

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

Создаёт пустую запись: Action=null, BindingPath пуст, модификаторов нет. Настройте её и включите в Bindings нужного профиля; ресурс сам не подключается к XR-сеансу.

Свойства4

ActionСвойство
# Action
C#
public OpenXRAction Action { get; set; }

Ссылка на ресурс OpenXRAction, изначально null. Назначайте действие, уже включённое в набор карты. Getter возвращает тот же ресурс, не копию. Setter испускает Changed даже при повторе. Не добавляет действие в набор и не создаёт runtime-действие автоматически; изменение общего ресурса видно всем его пользователям.

BindingModifiersСвойство
# BindingModifiers
C#
public Reckfell.Collections.Array BindingModifiers { get; set; }

Модификаторы одной привязки, например OpenXRAnalogThresholdModifier, производные от OpenXRActionBindingModifier. Getter возвращает копию контейнера с общими ресурсами. Setter снимает прежние связи, затем добавляет ресурсы; один модификатор переносится между привязками, а не принадлежит двум сразу. Возможны несколько Changed. Пустой Array снимает модификаторы. Применение зависит от расширений и допустимого пути на целевом runtime.

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

Один полный путь ввода или вывода, изначально пустой; например /user/hand/right/input/select/click. Не путь профиля и не имя действия. Setter использует доступные метаданные движка и испускает Changed даже при повторе. Для двух рук создайте две записи OpenXRIPBinding. Валидность сочетания профиля, пути и типа действия проверяйте до запуска и на целевом runtime.

PathsСвойство · Устарело
# Paths
C#
public string[] Paths { get; set; }

Устаревший подход. Setter объединяет строки через запятую во внутренний BindingPath и не испускает Changed; getter разбивает строку в независимый string[]. Перегрузки массива и ReadOnlySpan копируют данные, но не создают несколько полноценных записей профиля. Для нового кода используйте отдельный OpenXRIPBinding с BindingPath на каждый путь, даже если конкретная перегрузка SDK не помечена Obsolete.

Методы15

AddPathvoid · Устарело
# AddPath
C#
public void AddPath(string path);

Устаревший метод, не добавление в список: заполняет пустой BindingPath и испускает Changed. Повтор той же строки игнорируется; другой путь при уже непустой записи отклоняется. Создавайте отдельную запись для второго пути.

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

Строка для устаревшего сравнения/операции, не список. У RemovePath совпадающий путь в текущей реализации фактически не удаляется.

GetActionOpenXRAction
# GetAction
C#
public OpenXRAction GetAction();

Тот же сохранённый OpenXRAction либо null у ненастроенной записи. Не создаёт действие и не возвращает состояние кнопки.

Возвращает OpenXRAction

Сохранённый ресурс действия либо null.

GetBindingModifierOpenXRActionBindingModifier
# GetBindingModifier
C#
public OpenXRActionBindingModifier GetBindingModifier(int index);

Существующий OpenXRActionBindingModifier по индексу 0…GetBindingModifierCount()-1, не копия. Проверьте диапазон; модификаторы профиля находятся в другом ресурсе.

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

Индекс от 0 включительно до соответствующего Get…Count() исключительно. Проверьте количество перед вызовом.

Возвращает OpenXRActionBindingModifier

Тот же ресурс модификатора соответствующего уровня по допустимому индексу.

GetBindingModifierCountint
# GetBindingModifierCount
C#
public int GetBindingModifierCount();

Количество модификаторов этой записи, изначально 0. Не отражает их доступность на устройстве.

Возвращает int

Количество сохранённых модификаторов соответствующего ресурса.

GetBindingModifiersReckfell.Collections.Array
# GetBindingModifiers
C#
public Reckfell.Collections.Array GetBindingModifiers();

Модификаторы одной привязки, например OpenXRAnalogThresholdModifier, производные от OpenXRActionBindingModifier. Getter возвращает копию контейнера с общими ресурсами. Setter снимает прежние связи, затем добавляет ресурсы; один модификатор переносится между привязками, а не принадлежит двум сразу. Возможны несколько Changed. Пустой Array снимает модификаторы. Применение зависит от расширений и допустимого пути на целевом runtime.

Возвращает Reckfell.Collections.Array

Новый Array со ссылками на те же ресурсы модификаторов; не глубокая копия.

GetBindingPathstring
# GetBindingPath
C#
public string GetBindingPath();

Сохранённая строка единственного пути. Для обычной настроенной записи это один полный input/output-путь; устаревший SetPaths способен записать сюда строку с запятыми.

Возвращает string

Сохранённая строка BindingPath, изначально пустая.

GetPathCountint · Устарело
# GetPathCount
C#
public int GetPathCount();

Устаревший метод: возвращает 0 для пустого BindingPath и 1 для непустого, даже если GetPaths() разбивает строку на несколько элементов. Не используйте как размер коллекции путей; новая запись должна содержать один BindingPath.

Возвращает int

0 для пустой строки или 1 для непустой; не GetPaths().Length.

GetPathsstring[]
# GetPaths
C#
public string[] GetPaths();

Устаревший подход. Setter объединяет строки через запятую во внутренний BindingPath и не испускает Changed; getter разбивает строку в независимый string[]. Перегрузки массива и ReadOnlySpan копируют данные, но не создают несколько полноценных записей профиля. Для нового кода используйте отдельный OpenXRIPBinding с BindingPath на каждый путь, даже если конкретная перегрузка SDK не помечена Obsolete.

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

Независимый string[] непустых частей строки, разделённых запятыми. Это устаревшее представление.

HasPathbool · Устарело
# HasPath
C#
public bool HasPath(string path);

Устаревший метод. Сравнивает аргумент со всей строкой BindingPath, а не ищет элемент результата GetPaths(). Совпадение пустых строк тоже даёт true. Для нового кода сравнивайте BindingPath настроенной записи.

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

Строка для устаревшего сравнения/операции, не список. У RemovePath совпадающий путь в текущей реализации фактически не удаляется.

Возвращает bool

Точное равенство аргумента всей строке BindingPath.

RemovePathvoid · Устарело
# RemovePath
C#
public void RemovePath(string path);

Устаревший метод с подтверждённым дефектом текущей реализации: при совпадающем пути оставляет BindingPath прежним и испускает Changed. При другом аргументе отклоняет вызов. Проверка фактического удаления не прошла; движок не исправлен. Для удаления записи из профиля соберите отдельный список без неё и назначьте Bindings; пример есть во введении OpenXRInteractionProfile.

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

Строка для устаревшего сравнения/операции, не список. У RemovePath совпадающий путь в текущей реализации фактически не удаляется.

SetActionvoid
# SetAction
C#
public void SetAction(OpenXRAction action);

Ссылка на ресурс OpenXRAction, изначально null. Назначайте действие, уже включённое в набор карты. Getter возвращает тот же ресурс, не копию. Setter испускает Changed даже при повторе. Не добавляет действие в набор и не создаёт runtime-действие автоматически; изменение общего ресурса видно всем его пользователям.

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

Ресурс действия из набора карты; сам setter не добавляет его в набор и не проверяет всё содержимое карты.

SetBindingModifiersvoid
# SetBindingModifiers
C#
public void SetBindingModifiers(Reckfell.Collections.Array bindingModifiers);

Модификаторы одной привязки, например OpenXRAnalogThresholdModifier, производные от OpenXRActionBindingModifier. Getter возвращает копию контейнера с общими ресурсами. Setter снимает прежние связи, затем добавляет ресурсы; один модификатор переносится между привязками, а не принадлежит двум сразу. Возможны несколько Changed. Пустой Array снимает модификаторы. Применение зависит от расширений и допустимого пути на целевом runtime.

Параметры
ИмяТипПо умолчанию
bindingModifiersReckfell.Collections.Array—
bindingModifiers

Array ненулевых OpenXRActionBindingModifier. Добавление переносит ресурс из прежней привязки.

SetBindingPathvoid
# SetBindingPath
C#
public void SetBindingPath(string bindingPath);

Один полный путь ввода или вывода, изначально пустой; например /user/hand/right/input/select/click. Не путь профиля и не имя действия. Setter использует доступные метаданные движка и испускает Changed даже при повторе. Для двух рук создайте две записи OpenXRIPBinding. Валидность сочетания профиля, пути и типа действия проверяйте до запуска и на целевом runtime.

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

Один полный путь компонента, например /user/hand/right/input/select/click; не список через запятую.

SetPaths2 перегрузки
# SetPaths · 1/2
C#
public void SetPaths(ReadOnlySpan<string> paths);

Устаревший подход. Setter объединяет строки через запятую во внутренний BindingPath и не испускает Changed; getter разбивает строку в независимый string[]. Перегрузки массива и ReadOnlySpan копируют данные, но не создают несколько полноценных записей профиля. Для нового кода используйте отдельный OpenXRIPBinding с BindingPath на каждый путь, даже если конкретная перегрузка SDK не помечена Obsolete.

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

Устаревший набор строк для внутренней сериализации; для нового кода задавайте один BindingPath отдельной записи.

# SetPaths · 2/2
C#
public void SetPaths(string[] paths);

Устаревший подход. Setter объединяет строки через запятую во внутренний BindingPath и не испускает Changed; getter разбивает строку в независимый string[]. Перегрузки массива и ReadOnlySpan копируют данные, но не создают несколько полноценных записей профиля. Для нового кода используйте отдельный OpenXRIPBinding с BindingPath на каждый путь, даже если конкретная перегрузка SDK не помечена Obsolete.

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

Устаревший набор строк для внутренней сериализации; для нового кода задавайте один BindingPath отдельной записи.

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

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

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

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