reckfellENGINE

MobileVRInterface

Телефонный stereo VR: параметры линз, высота и VRS.

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

MobileVRInterface — простой встроенный stereo-путь для телефона в держателе. Зарегистрированное имя — Native mobile. Он использует модель поворота по датчикам и фиксированную EyeHeight, без позиционного room tracking. Это не OpenXR/ARCore и не автоматическая интеграция любой гарнитуры.

Initialize регистрирует head и выбирает primary, но в текущем коде возвращает true и без телефона. Два вида и head pose тоже не подтверждают физические датчики. Управляйте запуском одним компонентом, не заменяйте чужой primary/head и восстанавливайте UseXR. Полный выполненный helper и диагностика: телефонный VR. Заимствованный интерфейс из FindInterface нельзя Dispose; new MobileVRInterface создаёт отдельный объект, не зарегистрированный автоматически.

EyeHeight задаётся в метрах до WorldScale; Iod, DisplayWidth и DisplayToLens — в сантиметрах. Oversample изменяет размеры target и frustum; K1/K2 задают distortion. Настройки не считывают физическую модель держателя или QR-профиль автоматически.

Задавайте WorldScale до старта. После первого GetCameraOffsets текущий кэш не пересчитывается от живого изменения WorldScale; воспроизведены старые ±0.03 при смене 1→2. Контролируемый stop/start пересоздал ±0.06. Это ограничение не исправлялось в движке. Не редактируйте возвращённые cached arrays как настройки.

На Windows headless/SDK 1.0.0 проверены параметры, lifecycle helper, primary/head ownership, восстановление UseXR и численные расчёты глаз. Телефон, GetTrackingStatus initialization, линзы/stereo pixels, VRS output, C#-экспорт на устройство, комфорт и производительность не проверены. Для OpenXR-устройств используйте запуск XR.

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

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

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

Создаёт отдельный неинициализированный объект с параметрами по умолчанию. Не добавляет его в список XRServer, не подключает телефон и не включает Viewport.UseXR. Для встроенного зарегистрированного интерфейса используйте FindInterface("Native mobile"); не запускайте конкурирующих владельцев head.

Свойства10

DisplayToLensСвойство
# DisplayToLens
C#
public double DisplayToLens { get; set; }

Расстояние от дисплея до линз в сантиметрах, изначально 4.0. Делитель в расчёте frustum: используйте осмысленное положительное значение. Setter сохраняет его и при изменении очищает projections; не является автоматической калибровкой.

DisplayWidthСвойство
# DisplayWidth
C#
public double DisplayWidth { get; set; }

Физическая ширина дисплея в сантиметрах, изначально 14.5. Используется в frustum и lens-distortion layout; не число пикселей и не ширина окна. Изменение очищает projection cache. Setter не измеряет устройство.

EyeHeightСвойство
# EyeHeight
C#
public double EyeHeight { get; set; }

Предполагаемая высота головы в метрах до WorldScale, изначально 1.85. Не измеряется датчиками положения. Process записывает эту фиксированную Y в head pose; игровое перемещение/origin задаются отдельно.

IodСвойство
# Iod
C#
public double Iod { get; set; }

Межзрачковое расстояние в сантиметрах, изначально 6.0. При WorldScale=1 даёт смещения глаз −0.03/+0.03. Изменение значения очищает offsets и projections; повтор той же величины не сбрасывает кэш. Не передавайте сюда метры.

K1Свойство
# K1
C#
public double K1 { get; set; }

Первый безразмерный коэффициент lens distortion, изначально 0.215. Используется при screen blit вместе с K2, не изменяет игровые координаты. Задавайте под реальные линзы; интерфейс не читает QR-профиль автоматически.

K2Свойство
# K2
C#
public double K2 { get; set; }

Второй безразмерный коэффициент lens distortion, изначально 0.215. Работает вместе с K1; не является силой AA или уровнем качества. Setter сохраняет число без подтверждения подходящей калибровки линз.

OffsetRectСвойство
# OffsetRect
C#
public Rect2 OffsetRect { get; set; }

