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

    • 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
  • Accesorios

    • Stick Light

      • Guía de instalación
      • Operaciones básicas
      • Preguntas frecuentes
  • 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
  • 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
    • 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
      • Referencia de API

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

        • 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
    • Web

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

        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
        • 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::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • 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
      • Registro de cambios

        • 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

ALCCLoadVolume: volumen de carga

Deriva de AVolume y se muestra en el panel como LCC Load Volume.

La diferencia clave respecto a un volumen de recorte o un plano de sección es la etapa en la que actúa: el recorte y el seccionado solo cambian el resultado final del renderizado, mientras los datos se cargan y se suben a memoria de vídeo igualmente; un volumen de carga actúa durante el recorrido de nodos, y los nodos descartados no se leen en absoluto. Es por tanto el único de los tres que reduce la cantidad de carga y el uso de memoria de vídeo.

CabeceraTools/LCCLoadVolume.h
Clase baseAVolume
BlueprintBlueprintable / BlueprintType
LicenciaFunción de la edición Pro; sin licencia no tiene efecto

Un mismo volumen de carga puede afectar a varios Actors LCC de la escena a la vez.

Properties

PropiedadTipoDescripción
bEnabledboolSi está activado
ModeELoadRegionInside (cargar solo lo que queda dentro) u Outside (excluir lo que queda dentro)
VolumeTypeELoadVolumeTypeBox (caja) o Sphere (esfera)

Para el significado de los valores, consultar ELoadRegion y ELoadVolumeType.

Ninguna de las tres propiedades tiene Setter; se asignan directamente. El filtrado se aplica en el momento de la carga, así que después de un cambio hay que volver a cargar los datos.

Precisión del borde

La prueba funciona por nodo y no por splat, así que el borde es más grueso que el de un volumen de recorte: un nodo del borde se descarta por completo en cuanto no cumple la condición.

Los dos modos usan pruebas distintas:

ModoCondiciónComportamiento del borde
InsideUn nodo se carga solo si queda por completo dentro del volumenEl rango conservado es algo menor que el volumen
OutsideUn nodo se excluye en cuanto se solapa con el volumenEl rango excluido es algo mayor que el volumen

Ambos lados son deliberadamente conservadores para que el cambio de LOD sea estable. En un octree los límites de un nodo hijo siempre quedan dentro de los de su padre, y el LOD pasa del hijo al padre a medida que la cámara se aleja. Si Inside usara una prueba de intersección, el padre se cargaría por solaparse parcialmente y devolvería regiones que los hijos ya habían excluido: visualmente, un bloque de contenido que aparece de golpe al alejarse. Outside tendría el problema simétrico con una prueba de contención.

Cuando se necesita un borde preciso, superponer un volumen de recorte con la misma transformación: el volumen de carga reduce la cantidad de carga y el de recorte perfila el borde.

Creación en tiempo de ejecución

ALCCLoadVolume* Volume = GetWorld()->SpawnActor<ALCCLoadVolume>(
    ALCCLoadVolume::StaticClass(), Location, FRotator::ZeroRotator);

Volume->VolumeType = ELoadVolumeType::Box;
Volume->Mode = ELoadRegion::Inside;
Volume->bEnabled = true;
Volume->SetActorScale3D(FVector(20.0f, 20.0f, 10.0f));

Component->AddLoadVolume(Volume);
Component->Load(Path);   // hay que configurarlo antes de la carga

El orden importa: el filtrado ocurre durante la carga, así que añadir o quitar un volumen de carga o cambiar una propiedad después de Load() no altera los datos ya cargados; hace falta volver a cargar.

// Volver a cargar tras cambiar el rango filtrado
Volume->SetActorLocation(NewLocation);
Component->Refresh();   // internamente UnLoad y luego Load

Refresh() cuesta lo mismo que una recarga completa, consultar ALCCActorBase::Refresh.

Elección entre este y un volumen de recorte

NecesidadCuál usar
Tomar una parte pequeña de una escena grande y ahorrar memoria de vídeo y tiempo de cargaVolumen de carga
Abrir huecos o cortar una cubierta, donde importa un borde precisoVolumen de recorte
Ahorrar memoria de vídeo y además un borde precisoSuperponer ambos con la misma transformación
Alternar el efecto con frecuencia en tiempo de ejecuciónVolumen de recorte (cambiar bEnabled surte efecto en el fotograma siguiente, sin recargar)

See Also

  • ALCCClippingVolume: volumen de recorte
  • ALCCSectionPlane: plano de sección
  • AddLoadVolume: las interfaces de añadir y quitar del lado del Component
  • Edición de escena - Volúmenes de carga: pasos e imágenes
  • Ediciones y licencias: alcance de la licencia
Anterior
ALCCSectionPlane
Siguiente
ULCCUtilLibrary