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
  • 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
      • 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
      • Referencia de API

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

        • 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

Localizar por síntoma los fallos habituales del 3DGS en UE5

Esta página está organizada por el síntoma que se observa, y cada entrada indica las causas posibles, cómo confirmarlas y cómo resolverlas.

Para consultar los logs y usar las herramientas de depuración, consultar Logs y diagnóstico. Para preguntas de consulta (qué formatos son compatibles, la diferencia entre los dos pipelines), consultar Preguntas frecuentes.

Índice

CategoríaSíntomas cubiertos
Hacer estas dos cosas primeroRecomendado para cualquier problema
Fallos de carga de datosNo pasa nada tras Load, invisible después de empaquetar, empaquetado de un proyecto Blueprint, posición GIS incorrecta, cierre inesperado con datos enormes
No se muestra nada o solo una parteNo se ve nada en absoluto, falta el contenido lejano, huecos en el borde, SceneCapture en blanco, ocluido por el agua
Problemas de calidad de imagenEstelas, parpadeo, huecos, colores grisáceos, costuras, una línea que cruza la escena
Problemas de iluminaciónSobreexposición, sin sombreado de la forma, ProxyMesh no surte efecto, sombras cortadas, efectos ocultos
Los cambios de parámetros no surten efectoCasilla desmarcada, carga completa, recorte y seccionado, armónicos esféricos, cuota de licencia
Problemas de rendimientoTasa de fotogramas baja, memoria de vídeo alta, tirones al cargar, oclusión incorrecta
Colisión y navegaciónLos line traces no impactan, el personaje cae o atraviesa, el NavMesh no se genera
Cierres inesperadosError de aserción ArraySliceIndex
Problemas de licenciaEl Status no es una marca verde, varios errores de licencia
Compilación y empaquetadoBinarios que faltan, precompiled manifest que falta, fallo de empaquetado, Android
Sigue sin resolverseQué reunir antes de notificar un problema

Hacer estas dos cosas primero

La mayoría de los problemas se pueden localizar con estos dos pasos, así que conviene recorrerlos ante cualquier síntoma.

  1. Abrir el Output Log y leer el log del plugin. Los fallos de carga, los errores de ruta y los problemas de licencia dejan ahí información clara. Consultar Consultar el log del plugin.
  2. Confirmar que los datos se cargaron correctamente. Seleccionar el Actor y comprobar si MetaInfo tiene contenido en el panel Details (Total Splats mayor que 0). Si está vacío, los datos no entraron, así que pasar directamente a Fallos de carga de datos.

Fallos de carga de datos

Síntoma: no aparece nada después de hacer clic en Load

Comprobar en orden:

Causa posibleCómo confirmarlaSolución
La ruta no existe o está mal escritaEl log muestra LCC file :<path> does not exist.Verificar la ruta. Las rutas relativas se basan en Content
A los datos LCC1 les faltan archivosEl log muestra Load Meta.lcc error o meta.lcc file :<path> load errordata.bin e index.bin deben estar junto al archivo .lcc; si falta uno de ellos, falla
Se usa el Actor equivocadoSin error explícito, pero la imagen queda en blanco.lcc2 usa ALCC2Actor, .lcc usa ALCCActor, y los formatos de archivo único tienen cada uno su propio Actor. Consultar Preguntas frecuentes
El formato no es compatibleEl log muestra LCC4Unreal do not support this file format!Confirmar que la extensión está dentro del rango admitido, consultar Introducción
El .ply no tiene formato 3DGSEl log indica que el PLY se rechazóEl plugin solo admite .ply con propiedades 3DGS; las nubes de puntos geométricas normales no se pueden cargar

Síntoma: correcto en el editor, invisible después de empaquetar

Comprobar dos cosas en orden.

Una, si se usó una ruta absoluta. Las rutas absolutas solo funcionan en la máquina local y dejan de existir en otra. Cambiar a una ruta relativa, relativa al directorio Content del proyecto, por ejemplo Scenes/Tower/meta.lcc2.

