Create simple tweens for UMG widgets from C++.
UBUITween::Create( SomeWidget, 0.2f )
.FromTranslation( FVector2D( -100, 0 ) )
.FromOpacity( 0.2f )
.ToTranslation( FVector2D( 20, 10 ) )
.ToOpacity( 1.0f )
.Begin();
The plugin module registers itself to tick automatically even during game-world pause.
// Make UWidget MyWidget fade in from the left
const float TweenDuration = 0.7f;
const float StartDelay = 0.3f;
UBUITween::Create( MyWidget, TweenDuration, StartDelay )
.FromTranslation( FVector2D( -100, 0 ) )
.FromOpacity( 0.2f )
.ToReset()
.Easing( EBUIEasingType::OutCubic )
.Begin();
Parameters available:
Property | From | To |
---|---|---|
Translation | FromTranslation( FVector2D) |
ToTranslation( FVector2D ) |
Scale | FromScale( FVector2D ) |
ToScale( FVector2D ) |
Rotation | FromRotation( float ) |
ToRotation( float ) |
Opacity | FromOpacity( float ) |
ToOpacity( float ) |
Color | FromColor( FLinearColor ) |
ToColor( FLinearColor ) |
Visibility | FromVisibility( ESlateVisibility ) |
ToVisibility( ESlateVisibility ) |
Canvas Position | FromCanvasPosition( FVector2D ) |
ToCanvasPosition( FVector2D ) |
SizeBox Max Height | FromMaxDesiredHeight( float ) |
ToMaxDesiredHeight( float ) |
Slot Padding | FromPadding( FMargin ) |
ToPadding( FMargin ) |
Other helper functions:
ToReset()
UBUITween::Create( MyWidget, 0.5f )
.FromRotation( -90 )
.ToRotation( 45 )
.OnComplete( FBUITweenSignature::CreateLambda([]( UWidget* Owner ) {
// Do some logic on complete
} ) )
.Begin();
For the full API, check the source code.
- I haven't performance-tested it beyond having 5-6 tweens running simultaneously.
- No Blueprint support.
If you find it useful, drop me a line @_benui on Twitter