Navigation
API > API/Plugins > API/Plugins/Composite
Layer that renders a media texture into the composite stack, with optional scene projection via composite meshes.
With composite meshes and default plugin materials, the media texture is projected into the scene. These meshes are rendered separately in a custom render pass without post-processing. By default, they are also marked as holdout such that the plate layer can be composited under the main render.
Without composite meshes, the plate layer can be used solely as a 2D layer. In this case however, interactions between CG and media in the scene are lost.
| Name | UCompositeLayerPlate |
| Type | class |
| Header File | /Engine/Plugins/Compositing/Composite/Source/Composite/Public/Layers/CompositeLayerPlate.h |
| Include Path | #include "Layers/CompositeLayerPlate.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType, Blueprintable, EditInlineNew, CollapseCategories,
Meta=(DisplayName="Plate"))
class UCompositeLayerPlate :
public UCompositeLayerBase ,
public FTickableGameObject
Inheritance Hierarchy
- FTickableObjectBase → FTickableGameObject → UCompositeLayerPlate
- UObjectBase → UObjectBaseUtility → UObject → UCompositePassBase → UCompositeLayerBase → UCompositeLayerPlate
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UCompositeLayerPlate
(
const FObjectInitializer& ObjectInitializer |
Constructor. | Layers/CompositeLayerPlate.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~UCompositeLayerPlate() |
Destructor. | Layers/CompositeLayerPlate.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| CompositeTextureName | const FLazyName | Composite (media) texture material parameter name. | Layers/CompositeLayerPlate.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bRemoveOverscan | bool | Automatically remove overscan from the media texture by reading the camera's overscan value. | Layers/CompositeLayerPlate.h |
|
| bUltimatteBlend | bool | When enabled, blending with the background is performed in sRGB display color space rather than linear. | Layers/CompositeLayerPlate.h |
|
| MediaPasses | TArray< TObjectPtr< UCompositePassBase > > | Media texture pre-processing passes, applied before rendering. | Layers/CompositeLayerPlate.h |
|
| ScenePasses | TArray< TObjectPtr< UCompositePassBase > > | Passes applied after media passes, onto composite meshes only. | Layers/CompositeLayerPlate.h |
|
| Texture | TObjectPtr< UTexture > | Media texture for compositing layer. | Layers/CompositeLayerPlate.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bControlMeshVisibility | bool | When enabled, the plate layers automatically control the visibility of registered composite meshes. | Layers/CompositeLayerPlate.h |
|
| bIsHoldoutEnabled | bool | Composite meshes are marked as primitive alpha holdout for the main render. | Layers/CompositeLayerPlate.h |
|
| bRebindRenderTarget | bool | Toggled when a render target is resized to trigger a mesh material texture parameter rebind in Tick. | Layers/CompositeLayerPlate.h | |
| CachedValidMediaPasses | int32 | Cached number of valid media passes. | Layers/CompositeLayerPlate.h | |
| CachedValidScenePasses | int32 | Cached number of valid scene passes. | Layers/CompositeLayerPlate.h | |
| CompositeMeshes | TArray< TSoftObjectPtr< AActor > > | Actors whose primitive mesh components will be marked as primitive alpha holdout, and rendered separately with the projected (media) texture. | Layers/CompositeLayerPlate.h |
|
| CompositeMeshPrimitives | TArray< FCompositeMeshPrimitiveReference > | A list of actual primitives from the composite mesh actors that will be marked as primitive alpha holdout, and rendered separately with the projected (media) texture | Layers/CompositeLayerPlate.h | |
| MediaRenderTarget | TObjectPtr< UTextureRenderTarget2D > | Processed media texture render target. | Layers/CompositeLayerPlate.h |
|
| OverscanPass | TObjectPtr< UCompositePassTransform2D > | Internal pass to automatically remove overscan from the media texture. Not serialized. | Layers/CompositeLayerPlate.h |
|
| PlateMode | ECompositePlateMode | The plate sampling & rendering mode: direct texture sampling or separate composite mesh render. | Layers/CompositeLayerPlate.h |
|
| PreEditCompositeMeshes | TArray< TSoftObjectPtr< AActor > > | Pre-edit list of registered composite meshes. | Layers/CompositeLayerPlate.h | |
| PreSaveCompositeMeshPrimitives | TArray< FCompositeMeshPrimitiveReference > | Transient copy of CompositeMeshPrimitives that keeps non-valid soft pointers during a save as they will be removed from CompositeMeshPrimitives during saving | Layers/CompositeLayerPlate.h | |
| SceneRenderTarget | TObjectPtr< UTextureRenderTarget2D > | Processed media texture with additional passes only for scene composite meshes. | Layers/CompositeLayerPlate.h |
|
| SpawnableBindings | FCompositeSpawnableBindings | Parallel spawnable binding data for the CompositeMeshes array. | Layers/CompositeLayerPlate.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const TArray< TSoftObjectPtr< AActor > > GetCompositeMeshes() |
Get composite meshes. | Layers/CompositeLayerPlate.h |
|
UTexture * GetCompositeTexture() |
Returns the media texture, optionally pre-processed with layer & scene-only passes into a render target. | Layers/CompositeLayerPlate.h |
|
bool GetControlMeshVisibility() |
Get whether plate layers automatically control the visibility of registered composite meshes. | Layers/CompositeLayerPlate.h |
|
TArray< UPrimitiveComponent * > GetIncludedPrimitivesForActor
(
TSoftObjectPtr< AActor > InActor |
Gets the list of primitives that are specifically included for the composite mesh actor. | Layers/CompositeLayerPlate.h | |
bool GetIsHoldoutEnabled() |
Get whether primitive alpha holdout is active for composite meshes in the main render. | Layers/CompositeLayerPlate.h |
|
ECompositePlateMode GetPlateMode() |
Get the plate sampling & rendering mode | Layers/CompositeLayerPlate.h |
|
TArray< UPrimitiveComponent * > GetPrimitives() |
Get array of all composite mesh primitives. | Layers/CompositeLayerPlate.h | |
TArray< UPrimitiveComponent * > GetPrimitivesForActor
(
TSoftObjectPtr< AActor > InActor |
Get list of composite mesh primitives for a specified composite mesh actor | Layers/CompositeLayerPlate.h | |
void SetCompositeMeshes
(
TArray< TSoftObjectPtr< AActor > > InCompositeMeshes |
Set composite meshes. | Layers/CompositeLayerPlate.h |
|
void SetControlMeshVisibility
(
bool bInControlMeshVisibility |
Set whether plate layers automatically control the visibility of registered composite meshes: turned invisible if the layer or actor is disabled or hidden. | Layers/CompositeLayerPlate.h |
|
void SetIsHoldoutEnabled
(
bool bInIsHoldoutEnabled |
Set whether primitive alpha holdout is active for composite meshes in the main render. | Layers/CompositeLayerPlate.h |
|
void SetPlateMode
(
ECompositePlateMode InPlateMode |
Set the plate sampling & rendering mode | Layers/CompositeLayerPlate.h |
|
void SetPrimitiveIncluded
(
UPrimitiveComponent* InPrimitive, |
Sets whether a composite mesh actor's primitive should be included as a composite mesh primitive or not | Layers/CompositeLayerPlate.h |
Public Virtual
Overridden from UCompositeLayerBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnRemoved
(
ACompositeActor* LastOwner |
Called when the layer is removed or composite actor is destroyed. | Layers/CompositeLayerPlate.h | |
virtual void OnRenderingStateChange
(
ECompositeStateChangeType ChangeType |
Called when composite actor rendering state changes. | Layers/CompositeLayerPlate.h |
Overridden from UCompositePassBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FCompositeCorePassProxy * GetProxy
(
const UE::CompositeCore::FPassInputDecl& InputDecl, |
Getter function to override, returning pass layer proxies to be passed to the render thread. | Layers/CompositeLayerPlate.h | |
virtual void SetIsEnabled
(
bool bInEnabled |
Set the enabled state. | Layers/CompositeLayerPlate.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
Layers/CompositeLayerPlate.h | ||
virtual bool CanEditChange
(
const FProperty* InProperty |
Layers/CompositeLayerPlate.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Layers/CompositeLayerPlate.h | ||
virtual void PostLoad() |
Layers/CompositeLayerPlate.h | ||
virtual void PostTransacted
(
const FTransactionObjectEvent& InTransactionEvent |
Layers/CompositeLayerPlate.h | ||
virtual void PreEditChange
(
FProperty* PropertyThatWillChange |
Layers/CompositeLayerPlate.h |
Overridden from FTickableGameObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual UWorld * GetTickableGameObjectWorld() |
Layers/CompositeLayerPlate.h | ||
virtual bool IsTickableInEditor() |
Layers/CompositeLayerPlate.h | ||
virtual bool IsTickableWhenPaused() |
Layers/CompositeLayerPlate.h |
Overridden from FTickableObjectBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TStatId GetStatId() |
Layers/CompositeLayerPlate.h | ||
virtual ETickableTickType GetTickableTickType() |
Layers/CompositeLayerPlate.h | ||
virtual bool IsTickable() |
Layers/CompositeLayerPlate.h | ||
virtual void Tick
(
float DeltaTime |
Layers/CompositeLayerPlate.h |