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

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

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

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

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

      • Объединение нескольких крупных моделей 3DGS
  • 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.5.0
        • 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
    • Unity

      • Введение в Unity SDK
      • Технические возможности
      • Требования к среде разработки
      • Руководство по быстрому старту для PC
      • Руководство по оптимизации настроек проекта
      • Руководство по разработке для Pico 4 Ultra
      • Руководство по стримингу Pico 4 Ultra с PC
      • Руководство по разработке для Quest 3
      • Руководство по стримингу Quest 3 с PC
      • Руководство по разработке OpenXR
      • Руководство по бизнес-стримингу Pico 4 Ultra
      • Глоссарий
      • FAQ
      • Свяжитесь с нами
      • Руководство по разработке функций

        • Руководство по разработке смешанного рендеринга нескольких сцен
        • Руководство по разработке приёма теней
        • Руководство по разработке освещения в реальном времени
        • Руководство по разработке многокамерного рендеринга
        • Руководство по разработке рендеринга изображений высокого разрешения
        • Руководство по разработке совместимости форматов данных LCC и LCC2
        • Руководство по разработке эффекта загрузки
        • Руководство по разработке переключения режима рендеринга Mip
        • Руководство по разработке привязки к рёбрам и углам
        • Руководство по разработке проецируемых декалей
        • Руководство по разработке видеопроецируемой декали
        • Руководство по разработке подсветки
        • Руководство по разработке обрезки в реальном времени
        • Руководство по разработке коррекции цвета
        • Руководство по разработке получения данных Mesh сцены
        • Руководство по разработке в режиме редактора
        • Руководство по настройке параметров производительности рендеринга
        • Руководство по разработке совместной упаковки приложения и данных
        • Руководство по разработке системы коллизий
        • Руководство по проблемам с разрешениями при разработке на macOS
        • Руководство по разработке компиляции и упаковки для устройств iOS
      • Справочник по API

        • LCCManager
        • Renderer
        • Типы данных
      • Журнал изменений

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
  • API

    • Структурированное пространственное моделирование

      • Руководство по подключению
      • Процесс моделирования
      • Справочник по API
      • Временные учётные данные для загрузки
      • Коды ошибок

Независимый рендеринг для каждой камеры

По умолчанию режим рендеринга (RenderMode) и режим загрузки (LoadMode) одного LCC Actor одинаковы для всех видов. Эти настройки можно переопределить отдельно для конкретного игрока или конкретного SceneCapture: например, при разделении экрана показать игроку 1 3DGS, а игроку 2 — облако точек; или для SceneCapture мини-карты использовать облако точек при виде сверху и загружать только основную часть, чтобы снизить затраты.

Оба конвейера, LCC и LCC2, поддерживают этот набор интерфейсов. Сигнатуры см. в ULCCComponentBase — Multi-Viewport.

Только во время выполнения

Параметры этих функций — объекты времени выполнения (APlayerController / USceneCaptureComponent2D), которых ещё нет на этапе размещения в редакторе, поэтому это не свойства панели: их можно вызывать только во время игры из Blueprint или C++. RenderMode / LoadMode в панели — это глобальные значения по умолчанию для всех видов; данный набор интерфейсов делает локальное переопределение поверх глобального значения, а виды, для которых функция переопределения не вызвана, продолжают использовать глобальную настройку.

Пояснение: камеры различаются по «идентичности вида» — для вида игрока используется уникальный ID рендер-вида, для SceneCapture — индекс его RenderTarget. Поэтому нужно передавать PlayerController (а не Pawn): Pawn не несёт информации о том, «в каком вьюпорте он отображается».

Переопределение по игроку (разделение экрана / несколько локальных игроков)

// Вьюпорт игрока 2 показывает облако точек, остальные вьюпорты не затронуты
LCCComponent->SetPlayerRenderMode(Player2Controller, ERenderMode::PointCloud);
LCCComponent->SetPlayerLoadMode(Player2Controller, ELoadMode::OnlyMain);

Текстовый Blueprint:

[Custom Event: SetupSplitScreen]
        │
        ▼
[Get Player Controller]  Player Index = 1   → Player2Controller
        │
        ▼
[Set Player Render Mode]
        Target = (LCC Component)
        Player Controller = Player2Controller
        In Render Mode = Point Cloud

Настройка вступает в силу со следующего кадра. Если функция переопределения не вызвана, все вьюпорты используют общую глобальную настройку из панели.

Переопределение по SceneCapture (мини-карта / изображение наблюдения)

// Мини-карта: облако точек + только основная часть, минимальные затраты
LCCComponent->SetSceneCaptureRenderMode(MinimapCapture, ERenderMode::PointCloud);
LCCComponent->SetSceneCaptureLoadMode(MinimapCapture, ELoadMode::OnlyMain);
Мини-карта SceneCapture рендерится облаком точек сверху

Главный вьюпорт показывает 3DGS, а мини-карта SceneCapture в левом верхнем углу — облако точек при виде сверху

Предпосылка: чтобы SceneCapture рендерил содержимое LCC, нужно сначала включить SceneCaptureComponent Support в настройках проекта; по умолчанию этот пункт выключен.

Следите за моментом вызова (типичная ошибка)

Переопределение для SceneCapture вступает в силу только тогда, когда можно вычислить действительный ID вида. Если к этому моменту capture ещё ни разу не рендерился, ID получить нельзя, и настройка молча отбрасывается (без ошибки). Поэтому обеспечьте корректный момент одним из двух способов:

  1. Сначала захват, затем настройка, затем ещё захват: Capture Scene → SetSceneCaptureRenderMode/LoadMode → Capture Scene.
  2. Либо отметьте у SceneCapture2D Capture Every Frame, чтобы ViewState сохранялся постоянно и настройка сразу вступала в силу.

Также убедитесь, что у SceneCapture2D назначен Texture Target; на слишком раннем этапе вроде BeginPlay можно отложить вызов на один кадр.

Типичная ошибка 1: вызов SetSceneCapture... до Capture Scene, когда у capture не отмечено Capture Every Frame → настройка теряется, изображение не меняется.

Типичная ошибка 2: Target подключён к SceneCapture2D. Правильно: Target = захватываемый компонент LCC, а SceneCapture2D передаётся в параметр In Capture 2D.