XGRIDSДокументация
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Lixel CyberColor

    • Руководство пользователя LCC Studio

      • Начало работы
      • Версия и обновления
      • Загрузка и установка
      • Обзор интерфейса и навигация
      • Перед реконструкцией
      • Реконструкция модели
      • Реконструкция одиночной модели
      • Объединение карт
      • Воздушно-наземное объединение
      • Воздушная реконструкция
      • Мои модели
      • Другие функции
      • Настройки и учётная запись
      • Конвертер
      • Реконструкция по видео
      • Часто задаваемые вопросы
    • LCC Scene Editor

      • Версия и обновления
      • Учётная запись и вход
      • Обзор продукта и главная страница
      • Интерфейс редактора
      • Режимы навигации по сцене
      • Файл
      • Настройки
      • Операции редактирования
      • Окно
      • Глобальная панель инструментов
      • Ресурсы и свойства
      • Левая панель инструментов
      • Точки обзора
      • Портал
      • Skybox
      • Аннотации
      • Измерение
      • Flythrough
      • Отчёт по сцене
      • 3D Layout
      • Мини-карта
      • Preview Mode (Viewer)
      • Справка
      • Часто задаваемые вопросы
      • Точка появления
    • LCC Model Editor

      • Версия и обновления
      • Руководство пользователя
      • Обзор и интерфейс
      • Операции с файлами
      • Инструменты выбора
      • Редактирование моделей
      • Измерение
      • Цветокоррекция
      • Управление ресурсами
      • Настройки и справка
      • Часто задаваемые вопросы
  • Plugin & SDK

    • Unreal

      • Введение
      • Быстрый старт — Windows
      • Быстрый старт — Linux
      • Быстрый старт — Quest3
      • Редакции и лицензирование
      • Рендеринг
      • Растеризация Tiled (экспериментально)
      • Визуальные настройки
      • Нормали и освещение
      • Редактирование сцены
      • Параметры производительности
      • Руководство по оптимизации производительности
      • Интеграция со сторонними и движковыми плагинами
      • Прокси-меш
      • Анимация загрузки
      • Коллизии
      • Поддержка системы навигации
      • Поддержка однослойной воды
      • Локализация
      • Частые вопросы
      • Устранение неполадок
      • Журналы и диагностика
      • Свяжитесь с нами
      • Рекомендуемые практики

        • Переосвещение 3DGS с помощью меша LixelStudio
      • Справочник API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actor SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Журнал изменений

        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1

Enums: справочник перечислений

Перечисления, которые модуль LCC4UnrealRuntime предоставляет вне себя.

МодульLCC4UnrealRuntime
Заголовочный файлCore/LCCEnum.h
#include "Core/LCCEnum.h"

Перечисления с пометкой BlueprintType доступны в Blueprint напрямую: их можно подключить к узлу Switch и использовать как тип переменной.

Рендеринг

ERenderMode

Режим отображения. Используется в ULCCComponentBase::RenderMode.

ЗначениеОтображение в панелиОписание
Splatting3DGSОтображение как 3D гауссово splatting, качество высокое, затраты большие
PointCloudPoint CloudОтображение как облако точек, качество ниже, затраты меньше

Переход к облаку точек заметно снижает затраты и подходит для обзорных видов, мини-карт и дальнего плана, где детали не нужны. В режиме облака точек параметры, специфичные для 3DGS (сферические гармоники, SplatScale, GlobalAlpha), не действуют.

Связанные интерфейсы: SetRenderMode, ToggleRenderMode

ELoadMode

Режим фильтрации при загрузке. Используется в ULCCComponentBase::LoadMode.

ЗначениеОтображение в панелиОписание
BothBothРендерить основную часть и окружение
OnlyMainOnlyMainРендерить только основную часть
OnlyEnvironmentOnlyEnvironmentРендерить только окружение
NoneNoneНе рендерить ничего

Основная часть — это ключевая область съёмки, а окружение — дополнительные данные по периферии. None равносильно временному скрытию с сохранением данных в памяти, поэтому восстановление гораздо быстрее повторной загрузки.

Связанные интерфейсы: SetLoadMode

ELightMode

Режим освещения. Используется в ULCCComponentBase::LightMode.

ЗначениеОтображение в панелиОписание
UnlitUnlitНе подвержен освещению сцены, показывает исходный цвет со съёмки
LitLitУчаствует в освещении сцены и взаимодействует с динамическим светом

В данных съёмки освещение места уже запечено, поэтому переход к Lit добавляет ещё один слой и легко приводит к пересвету. Для LCC2 нужно вместе с этим понизить исходную яркость через LightingScale. Действует только в режиме 3DGS.

Связанные интерфейсы: SetLightMode, ToggleLightMode

