reckfellENGINE

WebXRInterface

Браузерный XR: сессии, features, ввод и события.

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

Абстрактный API браузерного WebXR: режимы сессии, features, ввод и события. Конкретный зарегистрированный интерфейс с именем WebXR создаётся в Web-сборке. Наличие SDK-типа в настольном редакторе не запускает browser XR. Текущий C# exporter 1.0.0 не реализует Web target; этот справочник не обещает C# Web export.

Подпишитесь на события до запроса. IsSessionSupported асинхронно сообщает результат через SessionSupported, не выдаёт разрешение и не запускает XR. Initialize устанавливает initialized до окончания запроса; ждите SessionStarted перед включением Viewport.UseXR. SessionEnded/SessionFailed требуют восстановления прежнего UI и viewport. Используйте заимствованный зарегистрированный интерфейс, не освобождайте его вручную.

Настройки применяйте до старта. RequestedReferenceSpaceTypes — порядок fallback; ReferenceSpaceType — фактический выбор. EnabledFeatures может быть пустым, если браузер не предоставляет список. Ввод зависит от источника, его активности и pose data. Select/Squeeze текущий код генерирует после соответствующего end-события: избегайте двойной игровой операции.

GetDisplayRefreshRate не является FPS. Запрос частоты асинхронный; rejected support/refresh promises текущий JS не превращает в SessionFailed. Предусмотрите наблюдаемое состояние ожидания/ошибки. Функции частоты используют integer JS ABI, дробные значения через WASM не проверены.

Запуск и диагностика WebXR. Тела JS-функций проверены с mock browser/session/GL в Node; native callbacks, настоящий экспорт, permissions, шлем, ввод и пиксели не приняты как проверенные. Исходники и сборка движка не менялись.

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

Свойства8

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

Сохранённый флаг отключения WebXR Layers, изначально false. Задавайте до Initialize; true выбирает XRWebGLLayer fallback. Фактический fallback возможен и при false из-за отсутствия multiview/binding/createProjectionLayer. Getter не сообщает реально выбранный рендер-путь и не является уровнем качества.

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

Сообщённые браузером принятые features строкой через запятую после SessionStarted. Это не копия RequiredFeatures/OptionalFeatures. Если браузер не предоставляет enabledFeatures, JS возвращает пустую строку, что не доказывает отсутствие всех возможностей. Uninitialize очищает значение.

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

Строка необязательных features через запятую, изначально пустая. Применяется при следующем запросе сессии; setter только сохраняет строку. Отсутствие optional feature не должно ломать основной сценарий: после SessionStarted проверяйте EnabledFeatures, а не только этот список.

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

Реально выбранное пространство после SessionStarted, не первая строка RequestedReferenceSpaceTypes. До готовности может быть пустым; Uninitialize очищает его. Если выбран local, не считайте Y=0 физическим полом.

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

Список пространств через запятую в порядке попыток, по умолчанию local. Например local-floor,local: fallback к local меняет смысл высоты, это не гарантированный пол. Запрашивайте нужные features отдельно. Полностью пустая строка вызывает раннюю ошибку Initialize; не добавляйте пустые элементы списка.

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

Строка обязательных features через запятую, изначально пустая. До Initialize задайте только необходимые функции, например local-floor. JS удаляет пустые элементы и пробелы. Неподдерживаемая обязательная feature может сорвать запрос; сохранённая строка не подтверждает разрешение.

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

Запрошенный режим сессии: inline, immersive-vr или immersive-ar; по умолчанию inline. Setter сохраняет строку для следующего старта, не проверяет поддержку и не переключает действующую сессию. Нужный режим отдельно проверяют через IsSessionSupported.

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

Текущее browser visibilityState сессии: обычно visible, visible-blurred или hidden; пустая строка, если сессия/данные отсутствуют. Это состояние видимости XR-сессии, не готовность геометрии и не HasTrackingData отдельного устройства. Перечитывайте при VisibilityStateChanged.

Методы20

GetAvailableDisplayRefreshRatesReckfell.Collections.Array
# GetAvailableDisplayRefreshRates
C#
public Reckfell.Collections.Array GetAvailableDisplayRefreshRates();

Возвращает новый контейнер частот из browser supportedFrameRates; пустой при отсутствии сессии, свойства или элементов. Список не измеряет производительность и не гарантирует принятие каждого запроса сейчас. Освобождайте собственный Array-контейнер обычным Dispose/using; это не владельцы XR-устройств.

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

Новый Array частот, возможно пустой. Владение контейнером у вызывающего кода.

GetDisableWebxrLayersbool
# GetDisableWebxrLayers
C#
public bool GetDisableWebxrLayers();

