reckfellENGINE

OpenXRCompositionLayerEquirect

Сферический слой с угловыми границами в радианах.

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

Показывает viewport на внутренней стороне сферического equirectangular сегмента. Radius задаёт поверхность; CentralHorizontalAngle, UpperVerticalAngle и LowerVerticalAngle задают угловой охват. Все углы в радианах; upper/lower в API — положительные величины.

При несимметричных вертикальных углах экватор не находится в середине текстуры: upper=Pi/3 и lower=Pi/6 дали V=2/3. Не применяйте плоский QuadUiRay helper к этой геометрии. IntersectsRay — геометрический UV, не physics occlusion или GUI event; проверяйте (-1,-1), конечность результата и текущую pose.

Нужны equirect2 runtime extension либо fallback; его разбиение задаёт FallbackSegments, не native resolution. Сохраняйте ортонормальный transform без scale/shear. Основная настройка слоёв описывает viewport, alpha и ordering.

На SDK 1.0.0 общий набор из 14 headless проверок Cylinder/Equirect выполнил параметры и отдельные ray cases, включая несимметричный центр/выход ниже lower angle. Native composition, изображение/качество, GUI routing, WorldScale!=1 и export не проверены. Source, Runtime и SDK не менялись.

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

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

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

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

Свойства5

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

Горизонтальный охват сферы в радианах, изначально Pi/2. Setter отклоняет <=0 и обновляет shape/fallback. Это угловая ширина, не pixels/FOV камеры. Не рассчитывайте на автоматическую валидацию всех runtime limits или правильную развёртку любой текстуры.

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

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

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

Положительная величина нижнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. В C# передавайте положительное число: setter сам меняет знак для native equirect layer. Изменяет вертикальную раскладку UV вместе с UpperVerticalAngle; не переворачивайте знак вручную.

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

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

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

Положительная величина верхнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. Вместе с LowerVerticalAngle задаёт вертикальный охват. При несимметричных углах луч по экватору не обязан давать V=0.5: для upper=Pi/3, lower=Pi/6 проверено V=2/3.

Методы10

GetCentralHorizontalAnglefloat
# GetCentralHorizontalAngle
C#
public float GetCentralHorizontalAngle();

Читает сохранённое значение. Горизонтальный охват сферы в радианах, изначально Pi/2. Setter отклоняет <=0 и обновляет shape/fallback. Это угловая ширина, не pixels/FOV камеры. Не рассчитывайте на автоматическую валидацию всех runtime limits или правильную развёртку любой текстуры.

Возвращает float

Горизонтальный охват сферы в радианах, изначально Pi/2. Setter отклоняет <=0 и обновляет shape/fallback. Это угловая ширина, не pixels/FOV камеры. Не рассчитывайте на автоматическую валидацию всех runtime limits или правильную развёртку любой текстуры.

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 разбиение применяется в двух направлениях, поэтому расход памяти растёт быстрее. Не считайте максимально большое значение режимом качества.

GetLowerVerticalAnglefloat
# GetLowerVerticalAngle
C#
public float GetLowerVerticalAngle();

Читает сохранённое значение. Положительная величина нижнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. В C# передавайте положительное число: setter сам меняет знак для native equirect layer. Изменяет вертикальную раскладку UV вместе с UpperVerticalAngle; не переворачивайте знак вручную.

Возвращает float

Положительная величина нижнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. В C# передавайте положительное число: setter сам меняет знак для native equirect layer. Изменяет вертикальную раскладку UV вместе с UpperVerticalAngle; не переворачивайте знак вручную.

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 не проверены.

GetUpperVerticalAnglefloat
# GetUpperVerticalAngle
C#
public float GetUpperVerticalAngle();

Читает сохранённое значение. Положительная величина верхнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. Вместе с LowerVerticalAngle задаёт вертикальный охват. При несимметричных углах луч по экватору не обязан давать V=0.5: для upper=Pi/3, lower=Pi/6 проверено V=2/3.

Возвращает float

Положительная величина верхнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. Вместе с LowerVerticalAngle задаёт вертикальный охват. При несимметричных углах луч по экватору не обязан давать V=0.5: для upper=Pi/3, lower=Pi/6 проверено V=2/3.

SetCentralHorizontalAnglevoid
# SetCentralHorizontalAngle
C#
public void SetCentralHorizontalAngle(float angle);

Настраивает параметр поверхности. Горизонтальный охват сферы в радианах, изначально Pi/2. Setter отклоняет <=0 и обновляет shape/fallback. Это угловая ширина, не pixels/FOV камеры. Не рассчитывайте на автоматическую валидацию всех runtime limits или правильную развёртку любой текстуры.

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

Горизонтальный охват сферы в радианах, изначально Pi/2. Setter отклоняет <=0 и обновляет shape/fallback. Это угловая ширина, не pixels/FOV камеры. Не рассчитывайте на автоматическую валидацию всех runtime limits или правильную развёртку любой текстуры.

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 разбиение применяется в двух направлениях, поэтому расход памяти растёт быстрее. Не считайте максимально большое значение режимом качества.

SetLowerVerticalAnglevoid
# SetLowerVerticalAngle
C#
public void SetLowerVerticalAngle(float angle);

Настраивает параметр поверхности. Положительная величина нижнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. В C# передавайте положительное число: setter сам меняет знак для native equirect layer. Изменяет вертикальную раскладку UV вместе с UpperVerticalAngle; не переворачивайте знак вручную.

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

Положительная величина нижнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. В C# передавайте положительное число: setter сам меняет знак для native equirect layer. Изменяет вертикальную раскладку UV вместе с UpperVerticalAngle; не переворачивайте знак вручную.

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 не проверены.

SetUpperVerticalAnglevoid
# SetUpperVerticalAngle
C#
public void SetUpperVerticalAngle(float angle);

Настраивает параметр поверхности. Положительная величина верхнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. Вместе с LowerVerticalAngle задаёт вертикальный охват. При несимметричных углах луч по экватору не обязан давать V=0.5: для upper=Pi/3, lower=Pi/6 проверено V=2/3.

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

Положительная величина верхнего угла в радианах, изначально Pi/4; допустимо 0<angle<=Pi/2. Вместе с LowerVerticalAngle задаёт вертикальный охват. При несимметричных углах луч по экватору не обязан давать V=0.5: для upper=Pi/3, lower=Pi/6 проверено V=2/3.

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

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

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

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