EShadowMode

Режим теней.

ЗначениеОтображение в панелиОписание
NoneNoneТени не принимаются
StaticStaticПринимаются статические тени
DynamicDynamicПринимаются динамические тени

EColorationMode

Режим раскраски.

Способ раскраски в режиме отображения облаком точек. Используется в ULCCComponentBase::ColorationMode.

ЗначениеОтображение в панелиОписание
ElevationEvelationРаскраска по высоте, перекрывает исходный цвет
DataDataИспользуется RGB из самих данных

Elevation вместе с ElevationColorBottom и ElevationColorTop даёт визуализацию высоты рельефа; Data показывает реальные цвета объектов. Действует только при режиме отображения облаком точек, см. Настройку изображения — облако точек.

ELCC2NormalGenerationMode

Режим генерации нормалей в LCC2. Используется в ULCC2Component::NormalMode.

У данных 3DGS нет геометрических нормалей, а освещению нормали нужны. Первые три режима строят приближение, и только ProxyMesh даёт настоящие нормали.

ЗначениеОтображение в панелиНастоящая светотеньОписание
FixedFixedНетВся область 3DGS использует одну заданную пользователем мировую нормаль, по умолчанию направленную вверх. Яркость всей области равна dot(нормаль, направление света)
ViewFacingView FacingНетВся область обращена к камере и освещается равномерно
HemisphericalHemisphericalНетНормали, не зависящие от камеры, отображаются из положения на экране в фиксированную мировую полусферу
ProxyMeshProxy MeshДаНастоящие глубину и нормали даёт ALCC2ProxyMesh в сцене, а 3DGS отвечает только за цвет

Компромиссы режимов:

РежимДостоинстваНедостатки
FixedНет диагональных световых полос, полная стабильность при движении камеры, минимальные затратыСовсем нет объёмной светотени; когда свет приходит с обратной стороны нормали, вся область темнеет
ViewFacingНе требует настройки, нет диагональных световых полосНет объёмной светотени; при повороте камеры общая яркость плывёт
HemisphericalНет диагональных световых полос, стабильность при движении камеры, самый плавный переход при движении солнцаСветотень по-прежнему не настоящая; нужно подбирать NormalPole и NormalHemiSpread
ProxyMeshНастоящие геометрические нормали и глубинаНужно изготовить и разместить подходящий прокси-меш; требуется лицензия, без неё происходит откат к Fixed

Рекомендации по выбору: по умолчанию Fixed; для плавного движения солнца — Hemispherical; для настоящей объёмной светотени — ProxyMesh; ViewFacing подходит только для быстрой проверки результата.

Связанные страницы: ULCC2Component, ALCC2ProxyMesh

Обрезка и сечение

EClipType

Направление обрезки. Используется в ALCCClippingVolume::Mode.

ЗначениеОтображение в панелиОписание
InsideInsideОбрезается внутренняя часть объёма
OutsideOutsideОбрезается внешняя часть объёма

Inside применяют, чтобы вырезать проёмы и раскрыть оболочку; Outside — чтобы оставить только интересующую область.

EClipVolumeType

Форма объёма обрезки. Используется в ALCCClippingVolume::VolumeType.

ЗначениеОписание
BoxОбъём в форме бокса
SphereОбъём в форме сферы

ESectionType

Направление сечения. Используется в ALCCSectionPlane::Mode.

ЗначениеОтображение в панелиОписание
UpsideUpsideОтсекается то, что выше плоскости
DownsideDownsideОтсекается то, что ниже плоскости

Верх и низ отсчитываются от собственной ориентации плоскости, а не от мировых координат. Поворот секущей плоскости даёт сечение в любом направлении.

ELoadRegion

Область загрузки. Используется в ALCCLoadVolume::Mode.

ЗначениеОтображение в панелиОписание
InsideInsideЗагружаются только данные внутри объёма
OutsideOutsideЗагружаются только данные вне объёма

Отличие от EClipType: здесь выбирается, какую часть загружать, а не какую обрезать. Отсеянные области вообще не читаются, поэтому объём загрузки и расход видеопамяти снижаются. Проверка идёт по узлам, поэтому граница грубее, чем у объёма обрезки.

ELoadVolumeType

Форма объёма загрузки. Используется в ALCCLoadVolume::VolumeType.

ЗначениеОписание
BoxОбъём в форме бокса
SphereОбъём в форме сферы

Связанные страницы: ALCCClippingVolume, ALCCSectionPlane, Объёмы загрузки

Данные и форматы

ELCCVersion

Версия данных.

ЗначениеОписание
LCCФормат LCC1
LCC2Формат LCC2

Связанные интерфейсы: ULCCComponentBase::GetLccVersion

