Preguntas frecuentes
1. Marca de agua y AppKey
Causa: A partir del SDK v0.5.0, se muestra una marca de agua en la esquina inferior izquierda por defecto.
Solución: Contacta al equipo de ventas para obtener un AppKey y configura el parámetro appKey en LCCRender.load() para eliminar la marca de agua.
2. Error al integrar el SDK en proyectos Babel
Causa: El SDK utiliza sintaxis de navegadores modernos. Babel puede compilarla a una sintaxis antigua, lo que puede causar errores en tiempo de ejecución o fallos de compilación.
Solución:
- Configura Babel para excluir los archivos del SDK de la compilación.
- O incluye el archivo SDK mediante una etiqueta
<script>para omitir la compilación:
<script src="./sdk.js"></script>
Después de incluirlo, usa LCC.LCCRender para cargar.
3. El modelo LCC no es visible en el motor Three.js
Sigue estos pasos de solución de problemas:
- Comprueba la consola del navegador en busca de mensajes de error (por ejemplo, archivo no encontrado).
- Verifica que los archivos en
dataPathsean accesibles y descargables. - Comprueba si el valor
farde la cámara es lo suficientemente grande — el modelo puede estar fuera del frustum de la cámara. - Verifica que
LCCRender.update()se esté llamando en el bucle de renderizado.
Si ninguno de los pasos anteriores resuelve el problema, contacta al soporte técnico o pregunta en el foro.
4. El modelo 3D Tile queda oculto por el modelo LCC en CesiumJS
Causa: Por defecto, el modelo LCC escribe en el búfer de profundidad y la función de prueba de profundidad está configurada para pasar siempre (ALWAYS). En la cola de renderizado Pass.CESIUM_3D_TILE, si los 3D Tiles se cargan antes que el modelo LCC, la profundidad del modelo LCC los sobrescribirá.
Solución:
- Carga el modelo 3D Tile dentro del callback de éxito de
LCCRender.load(). - O, después de que ambos se hayan cargado, llama a
lccObject.lowerToBottom()para mover el orden de renderizado del modelo LCC al frente.
5. Soporte para versiones antiguas de CesiumJS
Causa: Cesium v1.102 y posteriores usan WebGL2 por defecto, mientras que las versiones anteriores usan WebGL1 por defecto. El Web SDK no soporta WebGL1, por lo que es necesario forzar WebGL2.
Solución: Fuerza la activación de WebGL2. La versión mínima compatible es Cesium v1.67.
const viewer = new Cesium.Viewer("cesiumContainer", {
orderIndependentTranslucency: false, // Desactivar transparencia independiente del orden
useDefaultRenderLoop: true,
resolutionScale: window.devicePixelRatio,
contextOptions: {
webgl2: true, // Forzar WebGL 2.0
requestWebgl2: true
}
});
6. El Viewer es lento a pesar del buen hardware
Causa: En ordenadores con múltiples GPUs (por ejemplo, GPU integrada Intel + GPU dedicada NVIDIA), Windows puede usar la GPU integrada por defecto, lo que causa retrasos en el renderizado.
Solución:
- Configura el modo de energía del ordenador en "Alto rendimiento".
- En el Panel de control de NVIDIA, configura el navegador para usar la GPU dedicada.
- En Configuración de Windows → Pantalla → Gráficos, asigna al navegador la GPU de "Alto rendimiento".
Reinicia el navegador después de completar la configuración para que los nuevos ajustes surtan efecto.
7. El renderizado es lento a pesar del hardware adecuado
El renderizado 3DGS tiene altos requisitos de recursos. Cierra las aplicaciones que consuman muchos recursos, como editores 3D, tareas de reconstrucción LCC, reproducción de vídeo en HD, descargas de alta velocidad y transmisiones de vídeo para liberar los recursos de computación necesarios.
8. El mismo portátil muestra un rendimiento inconsistente
Si experimentas un rendimiento inconsistente (a veces fluido, a veces con tirones) al navegar escenas en el mismo portátil en diferentes momentos, la causa probablemente está relacionada con si hay una fuente de alimentación externa conectada. Con batería, el portátil emplea estrategias de ahorro de energía que reducen el rendimiento de CPU y GPU, lo que puede causar tirones. Se recomienda usar una fuente de alimentación externa al visualizar escenas 3DGS.