reckfellENGINE

VoxelGI

Объём непрямого освещения с подготовленными VoxelGIData.

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

VoxelGI использует предварительно подготовленную статическую геометрию для непрямого освещения во время рендеринга. Настройте Size и Subdiv, подготовьте меши с GIMode Static и запеките Data. Полный размер коробки задаёт Size; внешний бинарный ресурс данных сохраняйте в .rbin.

Рабочий процесс и диагностика засветов: VoxelGI. Реальный GPU-прогон подтвердил статическую эмиссию и сохранение данных; это не доказательство качества любых динамических мешей или скорости сцены.

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

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

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

Создаёт VoxelGI без Data, с Size = (20, 20, 20) и Subdiv128. Добавьте в дерево уровня, настройте геометрию и выполните запекание либо назначьте готовые данные. Для визуального результата нужен поддерживаемый рендерер Forward+.

Свойства4

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

Атрибуты для нормализации экспозиции запекания. Это не активная камера и не её Environment. При физическом освещении учитывается нормализация CameraAttributes; назначение также обновляет нормализацию существующего Data. Согласуйте параметры запекания с используемой экспозицией.

DataСвойство
# Data
C#
public VoxelGIData Data { get; set; }

Подготовленные данные объёма. Без Data VoxelGI не даёт непрямого света. Назначение не выполняет запекание и не копирует ресурс; null отключает назначенные данные. Для независимых объёмов учитывайте совместное использование ресурса.

SizeСвойство
# Size
C#
public Vector3 Size { get; set; }

Полный размер объёма по осям, не половина размера. Локальные границы: от −Size/2 до +Size/2. Каждая компонента при записи ограничивается снизу значением 1. После изменения заново запеките Data; старые данные сами не перестраиваются.

SubdivСвойство
# Subdiv
C#
public VoxelGI.SubdivEnum Subdiv { get; set; }

Детализация длиннейшей оси: варианты Subdiv64, Subdiv128, Subdiv256, Subdiv512. По умолчанию Subdiv128. Короткие оси подстраиваются. Изменение не перезапекает Data; более высокая детализация требует больше работы и памяти. Передавайте допустимый вариант enum.

Методы10

Bakevoid
# Bake
C#
public void Bake(Entity fromNode = null, bool createVisualDebug = false);

Синхронно подготавливает статическую видимую геометрию из fromNode и потомков в пределах объёма. При null корень — родитель VoxelGI; он должен существовать. При createVisualDebug = false создаёт или обновляет Data. Уже назначенный ресурс может измениться, а не замениться новым. Метод возвращает void: проверяйте ошибки и результат, старый ненулевой Data сам по себе не доказывает успешное новое запекание. Сохранение уровня не заменяет сохранение внешнего Data в .rbin.

Параметры
ИмяТипПо умолчанию
fromNodeEntitynull
createVisualDebugboolfalse
fromNode

Корень поиска геометрии; null использует родителя VoxelGI.

createVisualDebug

true: создать диагностическую геометрию вместо обычного формирования Data. По умолчанию false.

DebugBakevoid
# DebugBake
C#
public void DebugBake();

Запускает Bake с null и createVisualDebug = true: создаёт дочерний MultiMeshInstance3D для просмотра вокселизации вместо обычного формирования Data. Это редакторский диагностический метод, не сохранение рабочего GI.

GetCameraAttributesCameraAttributes
# GetCameraAttributes
C#
public CameraAttributes GetCameraAttributes();

Возвращает текущее CameraAttributes. Атрибуты для нормализации экспозиции запекания. Это не активная камера и не её Environment. При физическом освещении учитывается нормализация CameraAttributes; назначение также обновляет нормализацию существующего Data. Согласуйте параметры запекания с используемой экспозицией.

Возвращает CameraAttributes

Текущее значение CameraAttributes; ресурс возвращается ссылкой, не независимой копией.

GetProbeDataVoxelGIData
# GetProbeData
C#
public VoxelGIData GetProbeData();

Возвращает текущее Data. Подготовленные данные объёма. Без Data VoxelGI не даёт непрямого света. Назначение не выполняет запекание и не копирует ресурс; null отключает назначенные данные. Для независимых объёмов учитывайте совместное использование ресурса.

Возвращает VoxelGIData

Текущее значение Data; ресурс возвращается ссылкой, не независимой копией.

GetSizeVector3
# GetSize
C#
public Vector3 GetSize();

Возвращает текущее Size. Полный размер объёма по осям, не половина размера. Локальные границы: от −Size/2 до +Size/2. Каждая компонента при записи ограничивается снизу значением 1. После изменения заново запеките Data; старые данные сами не перестраиваются.

Возвращает Vector3

Текущее значение Size.

GetSubdivVoxelGI.SubdivEnum
# GetSubdiv
C#
public VoxelGI.SubdivEnum GetSubdiv();

Возвращает текущее Subdiv. Детализация длиннейшей оси: варианты Subdiv64, Subdiv128, Subdiv256, Subdiv512. По умолчанию Subdiv128. Короткие оси подстраиваются. Изменение не перезапекает Data; более высокая детализация требует больше работы и памяти. Передавайте допустимый вариант enum.

Возвращает VoxelGI.SubdivEnum

Текущее значение Subdiv.

SetCameraAttributesvoid
# SetCameraAttributes
C#
public void SetCameraAttributes(CameraAttributes cameraAttributes);

Устанавливает CameraAttributes. Атрибуты для нормализации экспозиции запекания. Это не активная камера и не её Environment. При физическом освещении учитывается нормализация CameraAttributes; назначение также обновляет нормализацию существующего Data. Согласуйте параметры запекания с используемой экспозицией.

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

Новое значение CameraAttributes.

SetProbeDatavoid
# SetProbeData
C#
public void SetProbeData(VoxelGIData data);

Устанавливает Data. Подготовленные данные объёма. Без Data VoxelGI не даёт непрямого света. Назначение не выполняет запекание и не копирует ресурс; null отключает назначенные данные. Для независимых объёмов учитывайте совместное использование ресурса.

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

Новое значение Data.

SetSizevoid
# SetSize
C#
public void SetSize(Vector3 size);

Устанавливает Size. Полный размер объёма по осям, не половина размера. Локальные границы: от −Size/2 до +Size/2. Каждая компонента при записи ограничивается снизу значением 1. После изменения заново запеките Data; старые данные сами не перестраиваются.

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

Новое значение Size.

SetSubdivvoid
# SetSubdiv
C#
public void SetSubdiv(VoxelGI.SubdivEnum subdiv);

Устанавливает Subdiv. Детализация длиннейшей оси: варианты Subdiv64, Subdiv128, Subdiv256, Subdiv512. По умолчанию Subdiv128. Короткие оси подстраиваются. Изменение не перезапекает Data; более высокая детализация требует больше работы и памяти. Передавайте допустимый вариант enum.

Параметры
ИмяТипПо умолчанию
subdivVoxelGI.SubdivEnum—
subdiv

Новое значение Subdiv.

VoxelGI.SubdivEnum

ЗначениеОписание
Max = 4

Представляет размер перечисления VoxelGI.SubdivEnum.

Subdiv128 = 1

Использовать 128 подразделений. Это настройка качества по умолчанию.

Subdiv256 = 2

Использовать 256 делений.

Subdiv512 = 3

Использовать 512 подразбиений. Это настройка наивысшего качества, но медленная. На слабом оборудовании это может привести к остановке GPU.

Subdiv64 = 0

Используйте 64 подразделений. Это самая низкая настройка качества, но самая быстрая. Используйте ее, если можете, но особенно используйте ее на слабом оборудовании.

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

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

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

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