XGRIDSDocumentación
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Serie Lixel PortalCam

    • PortalCam P1

      • Descripción del producto
      • Operaciones básicas
      • Uso de la LCC Scan App
      • Mantenimiento y cuidado
      • FAQ
  • Serie Lixel K

    • Lixel K1

      • Descripción del producto
      • Operaciones básicas
      • Activación y conexión del dispositivo
      • Flujo de escaneo
      • Obtener nube de puntos con coordenadas absolutas
      • Fusión de mapas
      • Recomendaciones de planificación de rutas para escenas típicas
      • Precauciones
      • FAQ
    • Lixel K2

      • Descripción del producto
      • Operaciones básicas
      • Activación y conexión
      • Flujo de escaneo
      • Obtener nube de puntos con coordenadas absolutas
      • Fusión de mapas
      • Recomendaciones de planificación de rutas para escenas típicas
      • Precauciones
      • FAQ
  • Serie Lixel L

    • Lixel L2 Pro

      • Descripción del producto
      • Operaciones básicas
      • Activación y conexión del dispositivo
      • Flujo de escaneo
      • Obtener nube de puntos con coordenadas absolutas
      • Punto de medición
      • Apéndice
      • FAQ
    • Lixel L3

      • Descripción del producto
      • Operaciones básicas
      • Activación y conexión del dispositivo
      • Flujo de escaneo
      • Obtener nube de puntos con coordenadas absolutas
      • Apéndice
  • Lixel Studio

    • Versión y derechos de autor
    • Instalación y activación
    • Interfaz del software
    • Operaciones de archivo
    • Procesamiento de proyectos
    • Herramientas
    • Dibujo 2D
    • Aplicaciones
    • Ajustes
    • Conexión de dispositivo
    • Preguntas Frecuentes
  • Lixel CyberColor

    • LCC Studio

      • Primeros pasos
      • Versión y actualizaciones
      • Descarga e instalación
      • Descripción general de la interfaz y navegación
      • Antes de la reconstrucción
      • Reconstrucción de modelos
      • Reconstrucción de modelo único
      • Fusión de mapas
      • Fusión aire-tierra
      • Reconstrucción aérea
      • Mis modelos
      • Otras funciones
      • Ajustes y cuenta
      • Converter
      • Reconstrucción por vídeo
      • Preguntas frecuentes
    • LCC Scene Editor

      • Versión y actualizaciones
      • Cuenta e inicio de sesión
      • Descripción general del producto y página de inicio
      • Interfaz del editor
      • Modos de navegación
      • Archivo
      • Configuración
      • Editar
      • Ventana
      • Barra de herramientas global
      • Activos y propiedades
      • Barra de herramientas izquierda
      • Puntos de vista
      • Portal
      • Skybox
      • Anotaciones
      • Medición
      • Flythrough
      • Informe de escena
      • 3D Layout
      • Minimapa
      • Modo Vista previa (Viewer)
      • Ayuda
      • Preguntas frecuentes (FAQ)
      • Punto de inicio
    • LCC Model Editor

      • Versión y actualizaciones
      • Guía del usuario
      • Visión general e interfaz
      • Operaciones de archivo
      • Selectores
      • Edición de modelos
      • Medición
      • Corrección de color
      • Gestión de activos
      • Configuración y ayuda
      • Preguntas frecuentes
    • Capture Guide

      • Descripción general
      • Descripción general de los dispositivos de captura
      • Principios generales de captura
      • Captura de escenas interiores
      • Captura de escenas exteriores
      • Captura a gran escala (Map Fusion)
      • Captura con aerial-ground map fusion
      • Captura de objetos
      • Captura de personas
      • Captura para reconstrucción a partir de vídeo
      • HD Enhancement
      • Puntos de control (Lixel P1)
      • Preguntas frecuentes y resolución de problemas
    • Buenas Prácticas

      • Fusión de varios modelos 3DGS de gran tamaño
    • Historial de versiones
  • Plugins y SDK

    • Unreal

      • Introducción
      • Inicio rápido - Windows
      • Inicio rápido - Linux
      • Inicio rápido - Quest3
      • Ediciones y licencias
      • Renderizado
      • Rasterización Tiled (experimental)
      • Ajustes visuales
      • Normales e iluminación
      • Edición de escenas
      • Parámetros de rendimiento
      • Guía de rendimiento
      • Integración con plugins de terceros y del motor
      • Proxy Mesh
      • Animación de carga
      • Colisión
      • Compatibilidad con Navigation System
      • Compatibilidad con Single Layer Water
      • Localización
      • Preguntas frecuentes
      • Resolución de problemas
      • Logs y diagnóstico
      • Contacto
      • Buenas prácticas

        • Reiluminar 3DGS con una malla de LixelStudio
        • Renderizado independiente por cámara
      • Referencia de API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actors SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enumeraciones
        • Structs
      • Registro de cambios

        • 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

      • Introducción al SDK de Unity
      • Funciones técnicas
      • Requisitos del entorno de desarrollo
      • Guía de inicio rápido para PC
      • Guía de optimización de ajustes del proyecto
      • Guía de desarrollo para Pico 4 Ultra
      • Guía de streaming desde PC para Pico 4 Ultra
      • Guía de desarrollo para Quest 3
      • Guía de streaming desde PC para Quest 3
      • Guía de desarrollo con OpenXR
      • Guía de Business Streaming para Pico 4 Ultra
      • Glosario
      • Preguntas frecuentes
      • Contáctanos
      • Guía de desarrollo de funciones

        • Guía de desarrollo de renderizado mixto de varias escenas
        • Guía de desarrollo de recepción de sombras
        • Guía de desarrollo de iluminación en tiempo real
        • Guía de desarrollo de renderizado multicámara
        • Guía de desarrollo de renderizado de imágenes de alta resolución
        • Guía de desarrollo de compatibilidad de formatos de datos LCC y LCC2
        • Guía de desarrollo del efecto de carga
        • Guía de desarrollo de cambio de modo de renderizado Mip
        • Guía de desarrollo de ajuste a bordes y esquinas
        • Guía de desarrollo de decal proyectado
        • Guía de desarrollo de decal proyectado de vídeo
        • Guía de desarrollo de resaltado
        • Guía de desarrollo de recorte en tiempo real
        • Guía de desarrollo de ajuste de color
        • Guía de desarrollo para obtener los datos de malla de la escena
        • Guía de desarrollo del modo Editor
        • Guía de configuración de parámetros de rendimiento de renderizado
        • Guía de desarrollo de co-empaquetado de aplicación y datos
        • Guía de desarrollo del sistema de colisiones
        • Guía de problemas de permisos de desarrollo en macOS
        • Guía de desarrollo de compilación y empaquetado para dispositivos iOS
      • Referencia de API

        • LCCManager
        • Renderer
        • Tipos de datos
      • Registro de cambios

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

      • Introducción
      • Guía de optimización del rendimiento de renderizado
      • Configuración de gráficos
      • Guía de desarrollo con WebGPU
      • Preguntas frecuentes
      • Referencia de API

        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setClipPrism
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setMipFilter
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
      • Registro de cambios

        • v0.6.4
        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0
  • API

    • Modelado espacial estructurado

      • Guía de acceso
      • Flujo de modelado
      • Referencia de la API
      • Credenciales temporales de carga
      • Códigos de error

