reckfellENGINE

OpenXRCompositionLayerCylinder

Цилиндрический слой; учитывайте ограничение AspectRatio hit test.

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

Показывает viewport на внутренней стороне цилиндрической дуги. Radius и CentralAngle задают ширину дуги, AspectRatio — её высоту. Углы API в радианах. Положительные размеры и ортонормальный transform необходимы; не используйте унаследованный Scale/skew как размер панели.

Native composition требует соответствующей cylinder extension; существование Entity и сохранённые параметры не подтверждают submit или пиксели. LayerViewport, alpha, порядок и владение описаны в руководстве слоёв. FallbackSegments влияет на mesh, не native разрешение.

Известный дефект: fallback использует высоту Radius*CentralAngle/AspectRatio, а IntersectsRay — умножение на AspectRatio. На текущем SDK при AspectRatio=2 воспроизведён ray hit выше видимой fallback-панели. Для pointer UI используйте AspectRatio=1 или Quad, пока нет отдельного правильного hit test. Это ограничение не исправлялось в движке.

14 headless проверок общего набора Cylinder/Equirect покрывают параметры, геометрические лучи и fallback AABB при XR off. Native submission, реальные устройства, GUI input, WorldScale!=1 и качество рендера не проверены.

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

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

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

Создаёт изогнутый слой с параметрами по умолчанию. Не запускает OpenXR и не назначает LayerViewport. Native support зависит от shape extension; без API возможен fallback после добавления в дерево. Сам constructor не подтверждает изображение или tracking.

Свойства4

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

Отношение ширины дуги к высоте, изначально 1. Setter отклоняет <=0. Fallback высота равна RadiusCentralAngle/AspectRatio, но текущий IntersectsRay использует RadiusCentralAngle*AspectRatio. При 2 воспроизведено попадание над видимой панелью. Для pointer UI используйте AspectRatio=1 либо Quad до отдельного корректного hit test; изменение масштаба не исправляет формулу.

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

Горизонтальный угол дуги в радианах, изначально Pi/2. Setter отклоняет <=0; degree-looking inspector presentation не меняет единицы C# API. Ширина дуги Radius*CentralAngle. Setter не подтверждает все ограничения реального OpenXR runtime. Согласуйте texture aspect и геометрию; не подставляйте 90 вместо Pi/2.

FallbackSegmentsСвойство
# FallbackSegments
C#
public uint FallbackSegments { get; set; }

Число разбиений fallback mesh, изначально 10. uint, 0 отклоняется; setter отмечает mesh для обновления. Не меняет native compositor resolution или геометрический ray test. Для Equirect разбиение применяется в двух направлениях, поэтому расход памяти растёт быстрее. Не считайте максимально большое значение режимом качества.

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

Радиус поверхности, изначально 1. Setter отклоняет <=0, сохраняет значение, обновляет native shape при наличии extension и отмечает fallback mesh для обновления. Используйте конечные положительные числа, не Entity Scale. Не меняет pixel Size viewport; размеры при другом WorldScale не проверены.

Методы8

GetAspectRatiofloat
# GetAspectRatio
C#
public float GetAspectRatio();

Читает сохранённое значение. Отношение ширины дуги к высоте, изначально 1. Setter отклоняет <=0. Fallback высота равна RadiusCentralAngle/AspectRatio, но текущий IntersectsRay использует RadiusCentralAngle*AspectRatio. При 2 воспроизведено попадание над видимой панелью. Для pointer UI используйте AspectRatio=1 либо Quad до отдельного корректного hit test; изменение масштаба не исправляет формулу.

Возвращает float

Отношение ширины дуги к высоте, изначально 1. Setter отклоняет <=0. Fallback высота равна RadiusCentralAngle/AspectRatio, но текущий IntersectsRay использует RadiusCentralAngle*AspectRatio. При 2 воспроизведено попадание над видимой панелью. Для pointer UI используйте AspectRatio=1 либо Quad до отдельного корректного hit test; изменение масштаба не исправляет формулу.

GetCentralAnglefloat
# GetCentralAngle
C#
public float GetCentralAngle();

Читает сохранённое значение. Горизонтальный угол дуги в радианах, изначально Pi/2. Setter отклоняет <=0; degree-looking inspector presentation не меняет единицы C# API. Ширина дуги Radius*CentralAngle. Setter не подтверждает все ограничения реального OpenXR runtime. Согласуйте texture aspect и геометрию; не подставляйте 90 вместо Pi/2.

Возвращает float

Горизонтальный угол дуги в радианах, изначально Pi/2. Setter отклоняет <=0; degree-looking inspector presentation не меняет единицы C# API. Ширина дуги Radius*CentralAngle. Setter не подтверждает все ограничения реального OpenXR runtime. Согласуйте texture aspect и геометрию; не подставляйте 90 вместо Pi/2.