Возвращает сохранённое значение. Сохранённый флаг отключения WebXR Layers, изначально false. Задавайте до Initialize; true выбирает XRWebGLLayer fallback. Фактический fallback возможен и при false из-за отсутствия multiview/binding/createProjectionLayer. Getter не сообщает реально выбранный рендер-путь и не является уровнем качества.

Возвращает bool

Сохранённый флаг отключения WebXR Layers, изначально false. Задавайте до Initialize; true выбирает XRWebGLLayer fallback. Фактический fallback возможен и при false из-за отсутствия multiview/binding/createProjectionLayer. Getter не сообщает реально выбранный рендер-путь и не является уровнем качества.

GetDisplayRefreshRatefloat
# GetDisplayRefreshRate
C#
public float GetDisplayRefreshRate();

Читает session.frameRate браузера; 0, если сессии или поля нет. Это не измеренный FPS приложения и не сохранённая целевая частота. Функция JS объявлена с integer ABI; дробные значения через реальную WASM границу здесь не проверены.

Возвращает float

Сообщённая браузером частота или 0 при недоступности; не FPS приложения.

GetEnabledFeaturesstring
# GetEnabledFeatures
C#
public string GetEnabledFeatures();

Читает текущее значение. Сообщённые браузером принятые features строкой через запятую после SessionStarted. Это не копия RequiredFeatures/OptionalFeatures. Если браузер не предоставляет enabledFeatures, JS возвращает пустую строку, что не доказывает отсутствие всех возможностей. Uninitialize очищает значение.

Возвращает string

Сообщённые браузером принятые features строкой через запятую после SessionStarted. Это не копия RequiredFeatures/OptionalFeatures. Если браузер не предоставляет enabledFeatures, JS возвращает пустую строку, что не доказывает отсутствие всех возможностей. Uninitialize очищает значение.

GetInputSourceTargetRayModeWebXRInterface.TargetRayMode
# GetInputSourceTargetRayMode
C#
public WebXRInterface.TargetRayMode GetInputSourceTargetRayMode(int inputSourceId);

Возвращает режим луча активного слота: Gaze, TrackedPointer или Screen. Для неактивного/неверного индекса — Unknown; неверный индекс также вызывает native error. Режим луча не подтверждает наличие grip, кнопок или hand skeleton.

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

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

Возвращает WebXRInterface.TargetRayMode

Режим активного источника либо Unknown; не подтверждение физического контроллера.

GetInputSourceTrackerXRControllerTracker
# GetInputSourceTracker
C#
public XRControllerTracker GetInputSourceTracker(int inputSourceId);

Возвращает заимствованный XRControllerTracker слота или null. Проверяйте активность и данные нужной pose; не вызывайте Free/Dispose у provider-owned wrapper. Слот и его tracker могут исчезнуть или использоваться заново; не сохраняйте их как постоянную идентичность устройства.

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

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

Возвращает XRControllerTracker

Заимствованный tracker или null; владение не передаётся.

GetOptionalFeaturesstring
# GetOptionalFeatures
C#
public string GetOptionalFeatures();

Возвращает сохранённое значение. Строка необязательных features через запятую, изначально пустая. Применяется при следующем запросе сессии; setter только сохраняет строку. Отсутствие optional feature не должно ломать основной сценарий: после SessionStarted проверяйте EnabledFeatures, а не только этот список.

Возвращает string

Строка необязательных features через запятую, изначально пустая. Применяется при следующем запросе сессии; setter только сохраняет строку. Отсутствие optional feature не должно ломать основной сценарий: после SessionStarted проверяйте EnabledFeatures, а не только этот список.

GetReferenceSpaceTypestring
# GetReferenceSpaceType
C#
public string GetReferenceSpaceType();

Читает текущее значение. Реально выбранное пространство после SessionStarted, не первая строка RequestedReferenceSpaceTypes. До готовности может быть пустым; Uninitialize очищает его. Если выбран local, не считайте Y=0 физическим полом.

Возвращает string

Реально выбранное пространство после SessionStarted, не первая строка RequestedReferenceSpaceTypes. До готовности может быть пустым; Uninitialize очищает его. Если выбран local, не считайте Y=0 физическим полом.

GetRequestedReferenceSpaceTypesstring
# GetRequestedReferenceSpaceTypes
C#
public string GetRequestedReferenceSpaceTypes();

Возвращает сохранённое значение. Список пространств через запятую в порядке попыток, по умолчанию local. Например local-floor,local: fallback к local меняет смысл высоты, это не гарантированный пол. Запрашивайте нужные features отдельно. Полностью пустая строка вызывает раннюю ошибку Initialize; не добавляйте пустые элементы списка.