Animaciones de aparición y desaparición del 3DGS

Descripción general

La animación de carga se reproduce mientras se cargan los datos LCC. En el editor, hacer clic en el botón Refresh para provocar una recarga y previsualizar la animación.

Previsualizar la animación de carga con el botón Refresh

Hacer clic en el botón Refresh para previsualizar la animación de carga

  • Modo 3DGS: animación en dos etapas (nada → nube de puntos → 3DGS)
Las dos etapas de la animación de carga del 3DGS

La animación de carga del 3DGS pasa de nube de puntos a 3DGS

Demostración de la animación de carga del 3DGS en dos etapas

Demostración de la animación de carga del 3DGS en dos etapas

  • Modo de nube de puntos: animación en una etapa (nada → nube de puntos)
Etapa de la animación de carga de la nube de puntos

La animación de carga en una etapa del modo de nube de puntos

Demostración de la animación de carga de la nube de puntos

Demostración de la animación de carga del modo de nube de puntos

Parámetros

Los parámetros de control se encuentran en la categoría Animation de LCCComponent:

Panel de parámetros de la animación de carga de LCC

Configurar los parámetros de la animación de carga en la categoría Animation

ParámetroPredeterminadoDescripción
bEnableAnimationfalseActiva la animación de carga
AnimationSpeed100Velocidad de la animación
AnimationMinScale0.001Tamaño de punto de la primera etapa (solo en modo 3DGS)
FirstStageDelay0Retardo de la primera etapa en segundos. Los datos no se muestran antes de que comience
SecondStageDelay-Retardo de la segunda etapa (nube de puntos → 3DGS). Un valor igual a FirstStageDelay omite la primera etapa
EnvironmentDelay-Retardo de los nodos de entorno. El entorno no participa en la animación y aparece directamente al alcanzarse el tiempo
AnimationOriginOffset(0,0,0)Desplazamiento del origen del barrido
FirstStageColorGoldColor de la línea de barrido de la primera etapa (un alfa de 0 oculta la línea de barrido)
SecondStageColor-Color de la línea de barrido de la segunda etapa
ScanLineThickness5Anchura de la línea de barrido