Область вывода относительно screen rect, изначально Rect2(0,0,1,1): весь доступный прямоугольник. Position и Size масштабируются размером screen rect; это не пиксели и не смещение tracking origin. Не включает вывод SubViewport на экран сам по себе.

OversampleСвойство
# Oversample
C#
public double Oversample { get; set; }

Множитель рендера, изначально 1.5. На глаз target равен половине ширины окна × множитель и высоте окна × множитель; также влияет на frustum и distortion upscale. Не MSAA и не гарантированное улучшение. Изменение очищает projection cache; выбирайте положительное значение под устройство.

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

Минимальная центральная область полной плотности VRS в процентах размера, изначально 20. Setter ограничивает диапазоном 1–100 с предупреждением при выходе. Нужен используемый XR VRS путь; сохранённое значение не подтверждает применение карты или качество изображения.

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

Сила построения VRS-карты, изначально 1. Setter ограничивает диапазоном 0.1–10 с предупреждением при выходе. Большее значение меняет компромисс плотности/качества, а не обещает конкретный FPS. Фактическая карта и производительность здесь не проверены.

Методы20

GetDisplayToLensdouble
# GetDisplayToLens
C#
public double GetDisplayToLens();

Возвращает сохранённое DisplayToLens, не запрос физических параметров устройства. Расстояние от дисплея до линз в сантиметрах, изначально 4.0. Делитель в расчёте frustum: используйте осмысленное положительное значение. Setter сохраняет его и при изменении очищает projections; не является автоматической калибровкой.

Возвращает double

Сохранённое DisplayToLens; не подтверждение оборудования или качества вывода.

GetDisplayWidthdouble
# GetDisplayWidth
C#
public double GetDisplayWidth();

Возвращает сохранённое DisplayWidth, не запрос физических параметров устройства. Физическая ширина дисплея в сантиметрах, изначально 14.5. Используется в frustum и lens-distortion layout; не число пикселей и не ширина окна. Изменение очищает projection cache. Setter не измеряет устройство.

Возвращает double

Сохранённое DisplayWidth; не подтверждение оборудования или качества вывода.

GetEyeHeightdouble
# GetEyeHeight
C#
public double GetEyeHeight();

Возвращает сохранённое EyeHeight, не запрос физических параметров устройства. Предполагаемая высота головы в метрах до WorldScale, изначально 1.85. Не измеряется датчиками положения. Process записывает эту фиксированную Y в head pose; игровое перемещение/origin задаются отдельно.

Возвращает double

Сохранённое EyeHeight; не подтверждение оборудования или качества вывода.

GetIoddouble
# GetIod
C#
public double GetIod();

Возвращает сохранённое Iod, не запрос физических параметров устройства. Межзрачковое расстояние в сантиметрах, изначально 6.0. При WorldScale=1 даёт смещения глаз −0.03/+0.03. Изменение значения очищает offsets и projections; повтор той же величины не сбрасывает кэш. Не передавайте сюда метры.

Возвращает double

Сохранённое Iod; не подтверждение оборудования или качества вывода.

GetK1double
# GetK1
C#
public double GetK1();

Возвращает сохранённое K1, не запрос физических параметров устройства. Первый безразмерный коэффициент lens distortion, изначально 0.215. Используется при screen blit вместе с K2, не изменяет игровые координаты. Задавайте под реальные линзы; интерфейс не читает QR-профиль автоматически.

Возвращает double

Сохранённое K1; не подтверждение оборудования или качества вывода.

GetK2double
# GetK2
C#
public double GetK2();

Возвращает сохранённое K2, не запрос физических параметров устройства. Второй безразмерный коэффициент lens distortion, изначально 0.215. Работает вместе с K1; не является силой AA или уровнем качества. Setter сохраняет число без подтверждения подходящей калибровки линз.

Возвращает double

Сохранённое K2; не подтверждение оборудования или качества вывода.

GetOffsetRectRect2
# GetOffsetRect
C#
public Rect2 GetOffsetRect();