Возвращает string

Список пространств через запятую в порядке попыток, по умолчанию local. Например local-floor,local: fallback к local меняет смысл высоты, это не гарантированный пол. Запрашивайте нужные features отдельно. Полностью пустая строка вызывает раннюю ошибку Initialize; не добавляйте пустые элементы списка.

GetRequiredFeaturesstring
# GetRequiredFeatures
C#
public string GetRequiredFeatures();

Возвращает сохранённое значение. Строка обязательных features через запятую, изначально пустая. До Initialize задайте только необходимые функции, например local-floor. JS удаляет пустые элементы и пробелы. Неподдерживаемая обязательная feature может сорвать запрос; сохранённая строка не подтверждает разрешение.

Возвращает string

Строка обязательных features через запятую, изначально пустая. До Initialize задайте только необходимые функции, например local-floor. JS удаляет пустые элементы и пробелы. Неподдерживаемая обязательная feature может сорвать запрос; сохранённая строка не подтверждает разрешение.

GetSessionModestring
# GetSessionMode
C#
public string GetSessionMode();

Возвращает сохранённое значение. Запрошенный режим сессии: inline, immersive-vr или immersive-ar; по умолчанию inline. Setter сохраняет строку для следующего старта, не проверяет поддержку и не переключает действующую сессию. Нужный режим отдельно проверяют через IsSessionSupported.

Возвращает string

Запрошенный режим сессии: inline, immersive-vr или immersive-ar; по умолчанию inline. Setter сохраняет строку для следующего старта, не проверяет поддержку и не переключает действующую сессию. Нужный режим отдельно проверяют через IsSessionSupported.

GetVisibilityStatestring
# GetVisibilityState
C#
public string GetVisibilityState();

Читает текущее значение. Текущее browser visibilityState сессии: обычно visible, visible-blurred или hidden; пустая строка, если сессия/данные отсутствуют. Это состояние видимости XR-сессии, не готовность геометрии и не HasTrackingData отдельного устройства. Перечитывайте при VisibilityStateChanged.

Возвращает string

Текущее browser visibilityState сессии: обычно visible, visible-blurred или hidden; пустая строка, если сессия/данные отсутствуют. Это состояние видимости XR-сессии, не готовность геометрии и не HasTrackingData отдельного устройства. Перечитывайте при VisibilityStateChanged.

IsInputSourceActivebool
# IsInputSourceActive
C#
public bool IsInputSourceActive(int inputSourceId);

Читает активность слота источника WebXR. Допустимы ID 0–15; неверный индекс даёт native error и false. true не гарантирует grip pose, физический контроллер или все кнопки. Не путайте ID источника с gamepad index.

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

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

Возвращает bool

Активность слота сейчас; неверный индекс возвращает false с native error.

IsSessionSupportedvoid
# IsSessionSupported
C#
public void IsSessionSupported(string sessionMode);

Асинхронно запрашивает поддержку указанного режима; bool не возвращает и сессию не запускает. Подпишитесь на SessionSupported заранее и сопоставьте sessionMode ответа. В текущем JS-мосте нет обработки rejected promise: предусмотрите тайм-аут ожидания, не выдавая его за подтверждённый false.

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

Режим inline, immersive-vr или immersive-ar. Поддержка и разрешение проверяются для конкретного режима отдельно.

SetDisableWebxrLayersvoid
# SetDisableWebxrLayers
C#
public void SetDisableWebxrLayers(bool disable);

Сохраняет настройку; действующий browser session не пересоздаёт. Сохранённый флаг отключения WebXR Layers, изначально false. Задавайте до Initialize; true выбирает XRWebGLLayer fallback. Фактический fallback возможен и при false из-за отсутствия multiview/binding/createProjectionLayer. Getter не сообщает реально выбранный рендер-путь и не является уровнем качества.

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

Сохранённый флаг отключения WebXR Layers, изначально false. Задавайте до Initialize; true выбирает XRWebGLLayer fallback. Фактический fallback возможен и при false из-за отсутствия multiview/binding/createProjectionLayer. Getter не сообщает реально выбранный рендер-путь и не является уровнем качества.

SetDisplayRefreshRatevoid
# SetDisplayRefreshRate
C#
public void SetDisplayRefreshRate(float refreshRate);

Асинхронно просит session.updateTargetFrameRate установить частоту. Без сессии или метода молча ничего не делает. Выбирайте значение из доступного списка; применение не гарантировано. После успешного promise приходит DisplayRefreshRateChanged. У текущего моста нет rejection handler или отдельного события ошибки запроса.

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