Dos, si el directorio de datos está configurado en los ajustes de empaquetado. Los dos ajustes tienen finalidades distintas, así que conviene elegir según lo que se necesite:

AjusteFinalidad
Additional Non-Asset Directories To CopyLos datos se copian en la salida del paquete como archivos normales
Additional Non-Asset Directories To PackageLos datos se empaquetan dentro del archivo pak

Usar el segundo para meter los datos LCC en el pak, y el primero cuando los datos solo tengan que distribuirse junto a la salida del paquete. Ambos se encuentran en ProjectSettings > Packaging.

Volver a empaquetar después de configurarlos y comprobar si los datos están realmente en la salida del paquete. Para la configuración detallada, consultar Inicio rápido.

Síntoma: el plugin no funciona después de empaquetar un proyecto Blueprint

Los proyectos solo de Blueprint son compatibles únicamente en el editor, no para el empaquetado. El empaquetado requiere un proyecto C++.

Síntoma: la posición geográfica es incorrecta, el modo GIS no surte efecto

Comprobar estos puntos:

  • Si los datos contienen información RTK. Usar GetMetaInfo().IsRTK() para comprobarlo; si el log muestra This lcc does not have RTK information!, los datos no tienen información geográfica
  • Al activarlo desde código, llamar a SetGeoPlacement(true), que recarga automáticamente para que el ajuste surta efecto. Asignar bEnableGeoPlace directamente no provoca ninguna recarga
  • Usar GeoLocationOffset para el ajuste fino cuando la posición está desplazada

Para los pasos de configuración con Cesium, consultar Integración con plugins de terceros y del motor.

Síntoma: cierre inesperado al recorrer datos LCC2 muy grandes

En la v1.0.0 se trata de un defecto conocido de esa versión (un desbordamiento de un GPU Buffer). Actualizar a la v2.x o superior.

Síntoma: error relacionado con arrays al cargar un PLY grande

Un defecto conocido de la v3.0.0, corregido en la v3.3.0 y superiores; actualizar la versión.

Además, cuando un PLY no tiene armónicos esféricos, los archivos de más de 2 GB pueden fallar al cargarse, por lo que se recomienda convertirlos al formato LCC2.

No se muestra nada o solo una parte

Síntoma: el Actor está en la escena pero no se ve ningún contenido

Causa posibleCómo confirmarlaSolución
Los datos no se cargaronConsultar la sección anteriorResolver primero el problema de carga
LoadMode está establecido en NoneComprobar el panel DetailsDevolverlo a Both
La cámara está más allá de la distancia de renderizadoAcercarse y ver si apareceAumentar Max Distance
Un volumen de recorte eliminó el contenidoDesactivar temporalmente bEnabled en el volumen de recorteComprobar el modo de recorte, ya que Inside y Outside hacen lo contrario, consultar EClipType
Un plano de sección eliminó el contenidoDesactivar temporalmente el plano de secciónComprobar Mode y la orientación del plano, consultar ESectionType
GlobalAlpha es 0Comprobar el panel DetailsDevolverlo a 1.0
Todo está en los datos de entorno pero está establecido OnlyMainCambiar LoadMode y compararElegir según los datos reales, consultar ELoadMode

Síntoma: falta el contenido lejano y solo aparece al acercarse

Es el resultado normal del LOD y del límite de distancia, no un fallo. Para mostrar también el contenido lejano:

  • Aumentar Max Distance, a costa de un rendimiento menor
  • Reducir Level Factor para que se use una precisión mayor a la misma distancia
  • La niebla puede ayudar a disimular el límite de la distancia

Síntoma: huecos en el borde de la pantalla al girar la vista rápidamente

La precarga de nodos no puede seguir el cambio de vista. El pipeline LCC puede activar Add Extra Preload Nodes, que añade nodos de precarga adicionales a costa de más nodos que renderizar.