GetFallbackSegmentsuint
# GetFallbackSegments
C#
public uint GetFallbackSegments();

Читает сохранённое значение. Число разбиений fallback mesh, изначально 10. uint, 0 отклоняется; setter отмечает mesh для обновления. Не меняет native compositor resolution или геометрический ray test. Для Equirect разбиение применяется в двух направлениях, поэтому расход памяти растёт быстрее. Не считайте максимально большое значение режимом качества.

Возвращает uint

Число разбиений fallback mesh, изначально 10. uint, 0 отклоняется; setter отмечает mesh для обновления. Не меняет native compositor resolution или геометрический ray test. Для Equirect разбиение применяется в двух направлениях, поэтому расход памяти растёт быстрее. Не считайте максимально большое значение режимом качества.

GetRadiusfloat
# GetRadius
C#
public float GetRadius();

Читает сохранённое значение. Радиус поверхности, изначально 1. Setter отклоняет <=0, сохраняет значение, обновляет native shape при наличии extension и отмечает fallback mesh для обновления. Используйте конечные положительные числа, не Entity Scale. Не меняет pixel Size viewport; размеры при другом WorldScale не проверены.

Возвращает float

Радиус поверхности, изначально 1. Setter отклоняет <=0, сохраняет значение, обновляет native shape при наличии extension и отмечает fallback mesh для обновления. Используйте конечные положительные числа, не Entity Scale. Не меняет pixel Size viewport; размеры при другом WorldScale не проверены.

SetAspectRatiovoid
# SetAspectRatio
C#
public void SetAspectRatio(float aspectRatio);

Настраивает параметр поверхности. Отношение ширины дуги к высоте, изначально 1. Setter отклоняет <=0. Fallback высота равна RadiusCentralAngle/AspectRatio, но текущий IntersectsRay использует RadiusCentralAngle*AspectRatio. При 2 воспроизведено попадание над видимой панелью. Для pointer UI используйте AspectRatio=1 либо Quad до отдельного корректного hit test; изменение масштаба не исправляет формулу.

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

Отношение ширины дуги к высоте, изначально 1. Setter отклоняет <=0. Fallback высота равна RadiusCentralAngle/AspectRatio, но текущий IntersectsRay использует RadiusCentralAngle*AspectRatio. При 2 воспроизведено попадание над видимой панелью. Для pointer UI используйте AspectRatio=1 либо Quad до отдельного корректного hit test; изменение масштаба не исправляет формулу.

SetCentralAnglevoid
# SetCentralAngle
C#
public void SetCentralAngle(float angle);

Настраивает параметр поверхности. Горизонтальный угол дуги в радианах, изначально Pi/2. Setter отклоняет <=0; degree-looking inspector presentation не меняет единицы C# API. Ширина дуги Radius*CentralAngle. Setter не подтверждает все ограничения реального OpenXR runtime. Согласуйте texture aspect и геометрию; не подставляйте 90 вместо Pi/2.

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

Горизонтальный угол дуги в радианах, изначально Pi/2. Setter отклоняет <=0; degree-looking inspector presentation не меняет единицы C# API. Ширина дуги Radius*CentralAngle. Setter не подтверждает все ограничения реального OpenXR runtime. Согласуйте texture aspect и геометрию; не подставляйте 90 вместо Pi/2.

SetFallbackSegmentsvoid
# SetFallbackSegments
C#
public void SetFallbackSegments(uint segments);

Настраивает параметр поверхности. Число разбиений fallback mesh, изначально 10. uint, 0 отклоняется; setter отмечает mesh для обновления. Не меняет native compositor resolution или геометрический ray test. Для Equirect разбиение применяется в двух направлениях, поэтому расход памяти растёт быстрее. Не считайте максимально большое значение режимом качества.

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

Число разбиений fallback mesh, изначально 10. uint, 0 отклоняется; setter отмечает mesh для обновления. Не меняет native compositor resolution или геометрический ray test. Для Equirect разбиение применяется в двух направлениях, поэтому расход памяти растёт быстрее. Не считайте максимально большое значение режимом качества.

SetRadiusvoid
# SetRadius
C#
public void SetRadius(float radius);

Настраивает параметр поверхности. Радиус поверхности, изначально 1. Setter отклоняет <=0, сохраняет значение, обновляет native shape при наличии extension и отмечает fallback mesh для обновления. Используйте конечные положительные числа, не Entity Scale. Не меняет pixel Size viewport; размеры при другом WorldScale не проверены.

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

Радиус поверхности, изначально 1. Setter отклоняет <=0, сохраняет значение, обновляет native shape при наличии extension и отмечает fallback mesh для обновления. Используйте конечные положительные числа, не Entity Scale. Не меняет pixel Size viewport; размеры при другом WorldScale не проверены.

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

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

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

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