Domande frequenti
1. Filigrana e AppKey
Causa: A partire dall'SDK v0.5.0, viene visualizzata per impostazione predefinita una filigrana nell'angolo inferiore sinistro.
Soluzione: Contatta il team commerciale per ottenere un AppKey e imposta il parametro appKey in LCCRender.load() per rimuovere la filigrana.
2. Errore nell'integrazione dell'SDK in progetti Babel
Causa: L'SDK utilizza la sintassi dei browser moderni. Babel potrebbe compilarla in una sintassi più vecchia, causando errori di runtime o di compilazione.
Soluzione:
- Configura Babel per escludere i file SDK dalla compilazione.
- Oppure includi il file SDK tramite un tag
<script>per saltare la compilazione:
<script src="./sdk.js"></script>
Dopo l'inclusione, usa LCC.LCCRender per il caricamento.
3. Il modello LCC non è visibile nel motore Three.js
Segui questi passaggi per la risoluzione dei problemi:
- Controlla la console del browser per messaggi di errore (ad es., file non trovato).
- Verifica che i file in
dataPathsiano accessibili e scaricabili. - Controlla se il valore
fardella fotocamera è sufficientemente grande — il modello potrebbe essere al di fuori del frustum della fotocamera. - Verifica che
LCCRender.update()venga chiamato nel ciclo di rendering.
Se nessuno dei passaggi precedenti risolve il problema, contatta il supporto tecnico o fai una domanda nel forum.
4. Il modello 3D Tile è nascosto dal modello LCC in CesiumJS
Causa: Per impostazione predefinita, il modello LCC scrive nel buffer di profondità e la funzione di test di profondità è impostata su sempre superato (ALWAYS). Nella coda di rendering Pass.CESIUM_3D_TILE, se i 3D Tile vengono caricati prima del modello LCC, verranno sovrascritti dalla profondità del modello LCC.
Soluzione:
- Carica il modello 3D Tile all'interno del callback di successo di
LCCRender.load(). - Oppure, dopo che entrambi sono stati caricati, chiama
lccObject.lowerToBottom()per spostare l'ordine di rendering del modello LCC in primo piano.
5. Supporto per versioni precedenti di CesiumJS
Causa: Cesium v1.102 e successive utilizzano WebGL2 per impostazione predefinita, mentre le versioni precedenti utilizzano WebGL1. L'SDK Web non supporta WebGL1, quindi è necessario forzare WebGL2.
Soluzione: Forza l'attivazione di WebGL2. La versione minima supportata è Cesium v1.67.
const viewer = new Cesium.Viewer("cesiumContainer", {
orderIndependentTranslucency: false, // Disattiva la trasparenza indipendente dall'ordine
useDefaultRenderLoop: true,
resolutionScale: window.devicePixelRatio,
contextOptions: {
webgl2: true, // Forza WebGL 2.0
requestWebgl2: true
}
});
6. Il Viewer è lento nonostante un buon hardware
Causa: Nei computer con più GPU (ad es., GPU integrata Intel + GPU dedicata NVIDIA), Windows potrebbe utilizzare per impostazione predefinita la GPU integrata, causando rallentamenti nel rendering.
Soluzione:
- Imposta la modalità energetica del computer su "Prestazioni elevate".
- Nel Pannello di controllo NVIDIA, imposta il browser per utilizzare la GPU dedicata.
- In Impostazioni Windows → Schermo → Grafica, assegna al browser la GPU "Prestazioni elevate".
Riavvia il browser dopo aver completato le impostazioni per rendere effettiva la nuova configurazione.
7. Il rendering è lento nonostante un hardware adeguato
Il rendering 3DGS ha requisiti di risorse elevati. Chiudi le applicazioni che consumano molte risorse come editor 3D, attività di ricostruzione LCC, riproduzione video HD, download ad alta velocità e streaming video per liberare le risorse di calcolo necessarie.
8. Lo stesso laptop mostra prestazioni inconsistenti
Se riscontri prestazioni inconsistenti (a volte fluide, a volte scattose) durante la navigazione delle scene sullo stesso laptop in momenti diversi, la causa è molto probabilmente legata alla presenza o meno di un'alimentazione esterna. Con la batteria, il laptop utilizza strategie di risparmio energetico che riducono le prestazioni di CPU e GPU, causando possibili scatti. Si consiglia di utilizzare un'alimentazione esterna durante la visualizzazione di scene 3DGS.