Description

Licensee reported that alpha blending is done twice in the code below, and the fix below seems to fix it.

.\Engine\Source\Runtime\UMG\Private\Slate\SRetainerWidget.cpp
From:

const FLinearColor ComputedColorAndOpacity(Context.WidgetStyle.GetColorAndOpacityTint() * GetColorAndOpacity() * SurfaceBrush.GetTint(Context.WidgetStyle));

To:

FLinearColor ContextWidgetStyleColor = Context.WidgetStyle.GetColorAndOpacityTint();
ContextWidgetStyleColor.A = 1.0f;
const FLinearColor ComputedColorAndOpacity(ContextWidgetStyleColor * GetColorAndOpacity() * SurfaceBrush.GetTint(Context.WidgetStyle));

[Image Removed]

 

Steps to Reproduce
  1. Open the attached project
    [Link Removed]
    This project contains the following setup:
    *Set RenderOpacity of CanvasPanel to 0.5.
    [Image Removed]
    *The materials used for RetainerBox are as follows.
    [Image Removed]
     
  2. Play. A RetainerBox that contains Alpha will be faded.
    [Image Removed]

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-176764 in the post.

0
Login to Vote

Backlogged
ComponentUE - Editor - UI Systems - UMG
Affects Versions5.15.2
CreatedFeb 10, 2023
UpdatedDec 15, 2023