FDynamicMeshEmitterData

Dynamic emitter data for Mesh emitters

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/ParticleHelper.h

Include

#include "ParticleHelper.h"

Syntax

struct FDynamicMeshEmitterData : public FDynamicSpriteEmitterDataBase

Remarks

Dynamic emitter data for Mesh emitters

Variables

Name Description

Public variable

uint32: 1

 

bApplyParticleRotationAsSpin

If true, apply 'sprite' particle rotation about the orientation axis (direction mesh is pointing).

Public variable

uint32: 1

 

bApplyPreRotation

'orientation' items...

Public variable

uint32: 1

 

bFaceCameraDirectionRatherThanPosition

If true, all camera facing options will point the mesh against the camera's view direction rather than pointing at the cameras location.

Public variable

uint32: 1

 

bUseCameraFacing

If true, then use the camera facing options supplied. Trumps all other settings.

Public variable

uint32: 1

 

bUseMeshLockedAxis

If true, then use the locked axis setting supplied.

Public variable

bool

 

bUseStaticMeshLODs

Public variable

uint8

 

CameraFacingOption

The EMeshCameraFacingOption setting to use if bUseCameraFacing is true.

Public variable

const FParticle...

 

EmitterInstance

Public variable

int32

 

LastCalculatedMeshLOD

Public variable

int32

 

LastFramePreRendered

Public variable

float

 

LODSizeScale

Public variable

TArray< FMateri...

 

MeshMaterials

Public variable

uint32

 

MeshTypeDataOffset

Offset to FMeshTypeDataPayload

Public variable

FDynamicMeshEmi...

 

Source

The frame source data for this particle system.

Public variable

UStaticMesh ...

 

StaticMesh

Constructors

Name Description

Public function

FDynamicMeshEmitterData

(
    const UParticleModuleRequired*...
)

Destructors

Name Description

Public function Virtual

~FDynamicMeshEmitterData()

Functions

Name Description

Public function Const

void

 

CalculateParticleTransform

(
    const FMatrix& ProxyLocalToWorld,
    const FVector& ParticleLocation,
    float ParticleRotation,
    const FVector& ParticleVelocity,
    const FVector& ParticleSize,
    const FVector& ParticlePayloadInit...,
    const FVector& ParticlePayloadRota...,
    const FVector& ParticlePayloadCame...,
    const FVector& ParticlePayloadOrbi...,
    const FVector& ViewOrigin,
    const FVector& ViewDirection,
    FMatrix& OutTransformMat
)

Public function Const

void

 

GetInstanceData

(
    void* InstanceData,
    void* DynamicParameterData,
    void* PrevTransformBuffer,
    const FParticleSystemSceneProxy...,
    const FSceneView* View,
    uint32 InstanceFactor
)

Retrieve the instance data required to render this emitter. Render-thread only

Public function Const

uint32

 

GetMeshLODIndexFromProxy

(
    const FParticleSystemSceneProxy...
)

Public function Const

void

 

GetParticlePrevTransform

(
    const FBaseParticle& InParticle,
    const FParticleSystemSceneProxy...,
    const FSceneView* View,
    FMatrix& OutTransformMat
)

Public function Const

void

 

GetParticleTransform

(
    const FBaseParticle& InParticle,
    const FParticleSystemSceneProxy...,
    const FSceneView* View,
    FMatrix& OutTransformMat
)

Helper function for retrieving the particle transform.

Public function

void

 

Init

(
    bool bInSelected,
    const FParticleMeshEmitterInstance ...,
    UStaticMesh* InStaticMesh,
    bool InUseStaticMeshLODs,
    float InLODSizeScale,
    ERHIFeatureLevel::Type InFeatureLev...
)

Initialize this emitter's dynamic rendering data, called after source data has been filled in

Public function Const

void

 

SetupVertexFactory

(
    FMeshParticleVertexFactory* In...,
    const FStaticMeshLODResources& LOD...,
    uint32 LODIdx
)

Initialize this emitter's vertex factory with the vertex buffers from the mesh's rendering data.

Overridden from FDynamicSpriteEmitterDataBase

Name Description

Public function Virtual Const

int32

 

GetDynamicParameterVertexStride()

Get the vertex stride for the dynamic parameter rendering data

Public function Virtual Const

int32

 

GetDynamicVertexStride

Get the vertex stride for the dynamic rendering data

Public function Virtual Const

const FDynam...

 

GetSourceData()

Get the source replay data for this emitter

Overridden from FDynamicEmitterDataBase

Name Description

Public function Virtual

FParticleVer...

 

BuildVertexFactory

(
    const FParticleSystemSceneProxy...
)

Create the vertex factory for this emitter data

Public function Virtual

FParticleVer...

 

CreateVertexFactory

(
    ERHIFeatureLevel::Type InFeatureLev...,
    const FParticleSystemSceneProxy...
)

Public function Virtual Const

void

 

GatherSimpleLights

(
    const FParticleSystemSceneProxy...,
    const FSceneViewFamily& ViewFamily,
    FSimpleLightArray& OutParticleLigh...
)

Gathers simple lights for this emitter.

Public function Virtual Const

void

 

GetDynamicMeshElementsEmitter

(
    const FParticleSystemSceneProxy...,
    const FSceneView* View,
    const FSceneViewFamily& ViewFamily,
    int32 ViewIndex,
    FMeshElementCollector& Collector,
    FParticleVertexFactoryBase* Ve...
)

Public function Virtual Const

const FDynam...

 

GetSource()

Returns the source data for this particle system

Public function Virtual

void

 

ReleaseRenderThreadResources

(
    const FParticleSystemSceneProxy...
)

Release the render thread resources for this emitter data

Public function Virtual

void

 

UpdateRenderThreadResourcesEmitter

(
    const FParticleSystemSceneProxy...
)

Create the render thread resources for this emitter data

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss