Guida allo sviluppo dell'effetto di caricamento
L'LCC Unity SDK supporta gli effetti di caricamento. Un effetto di caricamento si diffonde verso l'esterno a 720 gradi da un punto specificato, simulando un processo di comparsa dal nulla. Di seguito vengono descritti i passaggi completi per implementare l'effetto di caricamento.
Passaggio 1: crea la scena e i GameObject
Crea una scena completamente nuova in Unity. Unity crea Camera principale e Luce direzionale per impostazione predefinita.
Configura la Camera principale
Seleziona Camera principale nella finestra Gerarchia e imposta le sue proprietà nella finestra Inspector come mostrato di seguito.

Imposta le proprietà della Camera principale
Crea LCCManager
Fai clic con il pulsante destro su un'area vuota nella finestra Gerarchia, seleziona Crea vuoto dal menu a comparsa per creare un GameObject vuoto, assegna il nome LCCManager, normalizza il suo Transform e aggiungi lo script LCCManager tramite Aggiungi componente.

Crea il GameObject LCCManager e aggiungi lo script LCCManager
Crea LCCRenderer
Fai clic con il pulsante destro su un'area vuota nella finestra Gerarchia, seleziona Crea vuoto per creare un GameObject vuoto, assegna il nome LCCRenderer e imposta il suo Transform su Rotation.x = -90 e Scale.x = -1.

Crea LCCRenderer e imposta il suo Transform (Rotation.x = -90, Scale.x = -1)
Nota:
Le impostazioni Transform del GameObject LCCRenderer (Rotation.x = -90, Scale.x = -1) lo allineano al sistema di coordinate dei dati LCC. Per i dettagli sull'allineamento del sistema di coordinate, vedi "Sistema di coordinate dei dati LCC" in Introduzione all'Unity SDK.
Passaggio 2: scrivi uno script per attivare l'effetto
Crea un nuovo script C# denominato VFX.cs con il seguente codice:
using LCCCore;
using UnityEngine;
public class VFX : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
private LCCCore.Renderer m_renderer;
void Start()
{
m_manager.SetPlatformType(PlatformType.PC);
m_manager.SwitchRenderPass(ActiveRenderMode.SingleRender);
Debug.Log("Avviato, caricamento dati in corso...");
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(m_FilePath, onProgress, onComplete);
}
private void onProgress(float _progress)
{
Debug.Log($"Avanzamento caricamento: {_progress:P1}");
}
private void onComplete()
{
Debug.Log("Caricamento completato, attivazione VFX ...");
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
}
}
Nota:
L'effetto deve essere attivato dopo che la scena LCC ha terminato il caricamento, quindi
TriggerVFX()viene chiamato nel callbackonComplete. In questo esempio, dopo il completamento del caricamento dei dati, l'effetto viene attivato 2 metri davanti alla camera di rendering.
Passaggio 3: associa lo script e imposta il percorso dati
- Associa lo script
VFX.csal GameObject LCCManager nella finestra Gerarchia. - Nella finestra Inspector, trascina il GameObject LCCManager sulla proprietà Manager dello script.
- Inserisci il percorso del file LCC nella proprietà File Path dello script.

Associa lo script VFX e imposta le proprietà Manager e File Path
Passaggio 4: esegui
Fai clic sul pulsante Play nella finestra Game per vedere l'effetto di caricamento in tempo reale nella scena. L'effetto si diffonde verso l'esterno a 720 gradi dal punto di attivazione.

L'effetto di caricamento in tempo reale nella scena dopo l'esecuzione
Punti chiave
I passaggi chiave per caricare un effetto in una scena 3DGS:
- Assicurati che i GameObject LCCManager e LCCRenderer siano stati creati nella scena con il Transform corretto.
- Assicurati che l'effetto venga attivato nel codice dopo che la scena LCC ha terminato il caricamento (ovvero nel callback
onComplete). - La coordinata mondo passata a
TriggerVFX()determina l'origine della diffusione dell'effetto.
API relative all'effetto
L'LCC Unity SDK fornisce l'API di attivazione dell'effetto tramite LCCManager. Deve essere chiamata dopo che la scena LCC ha terminato il caricamento (ovvero nel callback onComplete).
TriggerVFX
// Valore restituito: void
public void TriggerVFX(Vector3 vfxOriginW, int vfxid = 0)
Attiva l'effetto alla coordinata mondo specificata e l'effetto si diffonde verso l'esterno a 720 gradi da quel punto di coordinate.
| Parametro | Tipo | Descrizione |
|---|---|---|
vfxOriginW | Vector3 | Origine in coordinate mondo dell'effetto |
vfxid | int | ID dell'effetto, opzionale, il valore predefinito è 0 |
Esempio di utilizzo:
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
Note:
- Deve essere chiamata dopo che la scena LCC ha terminato il caricamento.
vfxOriginWè la coordinata mondo del punto iniziale dell'effetto.- Dopo la chiamata, la keyword dello shader viene impostata su
_VFXMIX.