Síntoma: SceneCapture o el minimapa aparecen en blanco

Activar primero SceneCaptureComponent Support en la configuración del proyecto. Está desactivado por defecto y tiene un ligero coste de rendimiento.

Para establecer la estrategia de renderizado de un SceneCapture por separado desde código, consultar SetSceneCaptureRenderMode; este grupo de interfaces solo funciona en el pipeline LCC.

Síntoma: el 3DGS queda ocluido por la superficie del agua

Lo provoca el tratamiento de la profundidad del material de single layer water. Activar SingleLayerWater Support, consultar Compatibilidad con single layer water.

Problemas de calidad de imagen

Síntoma: estelas y arrastre al moverse

Lo provoca el método de anti-aliasing. TSR y TAA se basan en fotogramas anteriores para la acumulación temporal, así que un 3DGS en movimiento deja fácilmente el fotograma previo detrás.

Probarlos en orden y encontrar el equilibrio entre calidad y estelas:

None → FXAA → MSAA → TAA → TSR

Cuando la escena solo contiene 3DGS, se puede establecer None directamente, lo que elimina las estelas y ahorra el coste del anti-aliasing. Para el valor predeterminado de cada pipeline y dónde establecerlo, consultar Parámetros de rendimiento.

Síntoma: la imagen parpadea y los bordes tiemblan

Probar estas opciones por orden de beneficio:

  1. Comprobar el método de anti-aliasing. Es la causa más habitual, y se recomienda TSR para el pipeline LCC2, consultar Parámetros de rendimiento.
  2. Pipeline LCC: reducir Sort Factor para ordenar con mayor frecuencia. Cuando la frecuencia de ordenación es demasiado baja, el orden de delante a atrás de la translucidez solo se actualiza cada varios fotogramas, lo que se manifiesta como un ligero temblor.
  3. Comprobar Small Splat Threshold; un valor demasiado grande hace que el fondo se vea granulado.
  4. Para las estructuras finas que parpadean mientras la cámara se acerca y se aleja, probar a activar Mip Filter, que aplica un filtro de paso bajo con compensación de opacidad y es más estable a distintas escalas. .ply / .spz / .sog lo tienen desactivado por defecto.

Síntoma: la imagen tiene huecos y se ve dispersa

SplatScale está establecido en un valor demasiado bajo. El valor predeterminado de 1.0 es el límite superior; reducirlo baja el sobredibujado y aumenta la tasa de fotogramas, pero unos quads más pequeños dejan huecos a la vista. Volver a subirlo algo.

Síntoma: los colores se ven grises y planos

Tratarlo con los parámetros de color, consultar Ajustes visuales. El enfoque habitual consiste en aumentar ligeramente Contrast, o aclarar las zonas oscuras con Gamma. Para la interfaz de código, consultar Ajuste de color.

Síntoma: costuras evidentes en la imagen (pipeline LCC)

La versión 5.0 y superiores del archivo LCC trata las costuras automáticamente. Para los datos de versiones anteriores, activar Corte de costuras manualmente, que corresponde a la propiedad bEnableSeamCutting.

Síntoma: aparece una línea que cruza la escena

Comprobar la escala del Actor. La familia de Actors LCC (ALCCActor, ALCC2Actor, ASogActor, ASpzActor, APlyActor) solo admite el escalado uniforme.

No usar un escalado no uniforme como este:

  • Con valores negativos, por ejemplo (-1, 1, 1)
  • Con ejes desiguales, por ejemplo (2, 1, 3)

Los tres ejes deben mantenerse iguales, por ejemplo (1, 1, 1) o (2, 2, 2). El escalado no uniforme provoca anomalías de renderizado que se manifiestan como una línea en la imagen.

Problemas de iluminación

Síntoma: sobreexposición después de cambiar a Lit