Возвращает сохранённое OffsetRect, не запрос физических параметров устройства. Область вывода относительно screen rect, изначально Rect2(0,0,1,1): весь доступный прямоугольник. Position и Size масштабируются размером screen rect; это не пиксели и не смещение tracking origin. Не включает вывод SubViewport на экран сам по себе.

Возвращает Rect2

Сохранённое OffsetRect; не подтверждение оборудования или качества вывода.

GetOversampledouble
# GetOversample
C#
public double GetOversample();

Возвращает сохранённое Oversample, не запрос физических параметров устройства. Множитель рендера, изначально 1.5. На глаз target равен половине ширины окна × множитель и высоте окна × множитель; также влияет на frustum и distortion upscale. Не MSAA и не гарантированное улучшение. Изменение очищает projection cache; выбирайте положительное значение под устройство.

Возвращает double

Сохранённое Oversample; не подтверждение оборудования или качества вывода.

GetVrsMinRadiusfloat
# GetVrsMinRadius
C#
public float GetVrsMinRadius();

Возвращает сохранённое VrsMinRadius, не запрос физических параметров устройства. Минимальная центральная область полной плотности VRS в процентах размера, изначально 20. Setter ограничивает диапазоном 1–100 с предупреждением при выходе. Нужен используемый XR VRS путь; сохранённое значение не подтверждает применение карты или качество изображения.

Возвращает float

Сохранённое VrsMinRadius; не подтверждение оборудования или качества вывода.

GetVrsStrengthfloat
# GetVrsStrength
C#
public float GetVrsStrength();

Возвращает сохранённое VrsStrength, не запрос физических параметров устройства. Сила построения VRS-карты, изначально 1. Setter ограничивает диапазоном 0.1–10 с предупреждением при выходе. Большее значение меняет компромисс плотности/качества, а не обещает конкретный FPS. Фактическая карта и производительность здесь не проверены.

Возвращает float

Сохранённое VrsStrength; не подтверждение оборудования или качества вывода.

SetDisplayToLensvoid
# SetDisplayToLens
C#
public void SetDisplayToLens(double displayToLens);

Настраивает DisplayToLens этого интерфейса; не инициализирует его. Расстояние от дисплея до линз в сантиметрах, изначально 4.0. Делитель в расчёте frustum: используйте осмысленное положительное значение. Setter сохраняет его и при изменении очищает projections; не является автоматической калибровкой.

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

Расстояние от дисплея до линз в сантиметрах, изначально 4.0. Делитель в расчёте frustum: используйте осмысленное положительное значение. Setter сохраняет его и при изменении очищает projections; не является автоматической калибровкой.

SetDisplayWidthvoid
# SetDisplayWidth
C#
public void SetDisplayWidth(double displayWidth);

Настраивает DisplayWidth этого интерфейса; не инициализирует его. Физическая ширина дисплея в сантиметрах, изначально 14.5. Используется в frustum и lens-distortion layout; не число пикселей и не ширина окна. Изменение очищает projection cache. Setter не измеряет устройство.

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

Физическая ширина дисплея в сантиметрах, изначально 14.5. Используется в frustum и lens-distortion layout; не число пикселей и не ширина окна. Изменение очищает projection cache. Setter не измеряет устройство.

SetEyeHeightvoid
# SetEyeHeight
C#
public void SetEyeHeight(double eyeHeight);

Настраивает EyeHeight этого интерфейса; не инициализирует его. Предполагаемая высота головы в метрах до WorldScale, изначально 1.85. Не измеряется датчиками положения. Process записывает эту фиксированную Y в head pose; игровое перемещение/origin задаются отдельно.

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

Предполагаемая высота головы в метрах до WorldScale, изначально 1.85. Не измеряется датчиками положения. Process записывает эту фиксированную Y в head pose; игровое перемещение/origin задаются отдельно.

SetIodvoid
# SetIod
C#
public void SetIod(double iod);

Настраивает Iod этого интерфейса; не инициализирует его. Межзрачковое расстояние в сантиметрах, изначально 6.0. При WorldScale=1 даёт смещения глаз −0.03/+0.03. Изменение значения очищает offsets и projections; повтор той же величины не сбрасывает кэш. Не передавайте сюда метры.

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