Запрашиваемая частота в Гц из списка устройства; не желаемый FPS игры. Текущий JS ABI параметра integer, дробные частоты через WASM здесь не проверены.

SetOptionalFeaturesvoid
# SetOptionalFeatures
C#
public void SetOptionalFeatures(string optionalFeatures);

Сохраняет настройку; действующий browser session не пересоздаёт. Строка необязательных features через запятую, изначально пустая. Применяется при следующем запросе сессии; setter только сохраняет строку. Отсутствие optional feature не должно ломать основной сценарий: после SessionStarted проверяйте EnabledFeatures, а не только этот список.

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

Строка необязательных features через запятую, изначально пустая. Применяется при следующем запросе сессии; setter только сохраняет строку. Отсутствие optional feature не должно ломать основной сценарий: после SessionStarted проверяйте EnabledFeatures, а не только этот список.

SetRequestedReferenceSpaceTypesvoid
# SetRequestedReferenceSpaceTypes
C#
public void SetRequestedReferenceSpaceTypes(string requestedReferenceSpaceTypes);

Сохраняет настройку; действующий browser session не пересоздаёт. Список пространств через запятую в порядке попыток, по умолчанию local. Например local-floor,local: fallback к local меняет смысл высоты, это не гарантированный пол. Запрашивайте нужные features отдельно. Полностью пустая строка вызывает раннюю ошибку Initialize; не добавляйте пустые элементы списка.

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

Список пространств через запятую в порядке попыток, по умолчанию local. Например local-floor,local: fallback к local меняет смысл высоты, это не гарантированный пол. Запрашивайте нужные features отдельно. Полностью пустая строка вызывает раннюю ошибку Initialize; не добавляйте пустые элементы списка.

SetRequiredFeaturesvoid
# SetRequiredFeatures
C#
public void SetRequiredFeatures(string requiredFeatures);

Сохраняет настройку; действующий browser session не пересоздаёт. Строка обязательных features через запятую, изначально пустая. До Initialize задайте только необходимые функции, например local-floor. JS удаляет пустые элементы и пробелы. Неподдерживаемая обязательная feature может сорвать запрос; сохранённая строка не подтверждает разрешение.

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

Строка обязательных features через запятую, изначально пустая. До Initialize задайте только необходимые функции, например local-floor. JS удаляет пустые элементы и пробелы. Неподдерживаемая обязательная feature может сорвать запрос; сохранённая строка не подтверждает разрешение.

SetSessionModevoid
# SetSessionMode
C#
public void SetSessionMode(string sessionMode);

Сохраняет настройку; действующий browser session не пересоздаёт. Запрошенный режим сессии: inline, immersive-vr или immersive-ar; по умолчанию inline. Setter сохраняет строку для следующего старта, не проверяет поддержку и не переключает действующую сессию. Нужный режим отдельно проверяют через IsSessionSupported.

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

Режим inline, immersive-vr или immersive-ar. Поддержка и разрешение проверяются для конкретного режима отдельно.

Сигналы и события13

DisplayRefreshRateChangedСобытие
# DisplayRefreshRateChanged
C#
public event Action DisplayRefreshRateChanged;

Уведомление без аргументов после успешного updateTargetFrameRate promise. Перечитайте GetDisplayRefreshRate; это не событие каждого кадра и не счётчик FPS. При отсутствии метода запрос игнорируется; rejected promise не преобразуется в SessionFailed.

ReferenceSpaceResetСобытие
# ReferenceSpaceReset
C#
public event Action ReferenceSpaceReset;

Событие без аргументов от reset выбранного reference space. Пересмотрите привязки игрового мира к пространству; текущее событие не передаёт исходный browser transform. Не применяйте дополнительное recenter автоматически поверх настроенного origin.

SelectСобытие
# Select
C#
public event WebXRInterface.SelectEventHandler Select;

Завершение действия основного выбора, синтезируемое текущим native-кодом сразу после Selectend. Не отдельное прямое browser-событие и не начало удержания. Выберите одно completion-событие для однократной игровой операции.

Параметры обработчика
ИмяТипПо умолчанию
inputSourceIdlong—
inputSourceId

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

SelectendСобытие
# Selectend
C#
public event WebXRInterface.SelectendEventHandler Selectend;

Конец действия основного выбора источника; текущий native-код затем отдельно генерирует Select. Не обрабатывайте оба события как две независимые покупки/выстрела.

Параметры обработчика
ИмяТипПо умолчанию
inputSourceIdlong—
inputSourceId

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

