Skip to content
TREN
Atlıhan Harita

LCC for UE User Manual

3DGS Appear and Disappear Animations

Chapter 15 / 26Manual version v3.5.0English

Overview

The loading animation plays while LCC data loads. In the editor, click the Refresh button to trigger a reload and preview the animation.

Previewing the loading animation with the Refresh button

Clicking the Refresh button to preview the loading animation

  • 3DGS mode: two-stage animation (nothing → point cloud → 3DGS)
The two stages of the 3DGS loading animation

The 3DGS loading animation transitions from point cloud to 3DGS

Demonstration of the two-stage 3DGS loading animation

  • Point cloud mode: one-stage animation (nothing → point cloud)
Point cloud loading animation stage

The one-stage loading animation of point cloud mode

Demonstration of the point cloud mode loading animation

Parameters

The control parameters live under the Animation category of LCCComponent:

LCC loading animation parameter panel

Configuring the loading animation parameters in the Animation category

ParameterDefaultDescription
bEnableAnimationfalseEnables the loading animation
AnimationSpeed100Animation speed
AnimationMinScale0.001Point size of the first stage (3DGS mode only)
FirstStageDelay0First stage delay in seconds. The data is not displayed before it starts
SecondStageDelay-Second stage delay (point cloud → 3DGS). Equal to FirstStageDelay skips the first stage
EnvironmentDelay-Environment node delay. The environment does not take part in the animation and appears directly when the time is reached
AnimationOriginOffset(0,0,0)Offset of the scan origin
FirstStageColorGoldScan line color of the first stage (an alpha of 0 hides the scan line)
SecondStageColor-Scan line color of the second stage
ScanLineThickness5Scan line width

Inverse Animation

With inverse animation enabled, the animation contracts from the distance toward the center and disappears.

LCC inverse animation parameter panel

Configuring the inverse animation parameters in the Animation category

ParameterDefaultDescription
Inverse AnimationfalseEnables inverse animation. Once enabled, the animation contracts from the distance toward the center and disappears
Inverse Max Range Time30Sets the initial visible range of the inverse animation. The value needs to cover the whole scene

Demonstration of the two-stage 3DGS inverse animation

Demonstration of the point cloud mode inverse animation

Controlling the Animation at Runtime

Besides configuring it in the Details panel, the animation can also be controlled at runtime from code or Blueprint.

Replaying the Animation

Besides switching the animation on and off, SetEnableAnimation also resets the animation timing origin to the current time. It is therefore not limited to the loading stage: calling it at any moment replays the animation from the beginning.

// Replay the animation on an already loaded scene without reloading the data
Component->SetEnableAnimation(true);

The matching Blueprint node is Set Enable Animation.

Order of Parameters and the Switch

Once the animation starts, it follows the current parameters. Parameters can still be changed after it starts and the change takes effect on the next frame, but that is a mid-play adjustment and the animation does not restart from the beginning.

To make parameters apply to the whole animation, set the parameters first and call SetEnableAnimation last:

// Set the parameters first
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);

// Turn on the switch last; the animation starts at this moment with the parameters above
Component->SetEnableAnimation(true);

To change a parameter during playback (adjusting the speed in real time, for example), change the property directly without calling SetEnableAnimation again. Conversely, calling SetEnableAnimation(true) during playback restarts the animation, so avoid repeated calls in normal mode.

Playing the Disappear Animation

Set bInverseAnimation to true, then call SetEnableAnimation(true) to reset the timeline:

// Disappear
Component->bInverseAnimation = true;
Component->SetEnableAnimation(true);

// Appear again
Component->bInverseAnimation = false;   // remember to reset
Component->SetEnableAnimation(true);

Text Blueprint:

[Custom Event: PlayDisappear]
        │
        ▼
[Set Inverse Animation]
        Target = (LCC Component)
        bInverse Animation = true
        │
        ▼
[Set Enable Animation]
        Target = (LCC Component)
        b In Enable Animation = true

Practical Notes

  • Set bInverseAnimation before SetEnableAnimation. In the reverse order the timeline is reset before the direction changes, and the animation plays once in the old direction.
  • Reset bInverseAnimation to false after each appear animation finishes. Otherwise the same object stays in inverse mode the next time it is used.
  • The default 30 seconds of InverseMaxRangeTime is too large for fast interaction and needs lowering. This value multiplied by AnimationSpeed gives the initial visible radius, which must be large enough to cover the whole scene, but too large a value makes the disappear process drag.
  • Avoid repeated calls to SetEnableAnimation(true) in normal mode. Every call resets the timeline and the animation keeps restarting from the beginning.

Animation State Query and Events

You can query which stage the animation is currently in, or listen for animation state changes:

  • GetLoadAnimationState() returns the current state: NoAnimation (animation off or no model) / Playing (playing) / Finished (finished).
  • The OnLoadAnimationStateChanged event is dispatched when the state changes, letting you trigger follow-up logic after the animation finishes.

For the full interface and usage conventions, see ULCCComponentBase - State Query.

Tip: an animation Finished does not mean the model is complete on screen — the animation advances by time and does not wait for data. To check whether the first frame is complete, use the load state OnLoadStateChanged rather than the animation state.

This chapter is from the official XGRIDS user manual. Official source (opens in a new tab) · Updated:

XGRIDS Türkiye

We're With You During Setup and in the Field

Atlıhan Harita provides training and technical support for device setup, firmware updates, software use, and field applications. Send us your question and our specialist will get back to you.

+90 216 546 0804