Los colores de los datos capturados ya incorporan la iluminación del lugar de captura, y las luces de la escena añaden otra capa por encima.

  • Pipeline LCC2: reducir el brillo original con LightingScale, consultar Normales e iluminación
  • Comprobar si la intensidad de la iluminación de la escena es demasiado alta

Síntoma: sin sombreado de la forma en el modo Lit, la imagen se ve plana

Es el comportamiento esperado. Los datos 3DGS no tienen normales geométricas, y Fixed, ViewFacing y Hemispherical construyen todos las normales por aproximación, así que solo pueden producir cambios de brillo generales y ninguno de ellos puede producir un sombreado que siga la forma. Para la definición de cada modo, consultar ELCC2NormalGenerationMode.

Solo ProxyMesh puede producir un sombreado real de la forma. Requiere crear y colocar una malla proxy y requiere una licencia. Consultar Proxy Mesh y Normales e iluminación.

La diferencia entre los tres modos aproximados está en cómo cambia el brillo general con la iluminación y la vista, no en si existe sombreado de la forma:

  • Fixed: toda la zona comparte una única normal fija, completamente estable mientras la cámara se mueve
  • ViewFacing: las normales siguen a la cámara, así que el brillo general cambia al girar la vista
  • Hemispherical: las normales se proyectan desde la posición en pantalla sobre un hemisferio fijo, así que el brillo general transiciona con mayor suavidad que en los otros dos mientras una luz direccional rota

Síntoma: el modo ProxyMesh está establecido pero no surte efecto

Punto que comprobarCómo confirmarlo
Si NormalMode es ProxyMeshComprobar el panel Details
Si la licencia es válidaComprobar Status en el panel del plugin; una marca verde significa que la licencia está correcta. Desde código, si GetEffectiveNormalGenerationMode() devuelve Fixed, se ha degradado
Si la malla proxy tiene un StaticMeshEl log muestra una advertencia has a null StaticMesh
Si la malla proxy se solapa con el 3DGS en el espacioEl emparejamiento se decide por la posición, así que sin solapamiento no hay efecto

Consultar Proxy Mesh.

Síntoma: el sombreado aparece en el lugar equivocado

La malla proxy se desvía demasiado de la superficie real del 3DGS. Mejorar la coincidencia de la malla proxy, o cambiar a un modo de normales aproximado, que no tiene sombreado de la forma pero es más estable.

Síntoma: las sombras de ProxyMesh solo aparecen de cerca y desaparecen a lo lejos

Las sombras se cortan por distancia. Es un problema del motor, no un defecto del plugin.

Solución: seleccionar el Actor ProxyMesh y desactivar y volver a activar Far Shadow para restaurar las sombras completas. La propiedad se encuentra en la categoría Lighting de StaticMeshComponent.

Síntoma: sombras enormes y anómalas en el modo Lit

Los modos de normales aproximados producen anomalías con ciertos ángulos de iluminación. Probar en orden:

  1. Cambiar NormalMode para encontrar qué modo se comporta correctamente
  2. Ajustar el ángulo de la luz direccional
  3. Cambiar al modo ProxyMesh con una malla proxy bien ajustada, que da el mejor resultado

Síntoma: los colores cambiaron después de activar las sombras

Es el comportamiento esperado. En cuanto el 3DGS recibe iluminación externa, sus colores cambian con la fuente de luz, así que hay que ajustar el color y la intensidad de la luz direccional.

Síntoma: el brillo no se puede ajustar, toda la escena está oscura

Cuando el proyecto usa un plugin de composición como Composure, desactivar las opciones relacionadas con el posprocesado en el Component y controlar la exposición mediante un Post Process Volume en su lugar.

Para los ajustes relacionados con la exposición, consultar Ajustes visuales.

Síntoma: los efectos de Niagara no se ven sobre el 3DGS

El pipeline LCC2 genera profundidad, así que la oclusión de los efectos es correcta y este problema normalmente no se produce.