EFileFormat

Формат файла. Тип возвращаемого значения ULCCUtilLibrary::DetermineFileFormat.

ЗначениеСоответствующее расширение
NoneНе распознано или путь не существует
LCC.lcc
Splats.splats
LAS.las
PLY.ply

Обрати внимание, что охват распознавания у DetermineFileFormat ограничен: для .lcc2, .sog и .spz возвращается None. Эти форматы определяй прямо по расширению, подробнее см. DetermineFileFormat.

EDataSourceType

Формат источника данных дерева LCC2. Используется в FLCC2MetaInfo::SplatType.

ЗначениеОписание
SOGИсточник данных .sog
SPZИсточник данных .spz
PLYИсточник данных .ply

Это обычное перечисление C++ без пометки UENUM, в Blueprint оно не видно.

EFileType

Тип содержимого данных.

ЗначениеОтображение в панелиОписание
PortablePortableТолько RGB, без сферических гармоник
QualityQualityИ RGB, и сферические гармоники

У данных Portable сферических гармоник нет, поэтому bUseShcoef в этом случае недоступно для изменения. Метод CanSetShcoef() фактически лишь проверяет, равен ли тип Quality.

ELCCSourceType

Источник данных. Тип возвращаемого значения ULCCUtilLibrary::DetermineSourceType.

ЗначениеОписание
LocalЛокальный файл
HttpСетевой адрес

ECollisionType

Формат данных коллизий. Тип возвращаемого значения ULCCUtilLibrary::DetermineCollisionType.

ЗначениеОписание
NoneДанных коллизий нет
BinСтарый формат .bin
LciНовый формат .lci
PlyКоллизии из облака точек .ply

Когда возвращается None, включение bEnableCollision не даёт эффекта.

ELoadStatus

Состояние загрузки.

ЗначениеОписание
SuccessУспешно
FailureНеудачно
ProgressВыполняется

Производительность и планирование

ETraversalType

Способ обхода узлов. Используется для пункта Default Traversal Type в настройках проекта (Project Settings → Plugins → LCC4Unreal).

ЗначениеОтображение в панелиОписание
CircleCircleКруговой обход с центром в камере и радиусом, равным максимальной дистанции рендеринга
SectorFrustumОбход на основе пирамиды видимости камеры

Frustum обрабатывает только узлы в поле зрения и обычно экономнее, но при быстром повороте обзора узлы вне поля зрения не предзагружены, из-за чего возможна задержка их подгрузки.

Обрати внимание: имя элемента перечисления — Sector, а в панели отображается Frustum.

ESortMethod

Способ сортировки полупрозрачности. Используется для пункта Default Sort Method в настройках проекта.

ЗначениеОписание
GPUСортировка на GPU
CPUСортировка на CPU

Обычно используют GPU.

ESortMode

Порядок сортировки.

ЗначениеОписание
AscendingПо возрастанию
DescendingПо убыванию

EComputeType

Тип вычислительного конвейера.

ЗначениеОписание
ComputeCompute на графическом конвейере
AsyncComputeАсинхронный вычислительный конвейер

Текущая реализация использует Compute; у AsyncCompute есть проблемы с рендерингом, и он пока не включён.

Локализация

ELocale

Языковая среда. Тип возвращаемого значения ULCCUtilLibrary::GetLocale.

ЗначениеОписание
EN_USАнглийский
ZH_CNУпрощённый китайский

ELanguagePreference

Предпочтение языка интерфейса плагина. Используется для пункта Language в настройках проекта.

ЗначениеОтображение в панелиОписание
FollowEditorFollow EditorСледовать текущей языковой настройке редактора
AlwaysEnglishAlways EnglishВсегда английский, независимо от языка редактора

Использование перечислений в Blueprint

В Blueprint по перечислению можно ветвиться узлом Switch:

[Get Render Mode]
        Target = (LCC Component)
        │ Return Value ──┐
        ▼                │
[Switch on ERenderMode] ◀┘
        │ Splatting  ──▶ (3DGS branch logic)
        │ Point Cloud ─▶ (point cloud branch logic)

Можно и сравнивать напрямую:

[Get Effective Normal Generation Mode]
        │ Return Value ──┐
        ▼                │
[Equal (Enum)] ◀─────────┘
        A = (Return Value)
        B = Proxy Mesh
        │
        ▼
[Branch]

Смотрите также

  • ULCCComponentBase: применение ERenderMode, ELoadMode, ELightMode
  • ULCC2Component: применение ELCC2NormalGenerationMode
  • ULCCUtilLibrary: вспомогательные функции, возвращающие перечисления форматов
  • Structs: структуры, использующие эти перечисления
Назад
ULCCUtilLibrary
Далее
Structs