Erscheinen- und Verschwinden-Animationen für 3DGS
Überblick
Die Ladeanimation läuft, während LCC-Daten geladen werden. Im Editor die Schaltfläche Refresh anklicken, um ein erneutes Laden auszulösen und die Animation vorab zu sehen.

Die Schaltfläche Refresh anklicken, um die Ladeanimation vorab zu sehen
- 3DGS-Modus: zweistufige Animation (nichts → Punktwolke → 3DGS)

Die 3DGS-Ladeanimation geht von der Punktwolke in 3DGS über

Vorführung der zweistufigen 3DGS-Ladeanimation
- Punktwolkenmodus: einstufige Animation (nichts → Punktwolke)

Die einstufige Ladeanimation des Punktwolkenmodus

Vorführung der Ladeanimation im Punktwolkenmodus
Parameter
Die Steuerparameter liegen unter der Kategorie Animation von LCCComponent:

Die Parameter der Ladeanimation in der Kategorie Animation konfigurieren
| Parameter | Standard | Beschreibung |
|---|---|---|
| bEnableAnimation | false | Aktiviert die Ladeanimation |
| AnimationSpeed | 100 | Geschwindigkeit der Animation |
| AnimationMinScale | 0.001 | Punktgröße der ersten Stufe (nur 3DGS-Modus) |
| FirstStageDelay | 0 | Verzögerung der ersten Stufe in Sekunden. Vor deren Start werden die Daten nicht dargestellt |
| SecondStageDelay | - | Verzögerung der zweiten Stufe (Punktwolke → 3DGS). Gleich FirstStageDelay überspringt die erste Stufe |
| EnvironmentDelay | - | Verzögerung der Umgebungs-Nodes. Die Umgebung nimmt nicht an der Animation teil und erscheint direkt, sobald der Zeitpunkt erreicht ist |
| AnimationOriginOffset | (0,0,0) | Offset des Scan-Ursprungs |
| FirstStageColor | Gold | Farbe der Scanlinie in der ersten Stufe (ein Alpha von 0 verbirgt die Scanlinie) |
| SecondStageColor | - | Farbe der Scanlinie in der zweiten Stufe |
| ScanLineThickness | 5 | Breite der Scanlinie |
Umgekehrte Animation
Bei aktivierter umgekehrter Animation zieht sich die Animation aus der Ferne zur Mitte zusammen und verschwindet.

Die Parameter der umgekehrten Animation in der Kategorie Animation konfigurieren
| Parameter | Standard | Beschreibung |
|---|---|---|
| Inverse Animation | false | Aktiviert die umgekehrte Animation. Danach zieht sich die Animation aus der Ferne zur Mitte zusammen und verschwindet |
| Inverse Max Range Time | 30 | Legt den anfänglich sichtbaren Bereich der umgekehrten Animation fest. Der Wert muss die gesamte Szene abdecken |

Vorführung der zweistufigen umgekehrten 3DGS-Animation

Vorführung der umgekehrten Animation im Punktwolkenmodus
Die Animation zur Laufzeit steuern
Neben der Konfiguration im Details-Panel lässt sich die Animation zur Laufzeit auch aus Code oder Blueprint steuern.
Die Animation erneut abspielen
Neben dem Ein- und Ausschalten der Animation setzt SetEnableAnimation auch den Zeitursprung der Animation auf den aktuellen Zeitpunkt zurück. Die Methode ist daher nicht auf die Ladephase beschränkt: Ein Aufruf zu einem beliebigen Zeitpunkt spielt die Animation von Anfang an erneut ab.
// Die Animation in einer bereits geladenen Szene erneut abspielen, ohne die Daten neu zu laden
Component->SetEnableAnimation(true);
Der zugehörige Blueprint-Node ist Set Enable Animation.
Reihenfolge von Parametern und Schalter
Sobald die Animation startet, folgt sie den aktuellen Parametern. Parameter lassen sich auch nach dem Start ändern und die Änderung wirkt im nächsten Bild, das ist aber eine Anpassung während der Wiedergabe und die Animation startet nicht von Anfang an neu.
Damit Parameter für die gesamte Animation gelten, zuerst die Parameter setzen und SetEnableAnimation zuletzt aufrufen:
// Zuerst die Parameter setzen
Component->AnimationSpeed = 30.0f;
Component->AnimationMinScale = 0.1f;
Component->SecondStageDelay = 1.0f;
Component->bUseFirstStageColor = true;
Component->FirstStageColor = FLinearColor(0.f, 0.8f, 1.f, 1.f);
// Den Schalter zuletzt setzen; die Animation startet in diesem Moment mit den obigen Parametern
Component->SetEnableAnimation(true);
Um einen Parameter während der Wiedergabe zu ändern (etwa die Geschwindigkeit in Echtzeit anzupassen), die Eigenschaft direkt ändern, ohne SetEnableAnimation erneut aufzurufen. Umgekehrt startet ein Aufruf von SetEnableAnimation(true) während der Wiedergabe die Animation neu, wiederholte Aufrufe im normalen Modus also vermeiden.
Die Verschwinden-Animation abspielen
bInverseAnimation auf true setzen und danach SetEnableAnimation(true) aufrufen, um die Zeitleiste zurückzusetzen:
// Verschwinden
Component->bInverseAnimation = true;
Component->SetEnableAnimation(true);
// Wieder erscheinen
Component->bInverseAnimation = false; // nicht vergessen zurückzusetzen
Component->SetEnableAnimation(true);
Blueprint als Text:
[Custom Event: PlayDisappear]
│
▼
[Set Inverse Animation]
Target = (LCC Component)
bInverse Animation = true
│
▼
[Set Enable Animation]
Target = (LCC Component)
b In Enable Animation = true
Praktische Hinweise
bInverseAnimationvorSetEnableAnimationsetzen. In der umgekehrten Reihenfolge wird die Zeitleiste zurückgesetzt, bevor sich die Richtung ändert, und die Animation läuft einmal in der alten Richtung.bInverseAnimationnach jeder abgeschlossenen Erscheinen-Animation auffalsezurücksetzen. Sonst bleibt dasselbe Objekt bei der nächsten Verwendung im umgekehrten Modus.- Die Standardwerte von 30 Sekunden bei
InverseMaxRangeTimesind für schnelle Interaktion zu groß und müssen gesenkt werden. Dieser Wert multipliziert mitAnimationSpeedergibt den anfänglich sichtbaren Radius, der groß genug sein muss, um die gesamte Szene abzudecken; ein zu großer Wert zieht das Verschwinden aber in die Länge. - Wiederholte Aufrufe von
SetEnableAnimation(true)im normalen Modus vermeiden. Jeder Aufruf setzt die Zeitleiste zurück und die Animation startet immer wieder von Anfang an.