Solo el pipeline LCC (datos .lcc) puede sufrirlo, porque no genera profundidad y el orden de delante a atrás de la translucidez se decide por prioridad de ordenación. La solución consiste en aumentar Translucent Sort Priority en el Niagara System para que se renderice por encima del 3DGS.

Síntoma: contenido desordenado alrededor del exterior de la escena

Son los datos de entorno. Cambiar LoadMode de Both a OnlyMain para renderizar solo la parte principal.

Síntoma: cambiar el modo de iluminación no hace nada

SetLightMode no surte efecto en el modo de nube de puntos: omite la asignación y muestra una advertencia. Volver primero al modo 3DGS.

Síntoma: sin efecto de iluminación tras cambiar al modo Lit

La pipeline de renderizado forward (Forward Shading) carece de GBuffer, por lo que la reiluminación no está disponible. Establecer LightMode en Lit no producirá ningún efecto.

Cambiar a la pipeline de renderizado diferido (Deferred Shading) para que el modo Lit funcione correctamente. Desmarcar Project Settings > Rendering > Forward Shading. Tener en cuenta que la plantilla VR de UE activa Forward Shading por defecto y es necesario desactivarlo manualmente.

Los cambios de parámetros no surten efecto

Síntoma: se cambiaron los valores de Performance pero nada cambió

Cada parámetro tiene una casilla a su izquierda y, mientras está desmarcada, el plugin usa su valor predeterminado interno y el valor introducido no tiene efecto. Es la trampa más habitual de todas.

Para el valor predeterminado interno de cada parámetro, consultar Parámetros de rendimiento.

Síntoma: cambiar los parámetros de carga completa no hace nada

Use Full Load y Full Load Splat Number se evalúan en el momento de la carga, así que hay que recargar los datos después de cambiarlos.

Para la diferencia entre los dos métodos de carga, consultar Renderizado.

Síntoma: cambiar las propiedades de un volumen de recorte o de un plano de sección en tiempo de ejecución no hace nada

bEnabled, Mode y VolumeType no tienen Setter, así que hay que llamar a Refresh() en ese Actor después de asignarlos en tiempo de ejecución. Lo mismo se aplica al cambio del transform (posición, rotación) en tiempo de ejecución.

Cambiar las propiedades en el panel Details del editor actualiza automáticamente y no requiere ninguna llamada manual.

Consultar ALCCClippingVolume.

Síntoma: los armónicos esféricos están activados pero la imagen no cambió

  • Los datos pueden ser del tipo Portable, que no contiene armónicos esféricos. Confirmarlo con CanSetShcoef(); para las definiciones de tipo, consultar EFileType
  • SetUseShcoef se ignora sin avisar en el modo de nube de puntos, así que hay que volver primero al 3DGS
  • LCC2 puede desactivar los armónicos esféricos completamente con SetUseShcoef

Síntoma: se añadieron muchos volúmenes de recorte pero solo algunos surten efecto

La edición gratuita limita cada tipo a 50. El log lo indica de forma explícita: Unlicensed: enabled clipping volumes limited to 50 .... Para las licencias, consultar Ediciones y licencias.

Problemas de rendimiento

Para el flujo de trabajo completo de ajuste ante una tasa de fotogramas baja, consultar Guía de rendimiento; esta sección solo enumera comprobaciones rápidas.

Síntoma: tasa de fotogramas baja

Confirmar primero si el cuello de botella es el 3DGS. Usar stat unit para leer Game / Draw / GPU, y después stat XGrids para leer el coste de LCC en sí. Cuando la parte de LCC es baja, el problema está en otro sitio de la escena (iluminación, posprocesado, lógica de Blueprint) y ajustar los parámetros de LCC no aporta ninguna mejora.

Una vez confirmado que el 3DGS es la causa, ajustar por orden de beneficio:

  1. Aumentar Level Factor (el beneficio más notable)
  2. Reducir Max Distance
  3. Reducir Max Splat Num
  4. Aumentar Start Level para omitir el Level más fino
  5. Desactivar los armónicos esféricos
  6. Cambiar al modo de nube de puntos si es necesario

