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

Анимации появления и исчезновения 3DGS

Обзор

Анимация загрузки проигрывается во время загрузки данных LCC. В редакторе можно нажать кнопку Refresh, чтобы вызвать перезагрузку и посмотреть анимацию.

Просмотр анимации загрузки с помощью кнопки Refresh

Нажатие кнопки Refresh для просмотра анимации загрузки

  • Режим 3DGS: двухэтапная анимация (ничего → облако точек → 3DGS)
Два этапа анимации загрузки 3DGS

Анимация загрузки 3DGS переходит от облака точек к 3DGS

Демонстрация двухэтапной анимации загрузки 3DGS

Демонстрация двухэтапной анимации загрузки 3DGS

  • Режим облака точек: одноэтапная анимация (ничего → облако точек)
Этап анимации загрузки облака точек

Одноэтапная анимация загрузки в режиме облака точек

Демонстрация анимации загрузки облака точек

Демонстрация анимации загрузки в режиме облака точек

Параметры

Параметры управления находятся в категории Animation у LCCComponent:

Панель параметров анимации загрузки LCC

Настройка параметров анимации загрузки в категории Animation

ПараметрПо умолчаниюОписание
bEnableAnimationfalseВключает анимацию загрузки
AnimationSpeed100Скорость анимации
AnimationMinScale0.001Размер точек первого этапа (только режим 3DGS)
FirstStageDelay0Задержка первого этапа (секунды). До его начала данные не отображаются
SecondStageDelay-Задержка второго этапа (облако точек → 3DGS). Значение, равное FirstStageDelay, пропускает первый этап
EnvironmentDelay-Задержка узлов окружения. Окружение не участвует в анимации и отображается сразу по истечении времени
AnimationOriginOffset(0,0,0)Смещение начальной точки сканирования
FirstStageColorЗолотойЦвет линии сканирования первого этапа (при прозрачности 0 линия скрыта)
SecondStageColor-Цвет линии сканирования второго этапа
ScanLineThickness5Ширина линии сканирования

Обратная анимация

После включения обратной анимации она сжимается издалека к центру и исчезает.

Панель параметров обратной анимации LCC

Настройка параметров обратной анимации в категории Animation

ПараметрПо умолчаниюОписание
Inverse AnimationfalseВключает обратную анимацию. После включения анимация сжимается издалека к центру и исчезает
Inverse Max Range Time30Задаёт исходный видимый диапазон обратной анимации. Значение должно покрывать всю сцену
Демонстрация двухэтапной обратной анимации 3DGS

Демонстрация двухэтапной обратной анимации 3DGS

Демонстрация обратной анимации облака точек

Демонстрация обратной анимации в режиме облака точек

Управление анимацией во время выполнения

Помимо настройки в панели Details, анимацией можно управлять во время выполнения из кода или Blueprint.

Повторное воспроизведение анимации

Помимо включения и выключения анимации, SetEnableAnimation также сбрасывает начало отсчёта времени анимации на текущий момент. Поэтому вызов не ограничен этапом загрузки: обращение к нему в любой момент проигрывает анимацию с начала.

// Replay the animation on an already loaded scene without reloading the data
Component->SetEnableAnimation(true);

Соответствующий узел Blueprint — Set Enable Animation.

Порядок параметров и переключателя

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

Чтобы параметры действовали на всю анимацию, сначала задайте параметры и только затем вызовите SetEnableAnimation:

// Set the parameters first
Component->AnimationSpeed = 30.0f;
Component->AnimationMinScale = 0.1f;
Component->SecondStageDelay = 1.0f;
Component->bUseFirstStageColor = true;
Component->FirstStageColor = FLinearColor(0.f, 0.8f, 1.f, 1.f);

// Turn on the switch last; the animation starts at this moment with the parameters above
Component->SetEnableAnimation(true);

Если параметр действительно нужно изменить во время воспроизведения (например, регулировать скорость в реальном времени), меняйте свойство напрямую, не вызывая SetEnableAnimation снова. И наоборот, вызов SetEnableAnimation(true) во время воспроизведения начинает анимацию заново, поэтому в обычном режиме избегайте повторных вызовов.

Воспроизведение анимации исчезновения

Установите bInverseAnimation в true, затем вызовите SetEnableAnimation(true), чтобы сбросить таймлайн:

// Disappear
Component->bInverseAnimation = true;
Component->SetEnableAnimation(true);

// Appear again
Component->bInverseAnimation = false;   // remember to reset
Component->SetEnableAnimation(true);

Текстовый Blueprint:

[Custom Event: PlayDisappear]
        │
        ▼
[Set Inverse Animation]
        Target = (LCC Component)
        bInverse Animation = true
        │
        ▼
[Set Enable Animation]
        Target = (LCC Component)
        b In Enable Animation = true

Практические замечания

  • Задавайте bInverseAnimation до SetEnableAnimation. В обратном порядке таймлайн сбрасывается до смены направления, и анимация один раз проигрывается в прежнем направлении.
  • После завершения каждой анимации появления возвращайте bInverseAnimation в false. Иначе тот же объект при следующем использовании останется в обратном режиме.
  • Значение InverseMaxRangeTime по умолчанию 30 секунд слишком велико для быстрого взаимодействия, его нужно уменьшить. Это значение, умноженное на AnimationSpeed, даёт исходный видимый радиус, который должен покрывать всю сцену, но при слишком большом значении исчезновение выглядит затянутым.
  • В обычном режиме следите, чтобы не вызывать SetEnableAnimation(true) повторно. Каждый вызов сбрасывает таймлайн, и анимация постоянно начинается заново.
Назад
Прокси-меш
Далее
Коллизии