SelectstartСобытие
# Selectstart
C#
public event WebXRInterface.SelectstartEventHandler Selectstart;

Начало действия основного выбора источника. Перед событием native-код обновляет input source. Не означает наличие trigger/grip кнопки у любого устройства; используйте переданный ID и режим луча.

Параметры обработчика
ИмяТипПо умолчанию
inputSourceIdlong—
inputSourceId

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

SessionEndedСобытие
# SessionEnded
C#
public event Action SessionEnded;

Browser end уведомление после native Uninitialize. Восстановите прежний Viewport.UseXR, обычный UI и собственное состояние. Не считайте, что каждый прямой вызов Uninitialize обязан синхронно породить это событие; не начинайте бесконечный автоперезапуск.

SessionFailedСобытие
# SessionFailed
C#
public event WebXRInterface.SessionFailedEventHandler SessionFailed;

Ошибка ранней проверки или асинхронного старта с текстом причины. Ранний отказ возможен внутри Initialize; browser-failure callback сначала делает Uninitialize. Восстановите UI/viewport и сохраните message. Это не универсальное событие всех ошибок: rejected support/refresh promises текущий мост не обрабатывает.

Параметры обработчика
ИмяТипПо умолчанию
messagestring—
message

Причина отказа старта. Сохраните для диагностики и покажите пользователю понятный результат; не подменяйте сообщение утверждением об отсутствии шлема.

SessionStartedСобытие
# SessionStarted
C#
public event Action SessionStarted;

Событие после создания browser session, настройки GL и получения reference space. После него читайте ReferenceSpaceType/EnabledFeatures и включайте Viewport.UseXR. Не заменяйте ожидание события проверкой true из Initialize: initialized выставляется раньше. Событие не подтверждает качество пикселей или наличие контроллеров.

SessionSupportedСобытие
# SessionSupported
C#
public event WebXRInterface.SessionSupportedEventHandler SessionSupported;

Результат IsSessionSupported: режим и bool поддержки. Не разрешение на запуск, не проверка required features и не подтверждение будущего успешного Initialize. При отсутствии navigator.xr мост сообщает false; rejected browser promise сейчас может не дать событие.

Параметры обработчика
ИмяТипПо умолчанию
sessionModestring—
supportedbool—
sessionMode

Режим inline, immersive-vr или immersive-ar. Поддержка и разрешение проверяются для конкретного режима отдельно.

supported

Результат проверки поддержки режима; true не подтверждает пользовательское разрешение или обязательные features будущего запроса.

SqueezeСобытие
# Squeeze
C#
public event WebXRInterface.SqueezeEventHandler Squeeze;

Завершение действия сжатия, синтезируемое текущим native-кодом сразу после Squeezeend. Не отдельное прямое browser-событие и не начало удержания. Выберите одно completion-событие для однократной игровой операции.

Параметры обработчика
ИмяТипПо умолчанию
inputSourceIdlong—
inputSourceId

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

SqueezeendСобытие
# Squeezeend
C#
public event WebXRInterface.SqueezeendEventHandler Squeezeend;

Конец действия сжатия источника; текущий native-код затем отдельно генерирует Squeeze. Не обрабатывайте оба события как две независимые покупки/выстрела.

Параметры обработчика
ИмяТипПо умолчанию
inputSourceIdlong—
inputSourceId

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

SqueezestartСобытие
# Squeezestart
C#
public event WebXRInterface.SqueezestartEventHandler Squeezestart;

Начало действия сжатия источника. Перед событием native-код обновляет input source. Не означает наличие trigger/grip кнопки у любого устройства; используйте переданный ID и режим луча.

Параметры обработчика
ИмяТипПо умолчанию
inputSourceIdlong—
inputSourceId

ID слота WebXR, допустимый диапазон 0–15. Это временный источник, не gamepad index или постоянный ID устройства; проверяйте активность и tracking data.

VisibilityStateChangedСобытие
# VisibilityStateChanged
C#
public event Action VisibilityStateChanged;

Событие без аргументов от browser visibilitychange. Перечитайте VisibilityState и обновите паузу/интерфейс по политике игры. Не означает завершение сессии, появление модели или восстановление трекинга.

WebXRInterface.TargetRayMode

ЗначениеОписание
Gaze = 1

Луч цели исходит из глаз наблюдателя и указывает в направлении его взгляда.

Screen = 3

Направляет луч с сенсорного экрана, мыши или другого тактильного устройства ввода.

TrackedPointer = 2

Направляет луч от портативной указки, скорее всего, сенсорного контроллера виртуальной реальности.

Unknown = 0

Мы не знаем целевой режим луча.

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

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

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

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