Síntoma: el uso de memoria de vídeo es demasiado alto

  • Aumentar Level Factor
  • Reducir Max Splat Num
  • Ajustar LCC2 GPU Memory Budget en el pipeline LCC2
  • Ajustar el umbral de liberación Max GPU Usage Percetage For Free

Para las reglas de asignación de memoria de vídeo y el mecanismo de liberación automática, consultar Renderizado. Los formatos de archivo único (.sog / .spz / .ply) se cargan por completo de una vez, así que su uso de memoria de vídeo es constante y no cambia con la vista, consultar Límites de carga de los formatos de archivo único.

Síntoma: tirones al cargar

  • Activar la colisión por primera vez tiene un coste de horneado puntual, así que conviene activarla durante la etapa de carga y no en medio de la interacción del jugador
  • Reducir Max Load Collision Distance para cargar solo el rango necesario
  • Ajustar la configuración de hilos, consultar Parámetros de rendimiento

Síntoma: oclusión incorrecta cuando varios 3DGS se interpenetran

  • Pipeline LCC: activar la ordenación de translucidez entre varios Actors
  • Pipeline LCC2: ajustar el umbral de profundidad para cambiar dónde se escribe la profundidad

Colisión y navegación

Síntoma: los line traces no impactan en el 3DGS

Punto que comprobarAcción
Si los datos contienen colisiónLos formatos de archivo único no contienen datos de colisión, consultar Requisitos previos
Si la colisión está activadaMarcar bEnableCollision, consultar Activación
Si la colisión está cargada en ese lugarUsar ShowCollision() para ver la estructura alámbrica, consultar Visualización de la colisión
Si la distancia de la prueba supera el rango de carga de colisiónAumentar Max Load Collision Distance

Si el log muestra There is neither collision.bin nor collision.lci in the folder, no hay ningún archivo de colisión en el directorio de datos.

LCC1 tiene otro conjunto de interfaces de prueba de rayos contra las posiciones de la nube de puntos, pero no están suficientemente probadas, así que se recomienda usar colisión más las pruebas de rayos del motor, consultar Prueba de rayos de ULCCComponent.

Síntoma: el personaje cae justo al empezar

La colisión se carga dinámicamente por bloques, así que los datos de colisión pueden no estar construidos todavía cuando comienza el juego, y el personaje cae cuando no hay colisión bajo sus pies.

Cómo tratarlo:

  • Colocar PlayerStart un poco por encima del suelo
  • O retrasar el movimiento del personaje unos segundos
  • Activar la colisión durante la etapa de carga y no después de que el jugador comience a interactuar

Síntoma: el personaje atraviesa o cae después de alejarse cierta distancia

La colisión se transmite por distancia, así que las zonas más allá del rango de carga no tienen cuerpos de colisión. Aumentar Max Load Collision Distance(m) para cubrir el rango de actividad del personaje.

La colisión también puede no seguir el ritmo cuando el personaje se mueve demasiado rápido, lo que se mitiga igualmente aumentando la distancia de carga.

Síntoma: el NavMesh no se genera en absoluto

Punto que comprobarAcción
Los datos no contienen colisiónConfirmar que se usa .lcc o .lcc2; los formatos de archivo único no tienen datos de colisión
La colisión no está activadaMarcar bEnableCollision y confirmar CanEverAffectNavigation = true
La colisión todavía no está cargadaSeleccionar player collision o visibility collision en el modo de visualización y confirmar que han aparecido cuerpos de colisión en la zona de destino
El rango de carga de colisión es insuficienteAumentar Max Load Collision Distance(m) para cubrir toda la zona de actividad de la IA
Falta el NavMeshBoundsVolume o no cubre la zonaColocarlo y escalarlo para cubrir la zona de destino
La navegación no se reconstruyóEjecutar Build → Build Paths y guardar el nivel