Animación inversa

Con la animación inversa activada, la animación se contrae desde la lejanía hacia el centro y desaparece.

Panel de parámetros de la animación inversa de LCC

Configurar los parámetros de la animación inversa en la categoría Animation

ParámetroPredeterminadoDescripción
Inverse AnimationfalseActiva la animación inversa. Una vez activada, la animación se contrae desde la lejanía hacia el centro y desaparece
Inverse Max Range Time30Establece el radio visible inicial de la animación inversa. El valor debe cubrir la escena completa
Demostración de la animación inversa del 3DGS en dos etapas

Demostración de la animación inversa del 3DGS en dos etapas

Demostración de la animación inversa de la nube de puntos

Demostración de la animación inversa del modo de nube de puntos

Controlar la animación en tiempo de ejecución

Además de configurarla en el panel Details, la animación también se puede controlar en tiempo de ejecución desde código o Blueprint.

Reproducir la animación de nuevo

Además de activar y desactivar la animación, SetEnableAnimation también restablece el origen temporal de la animación al momento actual. Por tanto, no se limita a la etapa de carga: llamarlo en cualquier momento reproduce la animación desde el principio.

// Reproducir de nuevo la animación en una escena ya cargada sin recargar los datos
Component->SetEnableAnimation(true);

El nodo de Blueprint correspondiente es Set Enable Animation.

Orden de los parámetros y del interruptor

Una vez que la animación comienza, sigue los parámetros actuales. Los parámetros se pueden seguir cambiando después de que comience y el cambio surte efecto en el fotograma siguiente, pero se trata de un ajuste durante la reproducción y la animación no se reinicia desde el principio.

Para que los parámetros se apliquen a toda la animación, establecer primero los parámetros y llamar a SetEnableAnimation al final:

// Establecer primero los parámetros
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);

// Activar el interruptor al final; la animación comienza en este momento con los parámetros anteriores
Component->SetEnableAnimation(true);

Para cambiar un parámetro durante la reproducción (ajustar la velocidad en tiempo real, por ejemplo), cambiar la propiedad directamente sin volver a llamar a SetEnableAnimation. A la inversa, llamar a SetEnableAnimation(true) durante la reproducción reinicia la animación, por lo que conviene evitar llamadas repetidas en el modo normal.

Reproducir la animación de desaparición

Establecer bInverseAnimation en true y, a continuación, llamar a SetEnableAnimation(true) para restablecer la línea de tiempo:

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

// Aparecer de nuevo
Component->bInverseAnimation = false;   // no olvidar restablecerlo
Component->SetEnableAnimation(true);

Blueprint en texto:

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

Notas prácticas

  • Establecer bInverseAnimation antes de SetEnableAnimation. En el orden inverso, la línea de tiempo se restablece antes de que cambie la dirección, y la animación se reproduce una vez en la dirección anterior.
  • Restablecer bInverseAnimation en false después de que finalice cada animación de aparición. De lo contrario, el mismo objeto permanece en modo inverso la próxima vez que se utilice.
  • Los 30 segundos predeterminados de InverseMaxRangeTime son demasiado para una interacción rápida y conviene reducirlos. Este valor multiplicado por AnimationSpeed da el radio visible inicial, que debe ser suficiente para cubrir la escena completa, pero un valor demasiado alto alarga el proceso de desaparición.
  • Evitar las llamadas repetidas a SetEnableAnimation(true) en el modo normal. Cada llamada restablece la línea de tiempo y la animación se reinicia continuamente desde el principio.

Consulta del estado de la animación y eventos

Se puede consultar en qué fase se encuentra la animación en ese momento, o escuchar los cambios de su estado:

  • GetLoadAnimationState() devuelve el estado actual: NoAnimation (animación desactivada o sin modelo) / Playing (reproduciéndose) / Finished (terminada).
  • El evento OnLoadAnimationStateChanged se dispara cuando cambia el estado, lo que permite ejecutar la lógica posterior una vez que la animación termina.

Para la interfaz completa y las convenciones de uso, ver ULCCComponentBase - Consulta de estado.

Consejo: que la animación esté Finished no significa que el modelo esté completo en pantalla; la animación avanza por tiempo, no espera a los datos. Para saber si la primera carga en pantalla está completa, usar el estado de carga OnLoadStateChanged, no el estado de la animación.