Entwicklungsanleitung für Ladeeffekte
Das LCC Unity SDK unterstützt Ladeeffekte. Ein Ladeeffekt breitet sich von einem festgelegten Punkt in alle Richtungen (720 Grad) aus und simuliert so einen Prozess des Erscheinens aus dem Nichts. Im Folgenden werden die vollständigen Schritte zur Implementierung des Ladeeffekts beschrieben.
Schritt 1: Die Szene und die GameObjects erstellen
Erstellen Sie in Unity eine brandneue Szene. Unity erstellt standardmäßig die Hauptkamera und das Richtungslicht.
Hauptkamera einrichten
Wählen Sie die Hauptkamera im Fenster Hierarchie aus und legen Sie deren Eigenschaften im Fenster Inspektor wie unten dargestellt fest.

Die Eigenschaften der Hauptkamera festlegen
LCCManager erstellen
Klicken Sie mit der rechten Maustaste in einen leeren Bereich des Fensters Hierarchie, wählen Sie im Popup-Menü Leeres GameObject erstellen, um ein leeres GameObject zu erstellen, benennen Sie es LCCManager, normalisieren Sie dessen Transform und fügen Sie über Komponente hinzufügen das Skript LCCManager hinzu.

Das GameObject LCCManager erstellen und das Skript LCCManager hinzufügen
LCCRenderer erstellen
Klicken Sie mit der rechten Maustaste in einen leeren Bereich des Fensters Hierarchie, wählen Sie Leeres GameObject erstellen, um ein leeres GameObject zu erstellen, benennen Sie es LCCRenderer und setzen Sie dessen Transform auf Rotation.x = -90 und Scale.x = -1.

LCCRenderer erstellen und dessen Transform festlegen (Rotation.x = -90, Scale.x = -1)
Hinweis:
Die Transform-Einstellungen des GameObject LCCRenderer (Rotation.x = -90, Scale.x = -1) richten es am LCC-Daten-Koordinatensystem aus. Details zur Ausrichtung am Koordinatensystem finden Sie unter „LCC-Daten-Koordinatensystem“ in Einführung in das Unity SDK.
Schritt 2: Ein Skript zum Auslösen des Effekts schreiben
Erstellen Sie ein neues C#-Skript namens VFX.cs mit folgendem Code:
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("Gestartet, Daten werden geladen...");
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(m_FilePath, onProgress, onComplete);
}
private void onProgress(float _progress)
{
Debug.Log($"Ladefortschritt: {_progress:P1}");
}
private void onComplete()
{
Debug.Log("Laden abgeschlossen, VFX wird aktiviert ...");
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
}
}
Hinweis:
Der Effekt muss nach Abschluss des Ladens der LCC-Szene ausgelöst werden; daher wird
TriggerVFX()im CallbackonCompleteaufgerufen. In diesem Beispiel wird der Effekt nach Abschluss des Datenladens 2 Meter vor der Rendering-Kamera ausgelöst.
Schritt 3: Das Skript anhängen und den Datenpfad festlegen
- Hängen Sie das Skript
VFX.csim Fenster Hierarchie an das GameObject LCCManager. - Ziehen Sie im Fenster Inspektor das GameObject LCCManager auf die Eigenschaft Manager des Skripts.
- Tragen Sie den LCC-Dateipfad in die Eigenschaft File Path des Skripts ein.

Das VFX-Skript anhängen und die Eigenschaften Manager sowie File Path festlegen
Schritt 4: Ausführen
Klicken Sie im Fenster Spiel auf die Schaltfläche Play, um den Ladeeffekt in Echtzeit in der Szene zu sehen. Der Effekt breitet sich vom Auslösepunkt in alle Richtungen (720 Grad) aus.

Der Ladeeffekt in Echtzeit in der Szene nach dem Ausführen
Schlüsselschritte
Die Schlüsselschritte zum Laden eines Effekts in einer 3DGS-Szene:
- Sicherstellen, dass die GameObjects LCCManager und LCCRenderer mit korrektem Transform in der Szene erstellt wurden.
- Sicherstellen, dass der Effekt im Code nach Abschluss des Ladens der LCC-Szene (d. h. im Callback
onComplete) ausgelöst wird. - Die an
TriggerVFX()übergebene Weltkoordinate bestimmt den Ursprung der Effektausbreitung.
Effektbezogene API
Das LCC Unity SDK stellt die API zum Auslösen des Effekts über LCCManager bereit. Sie muss nach Abschluss des Ladens der LCC-Szene (d. h. im Callback onComplete) aufgerufen werden.
TriggerVFX
// Rückgabewert: void
public void TriggerVFX(Vector3 vfxOriginW, int vfxid = 0)
Löst den Effekt an der angegebenen Weltkoordinate aus, und der Effekt breitet sich von diesem Koordinatenpunkt in alle Richtungen (720 Grad) aus.
| Parameter | Typ | Beschreibung |
|---|---|---|
vfxOriginW | Vector3 | Weltkoordinaten-Ursprung des Effekts |
vfxid | int | Effekt-ID, optional, Standard ist 0 |
Verwendungsbeispiel:
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
Hinweise:
- Muss nach Abschluss des Ladens der LCC-Szene aufgerufen werden.
vfxOriginWist die Weltkoordinate des Startpunkts des Effekts.- Nach dem Aufruf wird das Shader-Keyword auf
_VFXMIXumgeschaltet.