Para el flujo de trabajo completo, consultar Compatibilidad con Navigation System.

Cierres inesperados

Síntoma: cierre inesperado tras un error de aserción ArraySliceIndex

El error tiene este aspecto:

Assertion failed: ArraySliceIndex >= 0

La causa es que la versión actual no admite el formato Adaptive GBuffer de Substrate.

Solución:

  1. Abrir ProjectSettings > Rendering y buscar Substrate GBuffer Format (Project).
  2. Cambiar el valor a BlendableGBuffer. Es el valor predeterminado del motor.
  3. Reiniciar el motor.

AdaptiveGBuffer es un formato incompatible conocido, y BlendableGBuffer funciona correctamente.

Problemas de licencia

Comprobar primero Status en el panel del plugin: una marca verde significa que la licencia está correcta y las funciones de la edición Pro están disponibles. Cualquier cosa distinta de una marca verde significa que la licencia no surtió efecto, así que hay que leer el log para confirmar el motivo.

La información de licencia del log es bastante explícita, así que conviene actuar según lo que indica:

Mensaje de logSignificado y acción
ProjectID is invalid; generate one in Project SettingsEl proyecto no tiene Project ID. Generar uno en Project Settings > Project > Description
Failed to decode AppKey, please check.El contenido de la AppKey está incompleto o se copió mal, copiarla de nuevo
Invalid AppKey, please check.El formato de la AppKey es incorrecto, confirmar que es la cadena completa de la plataforma para desarrolladores
Authorization has expired, please check.La licencia ha caducado, generarla de nuevo en la plataforma para desarrolladores
AppKey has expired. Please generate a new one.Igual que el anterior
HTTP request failed / HTTP error! Status: <code>Un problema de red o el servidor de licencias no es accesible, comprobar la red y el firewall
Signature Verification FailedLa verificación de la firma ha fallado, contactar con el soporte técnico

Para el flujo de trabajo de licencias, consultar Ediciones y licencias.

Compilación y empaquetado

Síntoma: faltan binarios o falla la compilación del módulo

Cuando aparece cualquiera de los errores siguientes, regenerar y recompilar el proyecto siguiendo los pasos de esta sección:

Missing UnrealGame binary. You may have to build the UE project with your IDE.
Alternatively, build using UnrealBuildTool with the commandline:
UnrealGame <Platform> <Configuration>
*** could not be compiled. Try rebuilding from source manually

La causa es que, después de añadir el plugin a un proyecto C++, el motor detecta los módulos nuevos pero falta la salida de compilación correspondiente. Tratarlo así:

  1. Cerrar el proyecto.
  2. Localizar el archivo *.uproject del proyecto.
  3. Hacer clic derecho en *.uproject y seleccionar Generate Visual Studio project files.
  4. Esperar a que el proyecto de VS termine de regenerarse.
  5. Hacer doble clic en *.sln para abrir Visual Studio.
  6. Hacer clic derecho en el proyecto en el Solution Explorer y seleccionar Set as Startup Project para asegurarse de que es el proyecto de inicio.
  7. Confirmar que la configuración es Development Editor y Win64.
  8. Hacer clic en Debug > Start Without Debugging para iniciar el proyecto.
  9. Una vez que la compilación pasa, el proyecto se abre con normalidad. Después basta con hacer doble clic en *.uproject y no hace falta repetir este flujo cada vez.

Cuando sigue fallando después de los pasos anteriores, eliminar primero el directorio Intermediate del proyecto y volver a ejecutar desde el paso 3.

Para los pasos de instalación del plugin, consultar Inicio rápido.

Síntoma: el empaquetado falla