Межзрачковое расстояние в сантиметрах, изначально 6.0. При WorldScale=1 даёт смещения глаз −0.03/+0.03. Изменение значения очищает offsets и projections; повтор той же величины не сбрасывает кэш. Не передавайте сюда метры.

SetK1void
# SetK1
C#
public void SetK1(double k);

Настраивает K1 этого интерфейса; не инициализирует его. Первый безразмерный коэффициент lens distortion, изначально 0.215. Используется при screen blit вместе с K2, не изменяет игровые координаты. Задавайте под реальные линзы; интерфейс не читает QR-профиль автоматически.

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

Первый безразмерный коэффициент lens distortion, изначально 0.215. Используется при screen blit вместе с K2, не изменяет игровые координаты. Задавайте под реальные линзы; интерфейс не читает QR-профиль автоматически.

SetK2void
# SetK2
C#
public void SetK2(double k);

Настраивает K2 этого интерфейса; не инициализирует его. Второй безразмерный коэффициент lens distortion, изначально 0.215. Работает вместе с K1; не является силой AA или уровнем качества. Setter сохраняет число без подтверждения подходящей калибровки линз.

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

Второй безразмерный коэффициент lens distortion, изначально 0.215. Работает вместе с K1; не является силой AA или уровнем качества. Setter сохраняет число без подтверждения подходящей калибровки линз.

SetOffsetRectvoid
# SetOffsetRect
C#
public void SetOffsetRect(Rect2 offsetRect);

Настраивает OffsetRect этого интерфейса; не инициализирует его. Область вывода относительно screen rect, изначально Rect2(0,0,1,1): весь доступный прямоугольник. Position и Size масштабируются размером screen rect; это не пиксели и не смещение tracking origin. Не включает вывод SubViewport на экран сам по себе.

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

Область вывода относительно screen rect, изначально Rect2(0,0,1,1): весь доступный прямоугольник. Position и Size масштабируются размером screen rect; это не пиксели и не смещение tracking origin. Не включает вывод SubViewport на экран сам по себе.

SetOversamplevoid
# SetOversample
C#
public void SetOversample(double oversample);

Настраивает Oversample этого интерфейса; не инициализирует его. Множитель рендера, изначально 1.5. На глаз target равен половине ширины окна × множитель и высоте окна × множитель; также влияет на frustum и distortion upscale. Не MSAA и не гарантированное улучшение. Изменение очищает projection cache; выбирайте положительное значение под устройство.

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

Множитель рендера, изначально 1.5. На глаз target равен половине ширины окна × множитель и высоте окна × множитель; также влияет на frustum и distortion upscale. Не MSAA и не гарантированное улучшение. Изменение очищает projection cache; выбирайте положительное значение под устройство.

SetVrsMinRadiusvoid
# SetVrsMinRadius
C#
public void SetVrsMinRadius(float radius);

Настраивает VrsMinRadius этого интерфейса; не инициализирует его. Минимальная центральная область полной плотности VRS в процентах размера, изначально 20. Setter ограничивает диапазоном 1–100 с предупреждением при выходе. Нужен используемый XR VRS путь; сохранённое значение не подтверждает применение карты или качество изображения.

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

Минимальная центральная область полной плотности VRS в процентах размера, изначально 20. Setter ограничивает диапазоном 1–100 с предупреждением при выходе. Нужен используемый XR VRS путь; сохранённое значение не подтверждает применение карты или качество изображения.

SetVrsStrengthvoid
# SetVrsStrength
C#
public void SetVrsStrength(float strength);

Настраивает VrsStrength этого интерфейса; не инициализирует его. Сила построения VRS-карты, изначально 1. Setter ограничивает диапазоном 0.1–10 с предупреждением при выходе. Большее значение меняет компромисс плотности/качества, а не обещает конкретный FPS. Фактическая карта и производительность здесь не проверены.

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

Сила построения VRS-карты, изначально 1. Setter ограничивает диапазоном 0.1–10 с предупреждением при выходе. Большее значение меняет компромисс плотности/качества, а не обещает конкретный FPS. Фактическая карта и производительность здесь не проверены.

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

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

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

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