Comprobar primero estos tres puntos:

  • Full Rebuild en ProjectSettings > Packaging debe permanecer desactivado, y no ejecutar Rebuild en VS. El plugin no admite ninguna de las dos cosas, consultar Inicio rápido
  • Confirmar que se usa un proyecto C++, ya que los proyectos Blueprint no se pueden empaquetar
  • Confirmar que la versión del motor está dentro del rango admitido (UE 5.4 ~ 5.8)

Para errores concretos, consultar las dos secciones siguientes.

Síntoma: falta el precompiled manifest durante el empaquetado

El error tiene este aspecto:

Missing precompiled manifest for 'LCC4UnrealRuntime',
'\Shipping\LCC4UnrealRuntime\LCC4UnrealRuntime.precompiled'.
This module was most likely not flagged for being included in a precompiled build
- set 'PrecompileForTargets = PrecompileTargetsType.Any;' in LCC4UnrealRuntime.build.cs
to override. If part of a plugin, also check if its 'Type' is correct.

Por qué ocurre: los archivos que menciona el error se distribuyen con el plugin y se encuentran en su directorio Intermediate. Ejecutar Full Rebuild en ProjectSettings > Packaging, o Rebuild en VS, hace que el motor limpie el directorio Intermediate y elimine esas salidas precompiladas con él.

LCC4Unreal es un plugin binario sin código fuente, así que las salidas eliminadas no se pueden recompilar y solo se pueden restaurar desde el paquete del plugin. Por eso conviene evitar ambas operaciones.

Cómo resolverlo:

  1. Confirmar que Full Rebuild en ProjectSettings > Packaging está desactivado, y no ejecutar Rebuild en VS.
  2. Copiar el contenido del directorio del plugin lcc4unreal/Intermediate/Build/Win64/UnrealGame en <directorio del proyecto>/Intermediate/Build/Win64/<nombre del proyecto>.
  3. Copiar el contenido del directorio del plugin lcc4unreal/Intermediate/Build/Win64/x64 en <directorio del proyecto>/Intermediate/Build/Win64/x64.
  4. Reiniciar el motor y empaquetar de nuevo.

Nota: el nombre del directorio de destino del paso 2 es el nombre del proyecto, no UnrealGame. Para un proyecto llamado MyProject, la ruta de destino es MyProject/Intermediate/Build/Win64/MyProject.

Si el error apunta a otros archivos: los dos directorios anteriores cubren los casos habituales. Cuando el error menciona otro archivo, tratarlo igual: buscar ese archivo en el directorio Intermediate del plugin en la misma ruta relativa y copiarlo a la ubicación correspondiente del proyecto.

Si el directorio Intermediate del plugin también se limpió: no queda nada de dónde copiar, así que hay que descargar de nuevo el paquete del plugin y extraerlo sobre los archivos existentes para restaurarlos.

Síntoma: la compilación falla en un motor personalizado

Los paquetes del plugin publicados solo funcionan con los motores publicados por Epic. Las ramas personalizadas por proveedores, los motores comerciales derivados de UE y los motores con el código fuente modificado localmente requieren todos una compilación personalizada, consultar Versiones de motor personalizadas.

Síntoma: errores al empaquetar para Android

La versión actual no admite el empaquetado directo para la plataforma Android. Es una limitación de compatibilidad de plataforma y no se puede resolver cambiando la configuración de empaquetado.

Para usarlo en un dispositivo de VR, ejecutarlo en el PC y transmitirlo por streaming, consultar Inicio rápido - Quest3.

Sigue sin resolverse

Reunir la información siguiente y contactar con nosotros, consultar Contacto:

  • Versión del plugin y versión del motor
  • Formato de los datos y tamaño aproximado
  • El archivo de log completo de la ejecución en la que se produjo el problema, sin filtrar y no solo las líneas de error
  • Pasos de reproducción
  • Modelo de tarjeta gráfica y versión del controlador

Para la ubicación del archivo de log y otros detalles, consultar Logs y diagnóstico.

Anterior
Preguntas frecuentes
Siguiente
Logs y diagnóstico